diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index 29915ffce4..ea388f53fb 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -3816,6 +3816,332 @@ unsigned menu_displaylist_build_list(file_list_t *list, enum menu_displaylist_ct switch (type) { + 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++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_AUDIO_ENABLE, + PARSE_ONLY_BOOL, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_AUDIO_DEVICE, + PARSE_ONLY_STRING, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_AUDIO_LATENCY, + PARSE_ONLY_UINT, false) == 0) + count++; + + /* Volume */ + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_AUDIO_MUTE, + PARSE_ONLY_BOOL, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_AUDIO_MIXER_MUTE, + PARSE_ONLY_BOOL, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_AUDIO_VOLUME, + PARSE_ONLY_FLOAT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_AUDIO_MIXER_VOLUME, + PARSE_ONLY_FLOAT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_SYSTEM_BGM_ENABLE, + PARSE_ONLY_BOOL, false) == 0) + count++; + + /* Resampler */ + { + settings_t *settings = config_get_ptr(); + if (string_is_not_equal(settings->arrays.audio_resampler, "null")) + { + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_AUDIO_RESAMPLER_QUALITY, + PARSE_ONLY_UINT, false) == 0) + count++; + } + } + if (menu_displaylist_parse_settings_enum(list, + 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: + { + gfx_ctx_flags_t flags; + + if (video_display_server_get_flags(&flags)) + { + if (BIT32_GET(flags.flags, DISPSERV_CTX_CRT_SWITCHRES)) + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_CRT_SWITCHRES_SETTINGS, + PARSE_ACTION, false) == 0) + count++; + } + + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_SUSPEND_SCREENSAVER_ENABLE, + PARSE_ONLY_BOOL, false) == 0) + count++; + +#if defined(GEKKO) || defined(__CELLOS_LV2__) + if (true) +#else + if (video_display_server_has_resolution_list()) +#endif + { + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_SCREEN_RESOLUTION, + PARSE_ACTION, false) == 0) + count++; + } + + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_PAL60_ENABLE, + PARSE_ONLY_BOOL, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_VIDEO_GAMMA, + PARSE_ONLY_UINT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_VIDEO_SOFT_FILTER, + PARSE_ONLY_BOOL, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_VIDEO_FILTER_FLICKER, + PARSE_ONLY_UINT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_VIDEO_MONITOR_INDEX, + PARSE_ONLY_UINT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_VIDEO_GPU_INDEX, + PARSE_ONLY_INT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_VIDEO_FULLSCREEN, + PARSE_ONLY_BOOL, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_VIDEO_WINDOWED_FULLSCREEN, + PARSE_ONLY_BOOL, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_VIDEO_FULLSCREEN_X, + PARSE_ONLY_UINT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_VIDEO_FULLSCREEN_Y, + PARSE_ONLY_UINT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_VIDEO_REFRESH_RATE, + PARSE_ONLY_FLOAT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_VIDEO_REFRESH_RATE_AUTO, + PARSE_ONLY_FLOAT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_VIDEO_REFRESH_RATE_POLLED, + PARSE_ONLY_FLOAT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_VIDEO_FORCE_SRGB_DISABLE, + PARSE_ONLY_BOOL, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_VIDEO_ASPECT_RATIO_INDEX, + PARSE_ONLY_UINT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_VIDEO_ASPECT_RATIO, + PARSE_ONLY_FLOAT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_VIDEO_VIEWPORT_CUSTOM_X, + PARSE_ONLY_INT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_VIDEO_VIEWPORT_CUSTOM_Y, + PARSE_ONLY_INT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_VIDEO_VIEWPORT_CUSTOM_WIDTH, + PARSE_ONLY_UINT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_VIDEO_VIEWPORT_CUSTOM_HEIGHT, + PARSE_ONLY_UINT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_VIDEO_SCALE, + PARSE_ONLY_FLOAT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_VIDEO_WINDOW_OPACITY, + PARSE_ONLY_UINT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_VIDEO_WINDOW_SHOW_DECORATIONS, + PARSE_ONLY_BOOL, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_VIDEO_WINDOW_SAVE_POSITION, + PARSE_ONLY_BOOL, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_VIDEO_WINDOW_WIDTH, + PARSE_ONLY_UINT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_VIDEO_WINDOW_HEIGHT, + PARSE_ONLY_UINT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_VIDEO_SCALE_INTEGER, + PARSE_ONLY_BOOL, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_VIDEO_VI_WIDTH, + PARSE_ONLY_UINT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_VIDEO_VFILTER, + PARSE_ONLY_BOOL, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_VIDEO_OVERSCAN_CORRECTION_TOP, + PARSE_ONLY_UINT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_VIDEO_OVERSCAN_CORRECTION_BOTTOM, + PARSE_ONLY_UINT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_VIDEO_ROTATION, + PARSE_ONLY_UINT, false) == 0) + count++; + if (video_display_server_can_set_screen_orientation()) + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_SCREEN_ORIENTATION, + PARSE_ONLY_UINT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_VIDEO_THREADED, + PARSE_ONLY_BOOL, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_VIDEO_VSYNC, + PARSE_ONLY_BOOL, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_VIDEO_SWAP_INTERVAL, + PARSE_ONLY_UINT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_VIDEO_ADAPTIVE_VSYNC, + PARSE_ONLY_BOOL, false) == 0) + count++; + if (video_driver_test_all_flags(GFX_CTX_FLAGS_CUSTOMIZABLE_SWAPCHAIN_IMAGES)) + { + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_VIDEO_MAX_SWAPCHAIN_IMAGES, + PARSE_ONLY_UINT, false) == 0) + count++; + } + if (video_driver_test_all_flags(GFX_CTX_FLAGS_HARD_SYNC)) + { + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_VIDEO_HARD_SYNC, + PARSE_ONLY_BOOL, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_VIDEO_HARD_SYNC_FRAMES, + PARSE_ONLY_UINT, false) == 0) + count++; + } + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_VIDEO_FRAME_DELAY, + PARSE_ONLY_UINT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_VIDEO_BLACK_FRAME_INSERTION, + PARSE_ONLY_BOOL, false) == 0) + count++; + if (video_driver_supports_viewport_read()) + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_VIDEO_GPU_SCREENSHOT, + PARSE_ONLY_BOOL, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_VIDEO_CROP_OVERSCAN, + PARSE_ONLY_BOOL, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_VIDEO_SMOOTH, + PARSE_ONLY_BOOL, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_VIDEO_SHADER_DELAY, + PARSE_ONLY_UINT, false) == 0) + count++; + if (menu_displaylist_parse_settings_enum(list, + MENU_ENUM_LABEL_VIDEO_FILTER, + PARSE_ONLY_PATH, false) == 0) + count++; + } + break; case DISPLAYLIST_OPTIONS_REMAPPINGS: { unsigned p; @@ -7673,6 +7999,8 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, case DISPLAYLIST_LOAD_CONTENT_LIST: case DISPLAYLIST_LOAD_CONTENT_SPECIAL: case DISPLAYLIST_OPTIONS_REMAPPINGS: + case DISPLAYLIST_VIDEO_SETTINGS_LIST: + case DISPLAYLIST_AUDIO_SETTINGS_LIST: menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list); count = menu_displaylist_build_list(info->list, type); @@ -7770,194 +8098,6 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, info->need_refresh = true; info->need_push = true; break; - case DISPLAYLIST_VIDEO_SETTINGS_LIST: - { - gfx_ctx_flags_t flags; - - menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list); - - if (video_display_server_get_flags(&flags)) - { - if (BIT32_GET(flags.flags, DISPSERV_CTX_CRT_SWITCHRES)) - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_CRT_SWITCHRES_SETTINGS, - PARSE_ACTION, false); - } - - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_SUSPEND_SCREENSAVER_ENABLE, - PARSE_ONLY_BOOL, false); - -#if defined(GEKKO) || defined(__CELLOS_LV2__) - if (true) -#else - if (video_display_server_has_resolution_list()) -#endif - { - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_SCREEN_RESOLUTION, - PARSE_ACTION, false); - } - - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_PAL60_ENABLE, - PARSE_ONLY_BOOL, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_VIDEO_GAMMA, - PARSE_ONLY_UINT, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_VIDEO_SOFT_FILTER, - PARSE_ONLY_BOOL, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_VIDEO_FILTER_FLICKER, - PARSE_ONLY_UINT, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_VIDEO_MONITOR_INDEX, - PARSE_ONLY_UINT, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_VIDEO_GPU_INDEX, - PARSE_ONLY_INT, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_VIDEO_FULLSCREEN, - PARSE_ONLY_BOOL, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_VIDEO_WINDOWED_FULLSCREEN, - PARSE_ONLY_BOOL, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_VIDEO_FULLSCREEN_X, - PARSE_ONLY_UINT, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_VIDEO_FULLSCREEN_Y, - PARSE_ONLY_UINT, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_VIDEO_REFRESH_RATE, - PARSE_ONLY_FLOAT, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_VIDEO_REFRESH_RATE_AUTO, - PARSE_ONLY_FLOAT, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_VIDEO_REFRESH_RATE_POLLED, - PARSE_ONLY_FLOAT, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_VIDEO_FORCE_SRGB_DISABLE, - PARSE_ONLY_BOOL, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_VIDEO_ASPECT_RATIO_INDEX, - PARSE_ONLY_UINT, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_VIDEO_ASPECT_RATIO, - PARSE_ONLY_FLOAT, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_VIDEO_VIEWPORT_CUSTOM_X, - PARSE_ONLY_INT, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_VIDEO_VIEWPORT_CUSTOM_Y, - PARSE_ONLY_INT, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_VIDEO_VIEWPORT_CUSTOM_WIDTH, - PARSE_ONLY_UINT, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_VIDEO_VIEWPORT_CUSTOM_HEIGHT, - PARSE_ONLY_UINT, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_VIDEO_SCALE, - PARSE_ONLY_FLOAT, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_VIDEO_WINDOW_OPACITY, - PARSE_ONLY_UINT, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_VIDEO_WINDOW_SHOW_DECORATIONS, - PARSE_ONLY_BOOL, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_VIDEO_WINDOW_SAVE_POSITION, - PARSE_ONLY_BOOL, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_VIDEO_WINDOW_WIDTH, - PARSE_ONLY_UINT, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_VIDEO_WINDOW_HEIGHT, - PARSE_ONLY_UINT, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_VIDEO_SCALE_INTEGER, - PARSE_ONLY_BOOL, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_VIDEO_VI_WIDTH, - PARSE_ONLY_UINT, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_VIDEO_VFILTER, - PARSE_ONLY_BOOL, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_VIDEO_OVERSCAN_CORRECTION_TOP, - PARSE_ONLY_UINT, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_VIDEO_OVERSCAN_CORRECTION_BOTTOM, - PARSE_ONLY_UINT, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_VIDEO_ROTATION, - PARSE_ONLY_UINT, false); - if (video_display_server_can_set_screen_orientation()) - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_SCREEN_ORIENTATION, - PARSE_ONLY_UINT, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_VIDEO_THREADED, - PARSE_ONLY_BOOL, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_VIDEO_VSYNC, - PARSE_ONLY_BOOL, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_VIDEO_SWAP_INTERVAL, - PARSE_ONLY_UINT, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_VIDEO_ADAPTIVE_VSYNC, - PARSE_ONLY_BOOL, false); - if (video_driver_test_all_flags(GFX_CTX_FLAGS_CUSTOMIZABLE_SWAPCHAIN_IMAGES)) - { - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_VIDEO_MAX_SWAPCHAIN_IMAGES, - PARSE_ONLY_UINT, false); - count++; - } - if (video_driver_test_all_flags(GFX_CTX_FLAGS_HARD_SYNC)) - { - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_VIDEO_HARD_SYNC, - PARSE_ONLY_BOOL, false); - count++; - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_VIDEO_HARD_SYNC_FRAMES, - PARSE_ONLY_UINT, false); - count++; - } - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_VIDEO_FRAME_DELAY, - PARSE_ONLY_UINT, false) == 0) - count++; - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_VIDEO_BLACK_FRAME_INSERTION, - PARSE_ONLY_BOOL, false); - if (video_driver_supports_viewport_read()) - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_VIDEO_GPU_SCREENSHOT, - PARSE_ONLY_BOOL, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_VIDEO_CROP_OVERSCAN, - PARSE_ONLY_BOOL, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_VIDEO_SMOOTH, - PARSE_ONLY_BOOL, false); - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_VIDEO_SHADER_DELAY, - PARSE_ONLY_UINT, false) == 0) - count++; - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_VIDEO_FILTER, - PARSE_ONLY_PATH, false); - - info->need_refresh = true; - info->need_push = true; - break; - } case DISPLAYLIST_AUDIO_MIXER_SETTINGS_LIST: { #ifdef HAVE_AUDIOMIXER @@ -7991,108 +8131,6 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, info->need_push = true; } break; - case DISPLAYLIST_AUDIO_SETTINGS_LIST: - menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list); - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_MIDI_SETTINGS, - PARSE_ACTION, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_AUDIO_MIXER_SETTINGS, - PARSE_ACTION, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_MENU_SOUNDS, - PARSE_ACTION, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_AUDIO_ENABLE, - PARSE_ONLY_BOOL, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_AUDIO_DEVICE, - PARSE_ONLY_STRING, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_AUDIO_LATENCY, - PARSE_ONLY_UINT, false) == 0) - count++; - - /* Volume */ - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_AUDIO_MUTE, - PARSE_ONLY_BOOL, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_AUDIO_MIXER_MUTE, - PARSE_ONLY_BOOL, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_AUDIO_VOLUME, - PARSE_ONLY_FLOAT, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_AUDIO_MIXER_VOLUME, - PARSE_ONLY_FLOAT, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_SYSTEM_BGM_ENABLE, - PARSE_ONLY_BOOL, false) == 0) - count++; - - /* Resampler */ - { - settings_t *settings = config_get_ptr(); - if (string_is_not_equal(settings->arrays.audio_resampler, "null")) - { - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_AUDIO_RESAMPLER_QUALITY, - PARSE_ONLY_UINT, false) == 0) - count++; - } - } - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_AUDIO_OUTPUT_RATE, - PARSE_ONLY_UINT, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_AUDIO_BLOCK_FRAMES, - PARSE_ONLY_UINT, false) == 0) - count++; - - /* Synchronization */ - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_AUDIO_SYNC, - PARSE_ONLY_BOOL, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_AUDIO_MAX_TIMING_SKEW, - PARSE_ONLY_FLOAT, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_AUDIO_RATE_CONTROL_DELTA, - PARSE_ONLY_FLOAT, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_AUDIO_DSP_PLUGIN, - PARSE_ONLY_PATH, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_AUDIO_WASAPI_EXCLUSIVE_MODE, - PARSE_ONLY_BOOL, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_AUDIO_WASAPI_FLOAT_FORMAT, - PARSE_ONLY_BOOL, false) == 0) - count++; - if (menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_AUDIO_WASAPI_SH_BUFFER_LENGTH, - PARSE_ONLY_INT, false) == 0) - count++; - - info->need_refresh = true; - info->need_push = true; - break; case DISPLAYLIST_HORIZONTAL: { settings_t *settings = config_get_ptr();