def compare_and_set_full_range(edid, status, model, dry_run=False, force=False): """ Returns True if full range is changed TODO: What is this for? """ if status['full_range'] == edid['target_full_range'] and not force: logger.debug('Config full range change not needed.') return False hdmi_pixel_encoding = 2 if edid['target_full_range'] else 0 logger.info( 'Config full range change needed. Setting hdmi_pixel_encoding to {}'. format(hdmi_pixel_encoding)) if dry_run and not force: return True set_config_value('hdmi_pixel_encoding', hdmi_pixel_encoding, config_filter=Filter.get_edid_filter(model)) return True
def compare_and_set_full_range(edid, status, model, dry_run=False, force=False): """ Returns True if full range is changed TODO: What is this for? """ if status['full_range'] == edid['target_full_range'] and not force: logger.debug('Config full range change not needed.') return False hdmi_pixel_encoding = 2 if edid['target_full_range'] else 0 logger.info( 'Config full range change needed. Setting hdmi_pixel_encoding to {}' .format(hdmi_pixel_encoding) ) if dry_run and not force: return True set_config_value( 'hdmi_pixel_encoding', hdmi_pixel_encoding, config_filter=Filter.get_edid_filter(model) ) return True
def compare_and_set_overscan(edid, status, model, dry_run=False, force=False): """ Check the overscan status and set it as required from EDID. Args: edid - dict as returned by the function get_edid() status - dict as returned by the function get_status() model - str as return by the function get_edid_name() dry_run - bool run the function, but do not apply any changes force - bool reconfigure settings even when the status says it's not needed Returns: changes - bool whether or not changes were applied """ if status['overscan'] == edid['target_overscan'] and not force: logger.debug('Config overscan change not needed.') return False if edid['target_overscan']: disable_overscan = 0 overscan_value = -48 # TODO: where does this value come from? else: disable_overscan = 1 overscan_value = 0 logger.info( 'Overscan change needed. Setting disable_overscan to {} and overscan to {}' .format(disable_overscan, overscan_value) ) if dry_run and not force: return True set_config_value( 'disable_overscan', disable_overscan, config_filter=Filter.get_edid_filter(model) ) for overscan in ['overscan_left', 'overscan_right', 'overscan_top', 'overscan_bottom']: set_config_value( overscan, overscan_value, config_filter=Filter.get_edid_filter(model) ) return True
def get_screen_value(key, fallback=True): monitor_edid_filter = Filter.get_edid_filter(get_edid_name()) return get_config_value(key, config_filter=monitor_edid_filter, fallback=fallback)
def set_screen_value(key, value): monitor_edid_filter = Filter.get_edid_filter(get_edid_name()) set_config_value(key, value, config_filter=monitor_edid_filter)
def set_screen_value(key, value, and_global=False): monitor_edid_filter = Filter.get_edid_filter(get_edid_name()) set_config_value(key, value, config_filter=monitor_edid_filter) if and_global: set_config_value(key, value)
def get_screen_value(key, fallback=True): monitor_edid_filter = Filter.get_edid_filter(get_edid_name()) return get_config_value( key, config_filter=monitor_edid_filter, fallback=fallback )