From 94907678eb8867eaa43982b8a9bc44ed85099576 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Fri, 20 Dec 2019 01:18:08 +0100 Subject: [PATCH] (Menu) Add Audio -> output and Audio -> Synchronization --- intl/msg_hash_lbl.h | 8 +++ intl/msg_hash_us.h | 16 +++++ menu/cbs/menu_cbs_deferred_push.c | 10 ++++ menu/cbs/menu_cbs_ok.c | 14 +++++ menu/cbs/menu_cbs_sublabel.c | 8 +++ menu/cbs/menu_cbs_title.c | 4 ++ menu/menu_cbs.h | 2 + menu/menu_displaylist.c | 99 +++++++++++++++++-------------- menu/menu_displaylist.h | 2 + menu/menu_setting.c | 16 +++++ msg_hash.h | 4 ++ 11 files changed, 139 insertions(+), 44 deletions(-) diff --git a/intl/msg_hash_lbl.h b/intl/msg_hash_lbl.h index c4a83f9689..6d6f233d0f 100644 --- a/intl/msg_hash_lbl.h +++ b/intl/msg_hash_lbl.h @@ -60,6 +60,10 @@ MSG_HASH(MENU_ENUM_LABEL_AUDIO_RESAMPLER_DRIVER, "audio_resampler_driver") MSG_HASH(MENU_ENUM_LABEL_AUDIO_SETTINGS, "audio_settings") +MSG_HASH(MENU_ENUM_LABEL_AUDIO_SYNCHRONIZATION_SETTINGS, + "audio_synchronization_settings") +MSG_HASH(MENU_ENUM_LABEL_AUDIO_OUTPUT_SETTINGS, + "audio_output_settings") MSG_HASH(MENU_ENUM_LABEL_AUDIO_SYNC, "audio_sync") MSG_HASH(MENU_ENUM_LABEL_AUDIO_VOLUME, @@ -2159,3 +2163,7 @@ MSG_HASH(MENU_ENUM_LABEL_ACCESSIBILITY_ENABLED, "accessibility_enabled") MSG_HASH(MENU_ENUM_LABEL_ACCESSIBILITY_NARRATOR_SPEECH_SPEED, "accessibility_narrator_speech_speed") +MSG_HASH(MENU_ENUM_LABEL_DEFERRED_AUDIO_OUTPUT_SETTINGS_LIST, + "deferred_audio_output_settings_list") +MSG_HASH(MENU_ENUM_LABEL_DEFERRED_AUDIO_SYNCHRONIZATION_SETTINGS_LIST, + "deferred_audio_synchronization_settings_list") diff --git a/intl/msg_hash_us.h b/intl/msg_hash_us.h index 058217c07d..5264fadb04 100644 --- a/intl/msg_hash_us.h +++ b/intl/msg_hash_us.h @@ -10236,3 +10236,19 @@ MSG_HASH( MENU_ENUM_SUBLABEL_VIDEO_SYNCHRONIZATION_SETTINGS, "Change video synchronization settings." ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_AUDIO_OUTPUT_SETTINGS, + "Output" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_AUDIO_OUTPUT_SETTINGS, + "Change audio output settings." + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_AUDIO_SYNCHRONIZATION_SETTINGS, + "Synchronization" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_AUDIO_SYNCHRONIZATION_SETTINGS, + "Change audio synchronization settings." + ) diff --git a/menu/cbs/menu_cbs_deferred_push.c b/menu/cbs/menu_cbs_deferred_push.c index 956832fa8c..8fbce3dac0 100644 --- a/menu/cbs/menu_cbs_deferred_push.c +++ b/menu/cbs/menu_cbs_deferred_push.c @@ -183,6 +183,8 @@ generic_deferred_push(deferred_push_directory_settings_list, DISPLAYLIST_ generic_deferred_push(deferred_push_privacy_settings_list, DISPLAYLIST_PRIVACY_SETTINGS_LIST) generic_deferred_push(deferred_push_midi_settings_list, DISPLAYLIST_MIDI_SETTINGS_LIST) generic_deferred_push(deferred_push_audio_settings_list, DISPLAYLIST_AUDIO_SETTINGS_LIST) +generic_deferred_push(deferred_push_audio_output_settings_list, DISPLAYLIST_AUDIO_OUTPUT_SETTINGS_LIST) +generic_deferred_push(deferred_push_audio_synchronization_settings_list, DISPLAYLIST_AUDIO_SYNCHRONIZATION_SETTINGS_LIST) generic_deferred_push(deferred_push_audio_mixer_settings_list, DISPLAYLIST_AUDIO_MIXER_SETTINGS_LIST) generic_deferred_push(deferred_push_input_settings_list, DISPLAYLIST_INPUT_SETTINGS_LIST) generic_deferred_push(deferred_push_ai_service_settings_list, DISPLAYLIST_AI_SERVICE_SETTINGS_LIST) @@ -735,6 +737,8 @@ static int menu_cbs_init_bind_deferred_push_compare_label( {MENU_ENUM_LABEL_DEFERRED_VIDEO_SCALING_SETTINGS_LIST, deferred_push_video_scaling_settings_list}, {MENU_ENUM_LABEL_DEFERRED_CRT_SWITCHRES_SETTINGS_LIST, deferred_push_crt_switchres_settings_list}, {MENU_ENUM_LABEL_DEFERRED_AUDIO_SETTINGS_LIST, deferred_push_audio_settings_list}, + {MENU_ENUM_LABEL_DEFERRED_AUDIO_SYNCHRONIZATION_SETTINGS_LIST, deferred_push_audio_synchronization_settings_list}, + {MENU_ENUM_LABEL_DEFERRED_AUDIO_OUTPUT_SETTINGS_LIST, deferred_push_audio_output_settings_list}, {MENU_ENUM_LABEL_DEFERRED_AUDIO_MIXER_SETTINGS_LIST, deferred_push_audio_mixer_settings_list}, {MENU_ENUM_LABEL_DEFERRED_LATENCY_SETTINGS_LIST, deferred_push_latency_settings_list}, #ifdef HAVE_LAKKA_SWITCH @@ -1115,6 +1119,12 @@ static int menu_cbs_init_bind_deferred_push_compare_label( case MENU_ENUM_LABEL_DEFERRED_AUDIO_SETTINGS_LIST: BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_audio_settings_list); break; + case MENU_ENUM_LABEL_DEFERRED_AUDIO_OUTPUT_SETTINGS_LIST: + BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_audio_output_settings_list); + break; + case MENU_ENUM_LABEL_DEFERRED_AUDIO_SYNCHRONIZATION_SETTINGS_LIST: + BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_audio_synchronization_settings_list); + break; case MENU_ENUM_LABEL_DEFERRED_LATENCY_SETTINGS_LIST: BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_latency_settings_list); break; diff --git a/menu/cbs/menu_cbs_ok.c b/menu/cbs/menu_cbs_ok.c index 838d73292e..cc152262fb 100644 --- a/menu/cbs/menu_cbs_ok.c +++ b/menu/cbs/menu_cbs_ok.c @@ -286,6 +286,10 @@ static enum msg_hash_enums action_ok_dl_to_enum(unsigned lbl) return MENU_ENUM_LABEL_DEFERRED_MIDI_SETTINGS_LIST; case ACTION_OK_DL_AUDIO_SETTINGS_LIST: return MENU_ENUM_LABEL_DEFERRED_AUDIO_SETTINGS_LIST; + case ACTION_OK_DL_AUDIO_OUTPUT_SETTINGS_LIST: + return MENU_ENUM_LABEL_DEFERRED_AUDIO_OUTPUT_SETTINGS_LIST; + case ACTION_OK_DL_AUDIO_SYNCHRONIZATION_SETTINGS_LIST: + return MENU_ENUM_LABEL_DEFERRED_AUDIO_SYNCHRONIZATION_SETTINGS_LIST; case ACTION_OK_DL_AUDIO_MIXER_SETTINGS_LIST: return MENU_ENUM_LABEL_DEFERRED_AUDIO_MIXER_SETTINGS_LIST; case ACTION_OK_DL_INPUT_HOTKEY_BINDS_LIST: @@ -1062,6 +1066,8 @@ int generic_action_ok_displaylist_push(const char *path, case ACTION_OK_DL_PRIVACY_SETTINGS_LIST: case ACTION_OK_DL_MIDI_SETTINGS_LIST: case ACTION_OK_DL_AUDIO_SETTINGS_LIST: + case ACTION_OK_DL_AUDIO_SYNCHRONIZATION_SETTINGS_LIST: + case ACTION_OK_DL_AUDIO_OUTPUT_SETTINGS_LIST: case ACTION_OK_DL_AUDIO_MIXER_SETTINGS_LIST: case ACTION_OK_DL_INPUT_HOTKEY_BINDS_LIST: case ACTION_OK_DL_RECORDING_SETTINGS_LIST: @@ -4750,6 +4756,8 @@ default_action_ok_func(action_ok_push_video_output_settings_list, ACTION_OK_DL_V default_action_ok_func(action_ok_push_configuration_settings_list, ACTION_OK_DL_CONFIGURATION_SETTINGS_LIST) default_action_ok_func(action_ok_push_core_settings_list, ACTION_OK_DL_CORE_SETTINGS_LIST) default_action_ok_func(action_ok_push_audio_settings_list, ACTION_OK_DL_AUDIO_SETTINGS_LIST) +default_action_ok_func(action_ok_push_audio_output_settings_list, ACTION_OK_DL_AUDIO_OUTPUT_SETTINGS_LIST) +default_action_ok_func(action_ok_push_audio_synchronization_settings_list, ACTION_OK_DL_AUDIO_SYNCHRONIZATION_SETTINGS_LIST) #ifdef HAVE_AUDIOMIXER default_action_ok_func(action_ok_push_audio_mixer_settings_list, ACTION_OK_DL_AUDIO_MIXER_SETTINGS_LIST) #endif @@ -6422,6 +6430,12 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs, case MENU_ENUM_LABEL_AUDIO_SETTINGS: BIND_ACTION_OK(cbs, action_ok_push_audio_settings_list); break; + case MENU_ENUM_LABEL_AUDIO_SYNCHRONIZATION_SETTINGS: + BIND_ACTION_OK(cbs, action_ok_push_audio_synchronization_settings_list); + break; + case MENU_ENUM_LABEL_AUDIO_OUTPUT_SETTINGS: + BIND_ACTION_OK(cbs, action_ok_push_audio_output_settings_list); + break; case MENU_ENUM_LABEL_AUDIO_MIXER_SETTINGS: #ifdef HAVE_AUDIOMIXER BIND_ACTION_OK(cbs, action_ok_push_audio_mixer_settings_list); diff --git a/menu/cbs/menu_cbs_sublabel.c b/menu/cbs/menu_cbs_sublabel.c index 83a64f1667..48193d9dec 100644 --- a/menu/cbs/menu_cbs_sublabel.c +++ b/menu/cbs/menu_cbs_sublabel.c @@ -180,6 +180,8 @@ default_sublabel_macro(action_bind_sublabel_crt_switchres_settings_list, default_sublabel_macro(action_bind_sublabel_suspend_screensaver_enable, MENU_ENUM_SUBLABEL_SUSPEND_SCREENSAVER_ENABLE) default_sublabel_macro(action_bind_sublabel_video_window_scale, MENU_ENUM_SUBLABEL_VIDEO_WINDOW_SCALE) default_sublabel_macro(action_bind_sublabel_audio_settings_list, MENU_ENUM_SUBLABEL_AUDIO_SETTINGS) +default_sublabel_macro(action_bind_sublabel_audio_output_settings_list, MENU_ENUM_SUBLABEL_AUDIO_OUTPUT_SETTINGS) +default_sublabel_macro(action_bind_sublabel_audio_synchronization_settings_list, MENU_ENUM_SUBLABEL_AUDIO_SYNCHRONIZATION_SETTINGS) #ifdef HAVE_AUDIOMIXER default_sublabel_macro(action_bind_sublabel_mixer_settings_list, MENU_ENUM_SUBLABEL_AUDIO_MIXER_SETTINGS) #endif @@ -2717,6 +2719,12 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs, case MENU_ENUM_LABEL_AUDIO_SETTINGS: BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_audio_settings_list); break; + case MENU_ENUM_LABEL_AUDIO_SYNCHRONIZATION_SETTINGS: + BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_audio_synchronization_settings_list); + break; + case MENU_ENUM_LABEL_AUDIO_OUTPUT_SETTINGS: + BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_audio_output_settings_list); + break; case MENU_ENUM_LABEL_AUDIO_MIXER_SETTINGS: #ifdef HAVE_AUDIOMIXER BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_mixer_settings_list); diff --git a/menu/cbs/menu_cbs_title.c b/menu/cbs/menu_cbs_title.c index 8471ca03b3..68d493b325 100644 --- a/menu/cbs/menu_cbs_title.c +++ b/menu/cbs/menu_cbs_title.c @@ -374,6 +374,8 @@ default_title_macro(action_get_privacy_settings_list, MENU_ENUM_LABEL_ default_title_macro(action_get_midi_settings_list, MENU_ENUM_LABEL_VALUE_MIDI_SETTINGS) default_title_macro(action_get_updater_settings_list, MENU_ENUM_LABEL_VALUE_UPDATER_SETTINGS) default_title_macro(action_get_audio_settings_list, MENU_ENUM_LABEL_VALUE_AUDIO_SETTINGS) +default_title_macro(action_get_audio_output_settings_list, MENU_ENUM_LABEL_VALUE_AUDIO_OUTPUT_SETTINGS) +default_title_macro(action_get_audio_synchronization_settings_list, MENU_ENUM_LABEL_VALUE_AUDIO_SYNCHRONIZATION_SETTINGS) #ifdef HAVE_AUDIOMIXER default_title_macro(action_get_audio_mixer_settings_list, MENU_ENUM_LABEL_VALUE_AUDIO_MIXER_SETTINGS) #endif @@ -661,6 +663,8 @@ static int menu_cbs_init_bind_title_compare_label(menu_file_list_cbs_t *cbs, {MENU_ENUM_LABEL_DEFERRED_VIDEO_LIST, action_get_title_goto_video}, {MENU_ENUM_LABEL_DEFERRED_DRIVER_SETTINGS_LIST, action_get_driver_settings_list}, {MENU_ENUM_LABEL_DEFERRED_AUDIO_SETTINGS_LIST, action_get_audio_settings_list}, + {MENU_ENUM_LABEL_DEFERRED_AUDIO_OUTPUT_SETTINGS_LIST, action_get_audio_output_settings_list}, + {MENU_ENUM_LABEL_DEFERRED_AUDIO_SYNCHRONIZATION_SETTINGS_LIST, action_get_audio_synchronization_settings_list}, #ifdef HAVE_AUDIOMIXER {MENU_ENUM_LABEL_DEFERRED_AUDIO_MIXER_SETTINGS_LIST, action_get_audio_mixer_settings_list}, #endif diff --git a/menu/menu_cbs.h b/menu/menu_cbs.h index a0e47de10f..5154489159 100644 --- a/menu/menu_cbs.h +++ b/menu/menu_cbs.h @@ -89,6 +89,8 @@ enum ACTION_OK_DL_VIDEO_SCALING_SETTINGS_LIST, ACTION_OK_DL_CRT_SWITCHRES_SETTINGS_LIST, ACTION_OK_DL_AUDIO_SETTINGS_LIST, + ACTION_OK_DL_AUDIO_OUTPUT_SETTINGS_LIST, + ACTION_OK_DL_AUDIO_SYNCHRONIZATION_SETTINGS_LIST, ACTION_OK_DL_AUDIO_MIXER_SETTINGS_LIST, ACTION_OK_DL_LATENCY_SETTINGS_LIST, ACTION_OK_DL_CONFIGURATION_SETTINGS_LIST, diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index b028d4aa07..bf37b679bd 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -4044,20 +4044,7 @@ unsigned menu_displaylist_build_list(file_list_t *list, enum menu_displaylist_ct 0, 0, 0)) count++; break; - break; - case DISPLAYLIST_AUDIO_SETTINGS_LIST: - if (menu_displaylist_parse_settings_enum(list, - MENU_ENUM_LABEL_MIDI_SETTINGS, - PARSE_ACTION, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(list, - MENU_ENUM_LABEL_AUDIO_MIXER_SETTINGS, - PARSE_ACTION, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(list, - MENU_ENUM_LABEL_MENU_SOUNDS, - PARSE_ACTION, false) == 0) - count++; + case DISPLAYLIST_AUDIO_OUTPUT_SETTINGS_LIST: if (menu_displaylist_parse_settings_enum(list, MENU_ENUM_LABEL_AUDIO_ENABLE, PARSE_ONLY_BOOL, false) == 0) @@ -4070,6 +4057,58 @@ unsigned menu_displaylist_build_list(file_list_t *list, enum menu_displaylist_ct MENU_ENUM_LABEL_AUDIO_LATENCY, PARSE_ONLY_UINT, false) == 0) count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_AUDIO_WASAPI_EXCLUSIVE_MODE, + PARSE_ONLY_BOOL, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_AUDIO_WASAPI_FLOAT_FORMAT, + PARSE_ONLY_BOOL, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_AUDIO_WASAPI_SH_BUFFER_LENGTH, + PARSE_ONLY_INT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_AUDIO_BLOCK_FRAMES, + PARSE_ONLY_UINT, false) == 0) + count++; + break; + case DISPLAYLIST_AUDIO_SYNCHRONIZATION_SETTINGS_LIST: + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_AUDIO_SYNC, + PARSE_ONLY_BOOL, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_AUDIO_MAX_TIMING_SKEW, + PARSE_ONLY_FLOAT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_AUDIO_RATE_CONTROL_DELTA, + PARSE_ONLY_FLOAT, false) == 0) + count++; + break; + case DISPLAYLIST_AUDIO_SETTINGS_LIST: + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_AUDIO_OUTPUT_SETTINGS, + PARSE_ACTION, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_AUDIO_SYNCHRONIZATION_SETTINGS, + PARSE_ACTION, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_MIDI_SETTINGS, + PARSE_ACTION, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_AUDIO_MIXER_SETTINGS, + PARSE_ACTION, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_MENU_SOUNDS, + PARSE_ACTION, false) == 0) + count++; /* Volume */ if (menu_displaylist_parse_settings_enum(list, @@ -4108,40 +4147,10 @@ unsigned menu_displaylist_build_list(file_list_t *list, enum menu_displaylist_ct MENU_ENUM_LABEL_AUDIO_OUTPUT_RATE, PARSE_ONLY_UINT, false) == 0) count++; - if (menu_displaylist_parse_settings_enum(list, - MENU_ENUM_LABEL_AUDIO_BLOCK_FRAMES, - PARSE_ONLY_UINT, false) == 0) - count++; - - /* Synchronization */ - if (menu_displaylist_parse_settings_enum(list, - MENU_ENUM_LABEL_AUDIO_SYNC, - PARSE_ONLY_BOOL, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(list, - MENU_ENUM_LABEL_AUDIO_MAX_TIMING_SKEW, - PARSE_ONLY_FLOAT, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(list, - MENU_ENUM_LABEL_AUDIO_RATE_CONTROL_DELTA, - PARSE_ONLY_FLOAT, false) == 0) - count++; if (menu_displaylist_parse_settings_enum(list, MENU_ENUM_LABEL_AUDIO_DSP_PLUGIN, PARSE_ONLY_PATH, false) == 0) count++; - if (menu_displaylist_parse_settings_enum(list, - MENU_ENUM_LABEL_AUDIO_WASAPI_EXCLUSIVE_MODE, - PARSE_ONLY_BOOL, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(list, - MENU_ENUM_LABEL_AUDIO_WASAPI_FLOAT_FORMAT, - PARSE_ONLY_BOOL, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(list, - MENU_ENUM_LABEL_AUDIO_WASAPI_SH_BUFFER_LENGTH, - PARSE_ONLY_INT, false) == 0) - count++; break; case DISPLAYLIST_VIDEO_SETTINGS_LIST: { @@ -8283,6 +8292,8 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, case DISPLAYLIST_OPTIONS_REMAPPINGS: case DISPLAYLIST_VIDEO_SETTINGS_LIST: case DISPLAYLIST_AUDIO_SETTINGS_LIST: + case DISPLAYLIST_AUDIO_OUTPUT_SETTINGS_LIST: + case DISPLAYLIST_AUDIO_SYNCHRONIZATION_SETTINGS_LIST: case DISPLAYLIST_HELP_SCREEN_LIST: case DISPLAYLIST_INFORMATION_LIST: case DISPLAYLIST_SCAN_DIRECTORY_LIST: diff --git a/menu/menu_displaylist.h b/menu/menu_displaylist.h index 6da0a3b8fc..dfd9045bd2 100644 --- a/menu/menu_displaylist.h +++ b/menu/menu_displaylist.h @@ -151,6 +151,8 @@ enum menu_displaylist_ctl_state DISPLAYLIST_CHEAT_DETAILS_SETTINGS_LIST, DISPLAYLIST_CHEAT_SEARCH_SETTINGS_LIST, DISPLAYLIST_AUDIO_SETTINGS_LIST, + DISPLAYLIST_AUDIO_OUTPUT_SETTINGS_LIST, + DISPLAYLIST_AUDIO_SYNCHRONIZATION_SETTINGS_LIST, DISPLAYLIST_AUDIO_MIXER_SETTINGS_LIST, DISPLAYLIST_CORE_SETTINGS_LIST, DISPLAYLIST_INPUT_SETTINGS_LIST, diff --git a/menu/menu_setting.c b/menu/menu_setting.c index 2696ca807f..3bdef2d57d 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -8016,6 +8016,22 @@ static bool setting_append_list( &subgroup_info, parent_group); + CONFIG_ACTION( + list, list_info, + MENU_ENUM_LABEL_AUDIO_OUTPUT_SETTINGS, + MENU_ENUM_LABEL_VALUE_AUDIO_OUTPUT_SETTINGS, + &group_info, + &subgroup_info, + parent_group); + + CONFIG_ACTION( + list, list_info, + MENU_ENUM_LABEL_AUDIO_SYNCHRONIZATION_SETTINGS, + MENU_ENUM_LABEL_VALUE_AUDIO_SYNCHRONIZATION_SETTINGS, + &group_info, + &subgroup_info, + parent_group); + if (string_is_not_equal(settings->arrays.midi_driver, "null")) { CONFIG_ACTION( diff --git a/msg_hash.h b/msg_hash.h index 1e798f1bdb..a39eb35297 100644 --- a/msg_hash.h +++ b/msg_hash.h @@ -1347,6 +1347,8 @@ enum msg_hash_enums MENU_ENUM_LABEL_DEFERRED_MIDI_SETTINGS_LIST, MENU_ENUM_LABEL_DEFERRED_LOGGING_SETTINGS_LIST, MENU_ENUM_LABEL_DEFERRED_AUDIO_SETTINGS_LIST, + MENU_ENUM_LABEL_DEFERRED_AUDIO_OUTPUT_SETTINGS_LIST, + MENU_ENUM_LABEL_DEFERRED_AUDIO_SYNCHRONIZATION_SETTINGS_LIST, MENU_ENUM_LABEL_DEFERRED_AUDIO_MIXER_SETTINGS_LIST, MENU_ENUM_LABEL_DEFERRED_CORE_SETTINGS_LIST, MENU_ENUM_LABEL_DEFERRED_USER_BINDS_LIST, @@ -1941,6 +1943,8 @@ enum msg_hash_enums MENU_LABEL(VIDEO_SCALING_SETTINGS), MENU_LABEL(CRT_SWITCHRES_SETTINGS), MENU_LABEL(AUDIO_SETTINGS), + MENU_LABEL(AUDIO_OUTPUT_SETTINGS), + MENU_LABEL(AUDIO_SYNCHRONIZATION_SETTINGS), MENU_LABEL(AUDIO_MIXER_SETTINGS), MENU_LABEL(LATENCY_SETTINGS), MENU_LABEL(CORE_SETTINGS),