diff --git a/frontend/menu/rgui.c b/frontend/menu/rgui.c index 54088325b7..dff32ea568 100644 --- a/frontend/menu/rgui.c +++ b/frontend/menu/rgui.c @@ -975,14 +975,11 @@ static int rgui_settings_toggle_setting(rgui_handle_t *rgui, unsigned setting, r #endif case RGUI_SETTINGS_REWIND_GRANULARITY: if (action == RGUI_ACTION_OK || action == RGUI_ACTION_RIGHT) - g_settings.rewind_granularity++; + settings_set(1ULL << S_REWIND_GRANULARITY_INCREMENT); else if (action == RGUI_ACTION_LEFT) - { - if (g_settings.rewind_granularity > 1) - g_settings.rewind_granularity--; - } + settings_set(1ULL << S_REWIND_GRANULARITY_DECREMENT); else if (action == RGUI_ACTION_START) - g_settings.rewind_granularity = 1; + settings_set(1ULL << S_DEF_REWIND_GRANULARITY); break; case RGUI_SETTINGS_CONFIG_SAVE_ON_EXIT: if (action == RGUI_ACTION_OK || action == RGUI_ACTION_RIGHT diff --git a/general.h b/general.h index b743ccc3c8..9930af8898 100644 --- a/general.h +++ b/general.h @@ -657,6 +657,9 @@ enum S_INPUT_OVERLAY_SCALE_DECREMENT, S_INPUT_OVERLAY_SCALE_INCREMENT, S_VIDEO_VSYNC_TOGGLE, + S_REWIND_GRANULARITY_DECREMENT, + S_REWIND_GRANULARITY_INCREMENT, + S_DEF_REWIND_GRANULARITY, S_DEF_ASPECT_RATIO, S_DEF_VIDEO_VSYNC, S_DEF_INPUT_OVERLAY_OPACITY, diff --git a/settings.c b/settings.c index 9808b9de3d..d375437986 100644 --- a/settings.c +++ b/settings.c @@ -1172,6 +1172,18 @@ void settings_set(uint64_t settings) g_settings.input.overlay_opacity = 1.0f; #endif + if (settings & (1ULL << S_REWIND_GRANULARITY_INCREMENT)) + g_settings.rewind_granularity++; + + if (settings & (1ULL << S_REWIND_GRANULARITY_DECREMENT)) + { + if (g_settings.rewind_granularity > 1) + g_settings.rewind_granularity--; + } + + if (settings & (1ULL << S_DEF_REWIND_GRANULARITY)) + g_settings.rewind_granularity = 1; + if (settings & (1ULL << S_VIDEO_VSYNC_TOGGLE)) g_settings.video.vsync = !g_settings.video.vsync;