diff --git a/menu/cbs/menu_cbs_deferred_push.c b/menu/cbs/menu_cbs_deferred_push.c index 2d77c74e0c..1524d0562f 100644 --- a/menu/cbs/menu_cbs_deferred_push.c +++ b/menu/cbs/menu_cbs_deferred_push.c @@ -99,6 +99,16 @@ static int deferred_push_driver_settings_list(menu_displaylist_info_t *info) return deferred_push_dlist(info, DISPLAYLIST_DRIVER_SETTINGS_LIST); } +static int deferred_push_video_settings_list(menu_displaylist_info_t *info) +{ + return deferred_push_dlist(info, DISPLAYLIST_VIDEO_SETTINGS_LIST); +} + +static int deferred_push_audio_settings_list(menu_displaylist_info_t *info) +{ + return deferred_push_dlist(info, DISPLAYLIST_AUDIO_SETTINGS_LIST); +} + static int deferred_push_input_settings_list(menu_displaylist_info_t *info) { return deferred_push_dlist(info, DISPLAYLIST_INPUT_SETTINGS_LIST); @@ -802,6 +812,12 @@ static int menu_cbs_init_bind_deferred_push_compare_label( case MENU_ENUM_LABEL_CONTENT_HISTORY_PATH: BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_content_history_path); break; + case MENU_ENUM_LABEL_DEFERRED_VIDEO_SETTINGS_LIST: + BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_video_settings_list); + break; + case MENU_ENUM_LABEL_DEFERRED_AUDIO_SETTINGS_LIST: + BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_audio_settings_list); + break; case MENU_ENUM_LABEL_DOWNLOADED_FILE_DETECT_CORE_LIST: case MENU_ENUM_LABEL_DETECT_CORE_LIST: BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_detect_core_list); @@ -824,6 +840,12 @@ static int menu_cbs_init_bind_deferred_push_compare_label( case MENU_LABEL_DEFERRED_DRIVER_SETTINGS_LIST: BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_driver_settings_list); break; + case MENU_LABEL_DEFERRED_VIDEO_SETTINGS_LIST: + BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_video_settings_list); + break; + case MENU_LABEL_DEFERRED_AUDIO_SETTINGS_LIST: + BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_audio_settings_list); + break; case MENU_LABEL_DEFERRED_INPUT_SETTINGS_LIST: BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_input_settings_list); break; diff --git a/menu/cbs/menu_cbs_ok.c b/menu/cbs/menu_cbs_ok.c index f389660162..dc43d8d65c 100644 --- a/menu/cbs/menu_cbs_ok.c +++ b/menu/cbs/menu_cbs_ok.c @@ -419,6 +419,18 @@ int generic_action_ok_displaylist_push(const char *path, info_path = path; info_label = menu_hash_to_str_enum(MENU_ENUM_LABEL_DEFERRED_DRIVER_SETTINGS_LIST); break; + case ACTION_OK_DL_VIDEO_SETTINGS_LIST: + info.directory_ptr = idx; + info.type = type; + info_path = path; + info_label = menu_hash_to_str_enum(MENU_ENUM_LABEL_DEFERRED_VIDEO_SETTINGS_LIST); + break; + case ACTION_OK_DL_AUDIO_SETTINGS_LIST: + info.directory_ptr = idx; + info.type = type; + info_path = path; + info_label = menu_hash_to_str_enum(MENU_ENUM_LABEL_DEFERRED_AUDIO_SETTINGS_LIST); + break; case ACTION_OK_DL_INPUT_HOTKEY_BINDS_LIST: info.directory_ptr = idx; info.type = type; @@ -2272,6 +2284,20 @@ static int action_ok_push_driver_settings_list(const char *path, ACTION_OK_DL_DRIVER_SETTINGS_LIST); } +static int action_ok_push_video_settings_list(const char *path, + const char *label, unsigned type, size_t idx, size_t entry_idx) +{ + return generic_action_ok_displaylist_push(path, label, 0, 0, entry_idx, + ACTION_OK_DL_VIDEO_SETTINGS_LIST); +} + +static int action_ok_push_audio_settings_list(const char *path, + const char *label, unsigned type, size_t idx, size_t entry_idx) +{ + return generic_action_ok_displaylist_push(path, label, 0, 0, entry_idx, + ACTION_OK_DL_AUDIO_SETTINGS_LIST); +} + static int action_ok_push_input_settings_list(const char *path, const char *label, unsigned type, size_t idx, size_t entry_idx) { @@ -2646,6 +2672,12 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs, case MENU_ENUM_LABEL_DRIVER_SETTINGS: BIND_ACTION_OK(cbs, action_ok_push_driver_settings_list); break; + case MENU_ENUM_LABEL_VIDEO_SETTINGS: + BIND_ACTION_OK(cbs, action_ok_push_video_settings_list); + break; + case MENU_ENUM_LABEL_AUDIO_SETTINGS: + BIND_ACTION_OK(cbs, action_ok_push_audio_settings_list); + break; case MENU_ENUM_LABEL_PLAYLIST_SETTINGS: BIND_ACTION_OK(cbs, action_ok_push_playlist_settings_list); break; @@ -2880,6 +2912,12 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs, case MENU_LABEL_DRIVER_SETTINGS: BIND_ACTION_OK(cbs, action_ok_push_driver_settings_list); break; + case MENU_LABEL_VIDEO_SETTINGS: + BIND_ACTION_OK(cbs, action_ok_push_video_settings_list); + break; + case MENU_LABEL_AUDIO_SETTINGS: + BIND_ACTION_OK(cbs, action_ok_push_audio_settings_list); + break; case MENU_LABEL_PLAYLIST_SETTINGS: BIND_ACTION_OK(cbs, action_ok_push_playlist_settings_list); break; diff --git a/menu/cbs/menu_cbs_title.c b/menu/cbs/menu_cbs_title.c index 459a6e2067..0079cab056 100644 --- a/menu/cbs/menu_cbs_title.c +++ b/menu/cbs/menu_cbs_title.c @@ -439,6 +439,20 @@ static int action_get_driver_settings_list(const char *path, const char *label, return 0; } +static int action_get_video_settings_list(const char *path, const char *label, + unsigned menu_type, char *s, size_t len) +{ + sanitize_to_string(s, menu_hash_to_str_enum(MENU_ENUM_LABEL_VALUE_VIDEO_SETTINGS), len); + return 0; +} + +static int action_get_audio_settings_list(const char *path, const char *label, + unsigned menu_type, char *s, size_t len) +{ + sanitize_to_string(s, menu_hash_to_str_enum(MENU_ENUM_LABEL_VALUE_AUDIO_SETTINGS), len); + return 0; +} + static int action_get_input_settings_list(const char *path, const char *label, unsigned menu_type, char *s, size_t len) { @@ -894,6 +908,12 @@ static int menu_cbs_init_bind_title_compare_label(menu_file_list_cbs_t *cbs, case MENU_ENUM_LABEL_DEFERRED_DRIVER_SETTINGS_LIST: BIND_ACTION_GET_TITLE(cbs, action_get_driver_settings_list); break; + case MENU_ENUM_LABEL_DEFERRED_VIDEO_SETTINGS_LIST: + BIND_ACTION_GET_TITLE(cbs, action_get_video_settings_list); + break; + case MENU_ENUM_LABEL_DEFERRED_AUDIO_SETTINGS_LIST: + BIND_ACTION_GET_TITLE(cbs, action_get_audio_settings_list); + break; case MENU_ENUM_LABEL_DEFERRED_INPUT_SETTINGS_LIST: BIND_ACTION_GET_TITLE(cbs, action_get_input_settings_list); break; @@ -1167,6 +1187,12 @@ static int menu_cbs_init_bind_title_compare_label(menu_file_list_cbs_t *cbs, case MENU_LABEL_DEFERRED_DRIVER_SETTINGS_LIST: BIND_ACTION_GET_TITLE(cbs, action_get_driver_settings_list); break; + case MENU_LABEL_DEFERRED_VIDEO_SETTINGS_LIST: + BIND_ACTION_GET_TITLE(cbs, action_get_video_settings_list); + break; + case MENU_LABEL_DEFERRED_AUDIO_SETTINGS_LIST: + BIND_ACTION_GET_TITLE(cbs, action_get_audio_settings_list); + break; case MENU_LABEL_DEFERRED_INPUT_SETTINGS_LIST: BIND_ACTION_GET_TITLE(cbs, action_get_input_settings_list); break; diff --git a/menu/intl/menu_hash_us.c b/menu/intl/menu_hash_us.c index b36e0da23f..22e9e0e6f0 100644 --- a/menu/intl/menu_hash_us.c +++ b/menu/intl/menu_hash_us.c @@ -130,6 +130,10 @@ static const char *menu_hash_to_str_us_label_enum(enum menu_hash_enums msg) return "deferred_input_settings_list"; case MENU_ENUM_LABEL_DEFERRED_DRIVER_SETTINGS_LIST: return "deferred_driver_settings_list"; + case MENU_ENUM_LABEL_DEFERRED_AUDIO_SETTINGS_LIST: + return "deferred_audio_settings_list"; + case MENU_ENUM_LABEL_DEFERRED_VIDEO_SETTINGS_LIST: + return "deferred_video_settings_list"; case MENU_ENUM_LABEL_ACCOUNTS_LIST: return "accounts_list"; case MENU_ENUM_LABEL_DEFERRED_INPUT_HOTKEY_BINDS_LIST: @@ -150,6 +154,10 @@ static const char *menu_hash_to_str_us_label_enum(enum menu_hash_enums msg) return "input_settings"; case MENU_ENUM_LABEL_DRIVER_SETTINGS: return "driver_settings"; + case MENU_ENUM_LABEL_VIDEO_SETTINGS: + return "video_settings"; + case MENU_ENUM_LABEL_AUDIO_SETTINGS: + return "audio_settings"; case MENU_ENUM_LABEL_DEBUG_PANEL_ENABLE: return "debug_panel_enable"; case MENU_ENUM_LABEL_HELP_SCANNING_CONTENT: diff --git a/menu/menu_cbs.c b/menu/menu_cbs.c index d7c175f799..a4ea15b39c 100644 --- a/menu/menu_cbs.c +++ b/menu/menu_cbs.c @@ -22,7 +22,7 @@ #include "menu_cbs.h" #include "../verbosity.h" -#if 0 +#if 1 #define DEBUG_LOG #endif diff --git a/menu/menu_cbs.h b/menu/menu_cbs.h index 409985fe3d..6a73a6102c 100644 --- a/menu/menu_cbs.h +++ b/menu/menu_cbs.h @@ -55,6 +55,8 @@ enum ACTION_OK_DL_DOWNLOADS_DIR, ACTION_OK_DL_INPUT_SETTINGS_LIST, ACTION_OK_DL_DRIVER_SETTINGS_LIST, + ACTION_OK_DL_VIDEO_SETTINGS_LIST, + ACTION_OK_DL_AUDIO_SETTINGS_LIST, ACTION_OK_DL_INPUT_HOTKEY_BINDS_LIST, ACTION_OK_DL_PLAYLIST_SETTINGS_LIST, ACTION_OK_DL_ACCOUNTS_LIST, diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index 570285ec8a..d6399cde55 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -2182,6 +2182,9 @@ static int menu_displaylist_parse_settings_internal(void *data, case PARSE_ONLY_STRING: precond = ST_STRING; break; + case PARSE_ONLY_PATH: + precond = ST_PATH; + break; case PARSE_ONLY_STRING_OPTIONS: precond = ST_STRING_OPTIONS; break; @@ -2248,6 +2251,10 @@ static int menu_displaylist_parse_settings_internal(void *data, if (type == ST_STRING) break; goto loop; + case PARSE_ONLY_PATH: + if (type == ST_PATH) + break; + goto loop; case PARSE_ONLY_STRING_OPTIONS: if (type == ST_STRING_OPTIONS) break; @@ -2279,6 +2286,7 @@ loop: case PARSE_ONLY_INT: case PARSE_ONLY_UINT: case PARSE_ONLY_STRING: + case PARSE_ONLY_PATH: case PARSE_ONLY_STRING_OPTIONS: case PARSE_ACTION: time_to_exit = true; @@ -2343,6 +2351,9 @@ static int menu_displaylist_parse_settings_internal_enum(void *data, case PARSE_ONLY_STRING: precond = ST_STRING; break; + case PARSE_ONLY_PATH: + precond = ST_PATH; + break; case PARSE_ONLY_STRING_OPTIONS: precond = ST_STRING_OPTIONS; break; @@ -2409,6 +2420,10 @@ static int menu_displaylist_parse_settings_internal_enum(void *data, if (type == ST_STRING) break; goto loop; + case PARSE_ONLY_PATH: + if (type == ST_PATH) + break; + goto loop; case PARSE_ONLY_STRING_OPTIONS: if (type == ST_STRING_OPTIONS) break; @@ -2439,6 +2454,7 @@ loop: case PARSE_ONLY_BOOL: case PARSE_ONLY_INT: case PARSE_ONLY_UINT: + case PARSE_ONLY_PATH: case PARSE_ONLY_STRING: case PARSE_ONLY_STRING_OPTIONS: case PARSE_ACTION: @@ -3667,6 +3683,8 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data) case DISPLAYLIST_VIDEO_FILTERS: case DISPLAYLIST_INPUT_HOTKEY_BINDS_LIST: case DISPLAYLIST_DRIVER_SETTINGS_LIST: + case DISPLAYLIST_VIDEO_SETTINGS_LIST: + case DISPLAYLIST_AUDIO_SETTINGS_LIST: case DISPLAYLIST_INPUT_SETTINGS_LIST: case DISPLAYLIST_PLAYLIST_SETTINGS_LIST: case DISPLAYLIST_AUDIO_FILTERS: @@ -3963,6 +3981,142 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data) MENU_ENUM_LABEL_RECORD_DRIVER, PARSE_ONLY_STRING_OPTIONS, false); + info->need_refresh = true; + info->need_push = true; + break; + case DISPLAYLIST_VIDEO_SETTINGS_LIST: + menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_SUSPEND_SCREENSAVER_ENABLE, + PARSE_ONLY_BOOL, false); + menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_FPS_SHOW, + PARSE_ONLY_BOOL, false); + menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_VIDEO_MONITOR_INDEX, + PARSE_ONLY_UINT, false); + menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_VIDEO_FULLSCREEN, + PARSE_ONLY_BOOL, false); + menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_VIDEO_WINDOWED_FULLSCREEN, + PARSE_ONLY_BOOL, false); + menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_VIDEO_REFRESH_RATE, + PARSE_ONLY_FLOAT, false); + menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_VIDEO_REFRESH_RATE_AUTO, + PARSE_ONLY_FLOAT, false); + menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_VIDEO_FORCE_SRGB_DISABLE, + PARSE_ONLY_BOOL, false); + menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_VIDEO_ASPECT_RATIO_INDEX, + PARSE_ONLY_UINT, false); + menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_VIDEO_VIEWPORT_CUSTOM_X, + PARSE_ONLY_INT, false); + menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_VIDEO_VIEWPORT_CUSTOM_Y, + PARSE_ONLY_INT, false); + menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_VIDEO_VIEWPORT_CUSTOM_WIDTH, + PARSE_ONLY_UINT, false); + menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_VIDEO_VIEWPORT_CUSTOM_HEIGHT, + PARSE_ONLY_UINT, false); + menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_VIDEO_SCALE, + PARSE_ONLY_FLOAT, false); + menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_VIDEO_SCALE_INTEGER, + PARSE_ONLY_BOOL, false); + menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_VIDEO_VI_WIDTH, + PARSE_ONLY_UINT, false); + menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_VIDEO_VFILTER, + PARSE_ONLY_BOOL, false); + menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_VIDEO_SMOOTH, + PARSE_ONLY_BOOL, false); + menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_VIDEO_ROTATION, + PARSE_ONLY_UINT, false); + menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_VIDEO_THREADED, + PARSE_ONLY_BOOL, false); + menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_VIDEO_VSYNC, + PARSE_ONLY_BOOL, false); + menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_VIDEO_SWAP_INTERVAL, + PARSE_ONLY_UINT, false); + menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_VIDEO_HARD_SYNC, + PARSE_ONLY_BOOL, false); + menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_VIDEO_HARD_SYNC_FRAMES, + PARSE_ONLY_UINT, false); + menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_VIDEO_FRAME_DELAY, + PARSE_ONLY_UINT, false); + menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_VIDEO_BLACK_FRAME_INSERTION, + PARSE_ONLY_BOOL, false); + menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_VIDEO_GPU_SCREENSHOT, + PARSE_ONLY_BOOL, false); + menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_VIDEO_ALLOW_ROTATE, + PARSE_ONLY_BOOL, false); + menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_VIDEO_CROP_OVERSCAN, + PARSE_ONLY_BOOL, false); + menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_VIDEO_FILTER, + PARSE_ONLY_PATH, false); + + info->need_refresh = true; + info->need_push = true; + break; + case DISPLAYLIST_AUDIO_SETTINGS_LIST: + menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_AUDIO_ENABLE, + PARSE_ONLY_BOOL, false); + menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_AUDIO_MUTE, + PARSE_ONLY_BOOL, false); + menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_AUDIO_VOLUME, + PARSE_ONLY_FLOAT, false); + menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_SYSTEM_BGM_ENABLE, + PARSE_ONLY_BOOL, false); + menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_AUDIO_SYNC, + PARSE_ONLY_BOOL, false); + menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_AUDIO_LATENCY, + PARSE_ONLY_UINT, false); + menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_AUDIO_RATE_CONTROL_DELTA, + PARSE_ONLY_FLOAT, false); + menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_AUDIO_MAX_TIMING_SKEW, + PARSE_ONLY_FLOAT, false); + menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_AUDIO_BLOCK_FRAMES, + PARSE_ONLY_UINT, false); + menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_AUDIO_DEVICE, + PARSE_ONLY_STRING, false); + menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_AUDIO_OUTPUT_RATE, + PARSE_ONLY_UINT, false); + menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_AUDIO_DSP_PLUGIN, + PARSE_ONLY_PATH, false); + info->need_refresh = true; info->need_push = true; break; @@ -4026,10 +4180,10 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data) case DISPLAYLIST_SETTINGS_ALL: ret = menu_displaylist_parse_settings_enum(menu, info, MENU_ENUM_LABEL_DRIVER_SETTINGS, PARSE_ACTION, false); - ret = menu_displaylist_parse_settings(menu, info, - menu_hash_to_str_enum(MENU_ENUM_LABEL_VALUE_VIDEO_SETTINGS), PARSE_ONLY_GROUP, false); - ret = menu_displaylist_parse_settings(menu, info, - menu_hash_to_str_enum(MENU_ENUM_LABEL_VALUE_AUDIO_SETTINGS), PARSE_ONLY_GROUP, false); + ret = menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_VIDEO_SETTINGS, PARSE_ACTION, false); + ret = menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_AUDIO_SETTINGS, PARSE_ACTION, false); ret = menu_displaylist_parse_settings_enum(menu, info, MENU_ENUM_LABEL_INPUT_SETTINGS, PARSE_ACTION, false); ret = menu_displaylist_parse_settings(menu, info, diff --git a/menu/menu_displaylist.h b/menu/menu_displaylist.h index 91dbe69dd3..726db17cb2 100644 --- a/menu/menu_displaylist.h +++ b/menu/menu_displaylist.h @@ -42,8 +42,9 @@ enum menu_displaylist_parse_type PARSE_ONLY_BIND = (1 << 7), PARSE_ONLY_GROUP = (1 << 8), PARSE_ONLY_STRING = (1 << 9), - PARSE_ONLY_STRING_OPTIONS = (1 << 10), - PARSE_SUB_GROUP = (1 << 11) + PARSE_ONLY_PATH = (1 << 10), + PARSE_ONLY_STRING_OPTIONS = (1 << 11), + PARSE_SUB_GROUP = (1 << 12) }; enum menu_displaylist_ctl_state @@ -100,6 +101,8 @@ enum menu_displaylist_ctl_state DISPLAYLIST_USER_BINDS_LIST, DISPLAYLIST_ACCOUNTS_LIST, DISPLAYLIST_DRIVER_SETTINGS_LIST, + DISPLAYLIST_VIDEO_SETTINGS_LIST, + DISPLAYLIST_AUDIO_SETTINGS_LIST, DISPLAYLIST_INPUT_SETTINGS_LIST, DISPLAYLIST_INPUT_HOTKEY_BINDS_LIST, DISPLAYLIST_PLAYLIST_SETTINGS_LIST, diff --git a/menu/menu_hash.h b/menu/menu_hash.h index 55575c4532..067a1ad719 100644 --- a/menu/menu_hash.h +++ b/menu/menu_hash.h @@ -132,6 +132,8 @@ enum menu_hash_enums MENU_ENUM_LABEL_DEFERRED_INPUT_SETTINGS_LIST, MENU_ENUM_LABEL_DEFERRED_DRIVER_SETTINGS_LIST, + MENU_ENUM_LABEL_DEFERRED_VIDEO_SETTINGS_LIST, + MENU_ENUM_LABEL_DEFERRED_AUDIO_SETTINGS_LIST, MENU_ENUM_LABEL_DEFERRED_USER_BINDS_LIST, @@ -969,18 +971,21 @@ enum menu_hash_enums MENU_ENUM_LABEL_DRIVER_SETTINGS, MENU_ENUM_LABEL_VALUE_DRIVER_SETTINGS, + MENU_ENUM_LABEL_VIDEO_SETTINGS, + MENU_ENUM_LABEL_VALUE_VIDEO_SETTINGS, + + MENU_ENUM_LABEL_AUDIO_SETTINGS, + MENU_ENUM_LABEL_VALUE_AUDIO_SETTINGS, + MENU_ENUM_LABEL_VALUE_CORE_SETTINGS, MENU_ENUM_LABEL_VALUE_CONFIGURATION_SETTINGS, MENU_ENUM_LABEL_VALUE_LOGGING_SETTINGS, MENU_ENUM_LABEL_VALUE_SAVING_SETTINGS, MENU_ENUM_LABEL_VALUE_REWIND_SETTINGS, - MENU_ENUM_LABEL_VALUE_VIDEO_SETTINGS, MENU_ENUM_LABEL_RECORDING_SETTINGS, MENU_ENUM_LABEL_VALUE_RECORDING_SETTINGS, MENU_ENUM_LABEL_SHADER_SETTINGS, MENU_ENUM_LABEL_FONT_SETTINGS, - MENU_ENUM_LABEL_AUDIO_SETTINGS, - MENU_ENUM_LABEL_VALUE_AUDIO_SETTINGS, MENU_ENUM_LABEL_INPUT_HOTKEY_SETTINGS, MENU_ENUM_LABEL_OVERLAY_SETTINGS, MENU_ENUM_LABEL_VALUE_OVERLAY_SETTINGS, @@ -2134,7 +2139,7 @@ enum menu_hash_enums #define MENU_LABEL_VALUE_RECORDING_SETTINGS 0x1a80b313U #define MENU_LABEL_SHADER_SETTINGS 0xd6657e8dU #define MENU_LABEL_FONT_SETTINGS 0x67571029U -#define MENU_LABEL_AUDIO_SETTINGS 0x8f74c888U +#define MENU_LABEL_AUDIO_SETTINGS 0x2a566807U #define MENU_LABEL_VALUE_AUDIO_SETTINGS 0x8f74c888U #define MENU_LABEL_VALUE_INPUT_SETTINGS 0xddd30846U #define MENU_LABEL_INPUT_HOTKEY_SETTINGS 0x1cb39c19U @@ -2410,6 +2415,10 @@ enum menu_hash_enums #define MENU_LABEL_DRIVER_SETTINGS 0x1d9550e1U #define MENU_LABEL_DEFERRED_DRIVER_SETTINGS_LIST 0xaa5efefcU +#define MENU_LABEL_DEFERRED_VIDEO_SETTINGS_LIST 0x83c65827U +#define MENU_LABEL_DEFERRED_AUDIO_SETTINGS_LIST 0x5bba25e2U + +#define MENU_LABEL_VIDEO_SETTINGS 0x38b3db2cU const char *menu_hash_to_str_de_enum(enum menu_hash_enums msg); int menu_hash_get_help_de(uint32_t hash, char *s, size_t len); diff --git a/menu/menu_setting.c b/menu/menu_setting.c index 37e8b609de..ff0061ae46 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -4164,6 +4164,24 @@ static bool setting_append_list( parent_group); menu_settings_list_current_add_enum_idx(list, list_info, MENU_ENUM_LABEL_DRIVER_SETTINGS); + CONFIG_ACTION( + list, list_info, + menu_hash_to_str_enum(MENU_ENUM_LABEL_VIDEO_SETTINGS), + menu_hash_to_str_enum(MENU_ENUM_LABEL_VALUE_VIDEO_SETTINGS), + &group_info, + &subgroup_info, + parent_group); + menu_settings_list_current_add_enum_idx(list, list_info, MENU_ENUM_LABEL_VIDEO_SETTINGS); + + CONFIG_ACTION( + list, list_info, + menu_hash_to_str_enum(MENU_ENUM_LABEL_AUDIO_SETTINGS), + menu_hash_to_str_enum(MENU_ENUM_LABEL_VALUE_AUDIO_SETTINGS), + &group_info, + &subgroup_info, + parent_group); + menu_settings_list_current_add_enum_idx(list, list_info, MENU_ENUM_LABEL_AUDIO_SETTINGS); + CONFIG_ACTION( list, list_info, menu_hash_to_str_enum(MENU_ENUM_LABEL_INPUT_SETTINGS), @@ -4784,6 +4802,7 @@ static bool setting_append_list( break; case SETTINGS_LIST_VIDEO: START_GROUP(list, list_info, &group_info, menu_hash_to_str_enum(MENU_ENUM_LABEL_VALUE_VIDEO_SETTINGS), parent_group); + menu_settings_list_current_add_enum_idx(list, list_info, MENU_ENUM_LABEL_VIDEO_SETTINGS); parent_group = menu_hash_to_str_enum(MENU_ENUM_LABEL_VALUE_SETTINGS); @@ -5367,6 +5386,7 @@ static bool setting_append_list( case SETTINGS_LIST_AUDIO: START_GROUP(list, list_info, &group_info, menu_hash_to_str_enum(MENU_ENUM_LABEL_VALUE_AUDIO_SETTINGS), parent_group); + menu_settings_list_current_add_enum_idx(list, list_info, MENU_ENUM_LABEL_AUDIO_SETTINGS); parent_group = menu_hash_to_str_enum(MENU_ENUM_LABEL_VALUE_SETTINGS);