From afcc9657d27893323864c59c80db5555405e52a6 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Mon, 25 Jul 2016 11:59:38 +0200 Subject: [PATCH] Refactor settings --- audio/audio_driver.c | 4 ++-- command.c | 2 +- configuration.c | 26 +++++++++++++------------- configuration.h | 6 +++--- input/input_overlay.c | 2 +- menu/menu_setting.c | 6 +++--- runloop.c | 10 +++++----- 7 files changed, 28 insertions(+), 28 deletions(-) diff --git a/audio/audio_driver.c b/audio/audio_driver.c index e4bc07a957..9e7537d862 100644 --- a/audio/audio_driver.c +++ b/audio/audio_driver.c @@ -315,7 +315,7 @@ static bool audio_driver_init_internal(bool audio_cb_inited) /* Accomodate rewind since at some point we might have two full buffers. */ outsamples_max = max_bufsamples * AUDIO_MAX_RATIO * - settings->slowmotion_ratio; + settings->slowmotion_ratio.value; audio_driver_data.output_samples.conv_buf = (int16_t*)malloc(outsamples_max * sizeof(int16_t)); @@ -577,7 +577,7 @@ static bool audio_driver_flush(const int16_t *data, size_t samples) src_data.ratio = audio_driver_data.audio_rate.source_ratio.current; if (runloop_ctl(RUNLOOP_CTL_IS_SLOWMOTION, NULL)) - src_data.ratio *= settings->slowmotion_ratio; + src_data.ratio *= settings->slowmotion_ratio.value; audio_driver_process_resampler(&src_data); diff --git a/command.c b/command.c index 5f79d17da5..9e9bce7eff 100644 --- a/command.c +++ b/command.c @@ -2164,7 +2164,7 @@ bool command_event(enum event_command cmd, void *data) break; case CMD_EVENT_OVERLAY_SET_SCALE_FACTOR: #ifdef HAVE_OVERLAY - input_overlay_set_scale_factor(NULL, settings->input.overlay_scale); + input_overlay_set_scale_factor(NULL, settings->input.overlay_scale.value); #endif break; case CMD_EVENT_OVERLAY_SET_ALPHA_MOD: diff --git a/configuration.c b/configuration.c index 815dfa9149..dda7988950 100644 --- a/configuration.c +++ b/configuration.c @@ -578,8 +578,8 @@ static void config_set_defaults(void) settings->rewind_enable = rewind_enable; settings->rewind_buffer_size = rewind_buffer_size; settings->rewind_granularity = rewind_granularity; - settings->slowmotion_ratio = slowmotion_ratio; - settings->fastforward_ratio = fastforward_ratio; + settings->slowmotion_ratio.value = slowmotion_ratio; + settings->fastforward_ratio.value = fastforward_ratio; settings->pause_nonactive = pause_nonactive; settings->autosave_interval = autosave_interval; @@ -695,7 +695,7 @@ static void config_set_defaults(void) settings->input.overlay_enable_autopreferred = true; settings->input.overlay_hide_in_menu = overlay_hide_in_menu; settings->input.overlay_opacity = 0.7f; - settings->input.overlay_scale = 1.0f; + settings->input.overlay_scale.value = 1.0f; settings->input.autodetect_enable = input_autodetect_enable; *settings->input.keyboard_layout = '\0'; @@ -1421,9 +1421,9 @@ static bool config_load_file(const char *path, bool set_defaults) struct config_float_setting_ptr float_settings[] = { { "input_overlay_opacity", &settings->input.overlay_opacity}, - { "input_overlay_scale", &settings->input.overlay_scale}, - { "slowmotion_ratio", &settings->slowmotion_ratio}, - { "fastforward_ratio", &settings->fastforward_ratio}, + { "input_overlay_scale", &settings->input.overlay_scale.value}, + { "slowmotion_ratio", &settings->slowmotion_ratio.value}, + { "fastforward_ratio", &settings->fastforward_ratio.value}, { "menu_wallpaper_opacity", &settings->menu.wallpaper.opacity}, { "menu_footer_opacity", &settings->menu.footer.opacity}, { "menu_header_opacity", &settings->menu.header.opacity}, @@ -1898,13 +1898,13 @@ static bool config_load_file(const char *path, bool set_defaults) if (string_is_equal(settings->directory.system, "default")) *settings->directory.system = '\0'; - if (settings->slowmotion_ratio < 1.0f) - settings->slowmotion_ratio = 1.0f; + if (settings->slowmotion_ratio.value < 1.0f) + settings->slowmotion_ratio.value = 1.0f; /* Sanitize fastforward_ratio value - previously range was -1 * and up (with 0 being skipped) */ - if (settings->fastforward_ratio < 0.0f) - settings->fastforward_ratio = 0.0f; + if (settings->fastforward_ratio.value < 0.0f) + settings->fastforward_ratio.value = 0.0f; #ifdef HAVE_LAKKA settings->ssh_enable = path_file_exists(LAKKA_SSH_PATH); @@ -2827,7 +2827,7 @@ bool config_save_file(const char *path) { "video_font_size", settings->video.font_size}, #ifdef HAVE_OVERLAY { "input_overlay_opacity", settings->input.overlay_opacity}, - { "input_overlay_scale", settings->input.overlay_scale}, + { "input_overlay_scale", settings->input.overlay_scale.value}, #endif #ifdef HAVE_MENU { "menu_wallpaper_opacity", settings->menu.wallpaper.opacity}, @@ -2837,8 +2837,8 @@ bool config_save_file(const char *path) { "video_message_pos_x", settings->video.msg_pos_x}, { "video_message_pos_y", settings->video.msg_pos_y}, { "video_font_size", settings->video.font_size}, - { "fastforward_ratio", settings->fastforward_ratio}, - { "slowmotion_ratio", settings->slowmotion_ratio}, + { "fastforward_ratio", settings->fastforward_ratio.value}, + { "slowmotion_ratio", settings->slowmotion_ratio.value}, { "input_axis_threshold", settings->input.axis_threshold}, }; diff --git a/configuration.h b/configuration.h index bec344606e..8e4d6adac0 100644 --- a/configuration.h +++ b/configuration.h @@ -320,7 +320,7 @@ typedef struct settings bool overlay_enable_autopreferred; bool overlay_hide_in_menu; float overlay_opacity; - float overlay_scale; + struct config_float_setting overlay_scale; unsigned bind_timeout; bool input_descriptor_label_show; @@ -437,8 +437,8 @@ typedef struct settings size_t rewind_buffer_size; unsigned rewind_granularity; - float slowmotion_ratio; - float fastforward_ratio; + struct config_float_setting slowmotion_ratio; + struct config_float_setting fastforward_ratio; bool pause_nonactive; unsigned autosave_interval; diff --git a/input/input_overlay.c b/input/input_overlay.c index 5241d6daff..844498b51e 100644 --- a/input/input_overlay.c +++ b/input/input_overlay.c @@ -543,7 +543,7 @@ void input_overlay_loaded(void *task_data, void *user_data, const char *err) input_overlay_enable(ol, settings->osk.enable); else input_overlay_enable(ol, settings->input.overlay_enable); - input_overlay_set_scale_factor(ol, settings->input.overlay_scale); + input_overlay_set_scale_factor(ol, settings->input.overlay_scale.value); ol->next_index = (ol->index + 1) % ol->size; ol->state = OVERLAY_STATUS_NONE; diff --git a/menu/menu_setting.c b/menu/menu_setting.c index fbc4075d82..5243588284 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -6283,7 +6283,7 @@ static bool setting_append_list( CONFIG_FLOAT( list, list_info, - &settings->fastforward_ratio, + &settings->fastforward_ratio.value, msg_hash_to_str(MENU_ENUM_LABEL_FASTFORWARD_RATIO), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_FASTFORWARD_RATIO), fastforward_ratio, @@ -6299,7 +6299,7 @@ static bool setting_append_list( CONFIG_FLOAT( list, list_info, - &settings->slowmotion_ratio, + &settings->slowmotion_ratio.value, msg_hash_to_str(MENU_ENUM_LABEL_SLOWMOTION_RATIO), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SLOWMOTION_RATIO), slowmotion_ratio, @@ -6539,7 +6539,7 @@ static bool setting_append_list( CONFIG_FLOAT( list, list_info, - &settings->input.overlay_scale, + &settings->input.overlay_scale.value, msg_hash_to_str(MENU_ENUM_LABEL_OVERLAY_SCALE), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_OVERLAY_SCALE), 1.0f, diff --git a/runloop.c b/runloop.c index 6ee95c8a33..9299ba40ea 100644 --- a/runloop.c +++ b/runloop.c @@ -1329,7 +1329,7 @@ static int runloop_iterate_menu(enum menu_action action, unsigned *sleep_ms) return 1; } - if (!settings->menu.throttle_framerate && !settings->fastforward_ratio) + if (!settings->menu.throttle_framerate && !settings->fastforward_ratio.value) return 0; return -1; @@ -1367,8 +1367,8 @@ int runloop_iterate(unsigned *sleep_ms) struct retro_system_av_info *av_info = video_viewport_get_system_av_info(); float fastforward_ratio = - (settings->fastforward_ratio == 0.0f) - ? 1.0f : settings->fastforward_ratio; + (settings->fastforward_ratio.value == 0.0f) + ? 1.0f : settings->fastforward_ratio.value; frame_limit_last_time = cpu_features_get_time_usec(); frame_limit_minimum_time = (retro_time_t)roundf(1000000.0f @@ -1408,7 +1408,7 @@ int runloop_iterate(unsigned *sleep_ms) delta = runloop_frame_time.reference; if (!is_locked_fps && runloop_ctl(RUNLOOP_CTL_IS_SLOWMOTION, NULL)) - delta /= settings->slowmotion_ratio; + delta /= settings->slowmotion_ratio.value; runloop_frame_time_last = current; @@ -1541,7 +1541,7 @@ int runloop_iterate(unsigned *sleep_ms) autosave_unlock(); #endif - if (!settings->fastforward_ratio) + if (!settings->fastforward_ratio.value) return 0; #ifdef HAVE_MENU end: