mirror of
https://github.com/libretro/RetroArch
synced 2025-03-02 19:13:34 +00:00
Add 'Enable menu audio' setting
This commit is contained in:
parent
773fc1ebad
commit
b0ef193117
@ -724,7 +724,6 @@ void audio_driver_sample(int16_t left, int16_t right)
|
||||
|
||||
void audio_driver_menu_sample(void)
|
||||
{
|
||||
#if 0
|
||||
static int16_t samples_buf[4096] = {0};
|
||||
struct retro_system_av_info
|
||||
*av_info = video_viewport_get_system_av_info();
|
||||
@ -732,7 +731,6 @@ void audio_driver_menu_sample(void)
|
||||
(const struct retro_system_timing*)&av_info->timing;
|
||||
unsigned sample_count = (info->sample_rate / info->fps) * 2;
|
||||
audio_driver_flush(samples_buf, sample_count);
|
||||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1253,6 +1253,7 @@ static struct config_bool_setting *populate_settings_bool(settings_t *settings,
|
||||
SETTING_BOOL("keyboard_gamepad_enable", &settings->bools.input_keyboard_gamepad_enable, true, true, false);
|
||||
SETTING_BOOL("core_set_supports_no_game_enable", &settings->bools.set_supports_no_game_enable, true, true, false);
|
||||
SETTING_BOOL("audio_enable", &settings->bools.audio_enable, true, audio_enable, false);
|
||||
SETTING_BOOL("audio_enable_menu", &settings->bools.audio_enable_menu, true, false, false);
|
||||
SETTING_BOOL("audio_mute_enable", audio_get_bool_ptr(AUDIO_ACTION_MUTE_ENABLE), true, false, false);
|
||||
SETTING_BOOL("audio_mixer_mute_enable", audio_get_bool_ptr(AUDIO_ACTION_MIXER_MUTE_ENABLE), true, false, false);
|
||||
SETTING_BOOL("location_allow", &settings->bools.location_allow, true, false, false);
|
||||
|
@ -99,6 +99,7 @@ typedef struct settings
|
||||
|
||||
/* Audio */
|
||||
bool audio_enable;
|
||||
bool audio_enable_menu;
|
||||
bool audio_sync;
|
||||
bool audio_rate_control;
|
||||
bool audio_wasapi_exclusive_mode;
|
||||
|
@ -3457,3 +3457,7 @@ MSG_HASH(MENU_ENUM_SUBLABEL_CONTENT_SHOW_OVERLAYS,
|
||||
"Show/hide the Overlay options.")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_CONTENT_SHOW_OVERLAYS,
|
||||
"Show Overlay Settings")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_AUDIO_ENABLE_MENU,
|
||||
"Enable menu audio")
|
||||
MSG_HASH(MENU_ENUM_SUBLABEL_AUDIO_ENABLE_MENU,
|
||||
"Enable or disable menu sound.")
|
||||
|
@ -3243,3 +3243,7 @@ MSG_HASH(MENU_ENUM_SUBLABEL_CONTENT_SHOW_OVERLAYS,
|
||||
"Show/hide the Overlay options.")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_CONTENT_SHOW_OVERLAYS,
|
||||
"Show Overlay Settings")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_AUDIO_ENABLE_MENU,
|
||||
"Enable menu audio")
|
||||
MSG_HASH(MENU_ENUM_SUBLABEL_AUDIO_ENABLE_MENU,
|
||||
"Enable or disable menu sound.")
|
||||
|
@ -3235,3 +3235,7 @@ MSG_HASH(MENU_ENUM_SUBLABEL_CONTENT_SHOW_OVERLAYS,
|
||||
"Show/hide the Overlay options.")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_CONTENT_SHOW_OVERLAYS,
|
||||
"Show Overlay Settings")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_AUDIO_ENABLE_MENU,
|
||||
"Enable menu audio")
|
||||
MSG_HASH(MENU_ENUM_SUBLABEL_AUDIO_ENABLE_MENU,
|
||||
"Enable or disable menu sound.")
|
||||
|
@ -3349,3 +3349,7 @@ MSG_HASH(MENU_ENUM_SUBLABEL_CONTENT_SHOW_OVERLAYS,
|
||||
"Show/hide the Overlay options.")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_CONTENT_SHOW_OVERLAYS,
|
||||
"Show Overlay Settings")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_AUDIO_ENABLE_MENU,
|
||||
"Enable menu audio")
|
||||
MSG_HASH(MENU_ENUM_SUBLABEL_AUDIO_ENABLE_MENU,
|
||||
"Enable or disable menu sound.")
|
||||
|
@ -3108,3 +3108,7 @@ MSG_HASH(MENU_ENUM_SUBLABEL_CONTENT_SHOW_OVERLAYS,
|
||||
"Show/hide the Overlay options.")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_CONTENT_SHOW_OVERLAYS,
|
||||
"Show Overlay Settings")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_AUDIO_ENABLE_MENU,
|
||||
"Enable menu audio")
|
||||
MSG_HASH(MENU_ENUM_SUBLABEL_AUDIO_ENABLE_MENU,
|
||||
"Enable or disable menu sound.")
|
||||
|
@ -5839,3 +5839,7 @@ MSG_HASH(MENU_ENUM_SUBLABEL_CONTENT_SHOW_OVERLAYS,
|
||||
"Show/hide the Overlay options.")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_CONTENT_SHOW_OVERLAYS,
|
||||
"Show Overlay Settings")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_AUDIO_ENABLE_MENU,
|
||||
"Enable menu audio")
|
||||
MSG_HASH(MENU_ENUM_SUBLABEL_AUDIO_ENABLE_MENU,
|
||||
"Enable or disable menu sound.")
|
||||
|
@ -3273,3 +3273,7 @@ MSG_HASH(MENU_ENUM_SUBLABEL_CONTENT_SHOW_OVERLAYS,
|
||||
"Show/hide the Overlay options.")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_CONTENT_SHOW_OVERLAYS,
|
||||
"Show Overlay Settings")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_AUDIO_ENABLE_MENU,
|
||||
"Enable menu audio")
|
||||
MSG_HASH(MENU_ENUM_SUBLABEL_AUDIO_ENABLE_MENU,
|
||||
"Enable or disable menu sound.")
|
||||
|
@ -3331,3 +3331,7 @@ MSG_HASH(MENU_ENUM_SUBLABEL_CONTENT_SHOW_OVERLAYS,
|
||||
"Show/hide the Overlay options.")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_CONTENT_SHOW_OVERLAYS,
|
||||
"Show Overlay Settings")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_AUDIO_ENABLE_MENU,
|
||||
"Enable menu audio")
|
||||
MSG_HASH(MENU_ENUM_SUBLABEL_AUDIO_ENABLE_MENU,
|
||||
"Enable or disable menu sound.")
|
||||
|
@ -3347,3 +3347,7 @@ MSG_HASH(MENU_ENUM_SUBLABEL_CONTENT_SHOW_OVERLAYS,
|
||||
"Show/hide the Overlay options.")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_CONTENT_SHOW_OVERLAYS,
|
||||
"Show Overlay Settings")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_AUDIO_ENABLE_MENU,
|
||||
"Enable menu audio")
|
||||
MSG_HASH(MENU_ENUM_SUBLABEL_AUDIO_ENABLE_MENU,
|
||||
"Enable or disable menu sound.")
|
||||
|
@ -3234,3 +3234,7 @@ MSG_HASH(MENU_ENUM_SUBLABEL_CONTENT_SHOW_OVERLAYS,
|
||||
"Show/hide the Overlay options.")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_CONTENT_SHOW_OVERLAYS,
|
||||
"Show Overlay Settings")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_AUDIO_ENABLE_MENU,
|
||||
"Enable menu audio")
|
||||
MSG_HASH(MENU_ENUM_SUBLABEL_AUDIO_ENABLE_MENU,
|
||||
"Enable or disable menu sound.")
|
||||
|
@ -1485,3 +1485,5 @@ MSG_HASH(MENU_ENUM_LABEL_CONTENT_SHOW_LATENCY,
|
||||
"menu_show_latency_settings")
|
||||
MSG_HASH(MENU_ENUM_LABEL_CONTENT_SHOW_OVERLAYS,
|
||||
"menu_show_overlay_settings")
|
||||
MSG_HASH(MENU_ENUM_LABEL_AUDIO_ENABLE_MENU,
|
||||
"audio_enable_menu")
|
||||
|
@ -3110,3 +3110,7 @@ MSG_HASH(MENU_ENUM_SUBLABEL_CONTENT_SHOW_OVERLAYS,
|
||||
"Show/hide the Overlay options.")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_CONTENT_SHOW_OVERLAYS,
|
||||
"Show Overlay Settings")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_AUDIO_ENABLE_MENU,
|
||||
"Enable menu audio")
|
||||
MSG_HASH(MENU_ENUM_SUBLABEL_AUDIO_ENABLE_MENU,
|
||||
"Enable or disable menu sound.")
|
||||
|
@ -3469,3 +3469,7 @@ MSG_HASH(MENU_ENUM_SUBLABEL_CONTENT_SHOW_OVERLAYS,
|
||||
"Show/hide the Overlay options.")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_CONTENT_SHOW_OVERLAYS,
|
||||
"Show Overlay Settings")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_AUDIO_ENABLE_MENU,
|
||||
"Enable menu audio")
|
||||
MSG_HASH(MENU_ENUM_SUBLABEL_AUDIO_ENABLE_MENU,
|
||||
"Enable or disable menu sound.")
|
||||
|
@ -4338,3 +4338,7 @@ MSG_HASH(MENU_ENUM_SUBLABEL_CONTENT_SHOW_OVERLAYS,
|
||||
"Show/hide the Overlay options.")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_CONTENT_SHOW_OVERLAYS,
|
||||
"Show Overlay Settings")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_AUDIO_ENABLE_MENU,
|
||||
"Enable menu audio")
|
||||
MSG_HASH(MENU_ENUM_SUBLABEL_AUDIO_ENABLE_MENU,
|
||||
"Enable or disable menu sound.")
|
||||
|
@ -3208,3 +3208,7 @@ MSG_HASH(MENU_ENUM_SUBLABEL_CONTENT_SHOW_OVERLAYS,
|
||||
"Show/hide the Overlay options.")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_CONTENT_SHOW_OVERLAYS,
|
||||
"Show Overlay Settings")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_AUDIO_ENABLE_MENU,
|
||||
"Enable menu audio")
|
||||
MSG_HASH(MENU_ENUM_SUBLABEL_AUDIO_ENABLE_MENU,
|
||||
"Enable or disable menu sound.")
|
||||
|
@ -3292,3 +3292,7 @@ MSG_HASH(MENU_ENUM_SUBLABEL_CONTENT_SHOW_OVERLAYS,
|
||||
"Show/hide the Overlay options.")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_CONTENT_SHOW_OVERLAYS,
|
||||
"Show Overlay Settings")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_AUDIO_ENABLE_MENU,
|
||||
"Enable menu audio")
|
||||
MSG_HASH(MENU_ENUM_SUBLABEL_AUDIO_ENABLE_MENU,
|
||||
"Enable or disable menu sound.")
|
||||
|
@ -3506,3 +3506,7 @@ MSG_HASH(MENU_ENUM_SUBLABEL_CONTENT_SHOW_OVERLAYS,
|
||||
"Show/hide the Overlay options.")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_CONTENT_SHOW_OVERLAYS,
|
||||
"Show Overlay Settings")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_AUDIO_ENABLE_MENU,
|
||||
"Enable menu audio")
|
||||
MSG_HASH(MENU_ENUM_SUBLABEL_AUDIO_ENABLE_MENU,
|
||||
"Enable or disable menu sound.")
|
||||
|
@ -3265,3 +3265,7 @@ MSG_HASH(MENU_ENUM_SUBLABEL_CONTENT_SHOW_OVERLAYS,
|
||||
"Show/hide the Overlay options.")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_CONTENT_SHOW_OVERLAYS,
|
||||
"Show Overlay Settings")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_AUDIO_ENABLE_MENU,
|
||||
"Enable menu audio")
|
||||
MSG_HASH(MENU_ENUM_SUBLABEL_AUDIO_ENABLE_MENU,
|
||||
"Enable or disable menu sound.")
|
||||
|
@ -137,6 +137,7 @@ default_sublabel_macro(action_bind_sublabel_dummy_check_missing_firmware, MENU_
|
||||
default_sublabel_macro(action_bind_sublabel_video_refresh_rate, MENU_ENUM_SUBLABEL_VIDEO_REFRESH_RATE)
|
||||
default_sublabel_macro(action_bind_sublabel_video_refresh_rate_polled, MENU_ENUM_SUBLABEL_VIDEO_REFRESH_RATE_POLLED)
|
||||
default_sublabel_macro(action_bind_sublabel_audio_enable, MENU_ENUM_SUBLABEL_AUDIO_ENABLE)
|
||||
default_sublabel_macro(action_bind_sublabel_audio_enable_menu, MENU_ENUM_SUBLABEL_AUDIO_ENABLE_MENU)
|
||||
default_sublabel_macro(action_bind_sublabel_audio_max_timing_skew, MENU_ENUM_SUBLABEL_AUDIO_MAX_TIMING_SKEW)
|
||||
default_sublabel_macro(action_bind_sublabel_pause_nonactive, MENU_ENUM_SUBLABEL_PAUSE_NONACTIVE)
|
||||
default_sublabel_macro(action_bind_sublabel_video_disable_composition, MENU_ENUM_SUBLABEL_VIDEO_DISABLE_COMPOSITION)
|
||||
@ -1331,6 +1332,9 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs,
|
||||
case MENU_ENUM_LABEL_AUDIO_ENABLE:
|
||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_audio_enable);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_AUDIO_ENABLE_MENU:
|
||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_audio_enable_menu);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_VIDEO_REFRESH_RATE:
|
||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_video_refresh_rate);
|
||||
break;
|
||||
|
@ -6059,6 +6059,9 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
|
||||
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_ENABLE_MENU,
|
||||
PARSE_ONLY_BOOL, false);
|
||||
menu_displaylist_parse_settings_enum(menu, info,
|
||||
MENU_ENUM_LABEL_AUDIO_MUTE,
|
||||
PARSE_ONLY_BOOL, false);
|
||||
|
@ -1656,6 +1656,8 @@ static void menu_driver_toggle(bool on)
|
||||
settings_t *settings = config_get_ptr();
|
||||
bool pause_libretro = settings ?
|
||||
settings->bools.menu_pause_libretro : false;
|
||||
bool enable_menu_sound = settings ?
|
||||
settings->bools.audio_enable_menu : false;
|
||||
|
||||
menu_driver_toggled = on;
|
||||
|
||||
@ -1683,7 +1685,7 @@ static void menu_driver_toggle(bool on)
|
||||
/* Stop all rumbling before entering the menu. */
|
||||
command_event(CMD_EVENT_RUMBLE_STOP, NULL);
|
||||
|
||||
if (pause_libretro)
|
||||
if (pause_libretro && !enable_menu_sound)
|
||||
command_event(CMD_EVENT_AUDIO_STOP, NULL);
|
||||
|
||||
/* Override keyboard callback to redirect to menu instead.
|
||||
@ -1702,7 +1704,7 @@ static void menu_driver_toggle(bool on)
|
||||
if (!rarch_ctl(RARCH_CTL_IS_SHUTDOWN, NULL))
|
||||
driver_set_nonblock_state();
|
||||
|
||||
if (pause_libretro)
|
||||
if (pause_libretro && !enable_menu_sound)
|
||||
command_event(CMD_EVENT_AUDIO_START, NULL);
|
||||
|
||||
/* Restore libretro keyboard callback. */
|
||||
|
@ -3801,7 +3801,23 @@ static bool setting_append_list(
|
||||
parent_group,
|
||||
general_write_handler,
|
||||
general_read_handler,
|
||||
SD_FLAG_ADVANCED
|
||||
SD_FLAG_NONE
|
||||
);
|
||||
|
||||
CONFIG_BOOL(
|
||||
list, list_info,
|
||||
&settings->bools.audio_enable_menu,
|
||||
MENU_ENUM_LABEL_AUDIO_ENABLE_MENU,
|
||||
MENU_ENUM_LABEL_VALUE_AUDIO_ENABLE_MENU,
|
||||
false,
|
||||
MENU_ENUM_LABEL_VALUE_OFF,
|
||||
MENU_ENUM_LABEL_VALUE_ON,
|
||||
&group_info,
|
||||
&subgroup_info,
|
||||
parent_group,
|
||||
general_write_handler,
|
||||
general_read_handler,
|
||||
SD_FLAG_NONE
|
||||
);
|
||||
|
||||
CONFIG_BOOL(
|
||||
|
@ -1111,6 +1111,7 @@ enum msg_hash_enums
|
||||
|
||||
/* Audio */
|
||||
MENU_LABEL(AUDIO_ENABLE),
|
||||
MENU_LABEL(AUDIO_ENABLE_MENU),
|
||||
MENU_LABEL(AUDIO_MAX_TIMING_SKEW),
|
||||
MENU_LABEL(AUDIO_OUTPUT_RATE),
|
||||
MENU_LABEL(AUDIO_DEVICE),
|
||||
|
@ -2633,7 +2633,8 @@ static enum runloop_state runloop_check_state(
|
||||
(current_core_type == CORE_TYPE_DUMMY)
|
||||
)
|
||||
;
|
||||
audio_driver_menu_sample();
|
||||
if (settings->bools.audio_enable_menu)
|
||||
audio_driver_menu_sample();
|
||||
}
|
||||
|
||||
old_input = current_input;
|
||||
|
Loading…
x
Reference in New Issue
Block a user