diff --git a/config.def.h b/config.def.h index 3066aac75d90..13bf3763aa14 100644 --- a/config.def.h +++ b/config.def.h @@ -1071,6 +1071,9 @@ * at launch the last used disk of multi-disk content */ #define DEFAULT_NOTIFICATION_SHOW_SET_INITIAL_DISK true +/* Display disc control notifications */ +#define DEFAULT_NOTIFICATION_SHOW_DISK_CONTROL true + /* Display save state notifications */ #define DEFAULT_NOTIFICATION_SHOW_SAVE_STATE true diff --git a/configuration.c b/configuration.c index bcbb4ded0475..0f2e6e0464d7 100644 --- a/configuration.c +++ b/configuration.c @@ -1851,6 +1851,7 @@ static struct config_bool_setting *populate_settings_bool( SETTING_BOOL("notification_show_remap_load", &settings->bools.notification_show_remap_load, true, DEFAULT_NOTIFICATION_SHOW_REMAP_LOAD, false); SETTING_BOOL("notification_show_config_override_load", &settings->bools.notification_show_config_override_load, true, DEFAULT_NOTIFICATION_SHOW_CONFIG_OVERRIDE_LOAD, false); SETTING_BOOL("notification_show_set_initial_disk", &settings->bools.notification_show_set_initial_disk, true, DEFAULT_NOTIFICATION_SHOW_SET_INITIAL_DISK, false); + SETTING_BOOL("notification_show_disk_control", &settings->bools.notification_show_disk_control, true, DEFAULT_NOTIFICATION_SHOW_DISK_CONTROL, false); SETTING_BOOL("notification_show_save_state", &settings->bools.notification_show_save_state, true, DEFAULT_NOTIFICATION_SHOW_SAVE_STATE, false); SETTING_BOOL("notification_show_fast_forward", &settings->bools.notification_show_fast_forward, true, DEFAULT_NOTIFICATION_SHOW_FAST_FORWARD, false); #ifdef HAVE_SCREENSHOTS diff --git a/configuration.h b/configuration.h index 2ec8fd8e4334..344eef7ca58c 100644 --- a/configuration.h +++ b/configuration.h @@ -703,6 +703,7 @@ typedef struct settings bool notification_show_remap_load; bool notification_show_config_override_load; bool notification_show_set_initial_disk; + bool notification_show_disk_control; bool notification_show_save_state; bool notification_show_fast_forward; #ifdef HAVE_SCREENSHOTS diff --git a/intl/msg_hash_lbl.h b/intl/msg_hash_lbl.h index dd429f95dad8..5605fe044cfe 100644 --- a/intl/msg_hash_lbl.h +++ b/intl/msg_hash_lbl.h @@ -6065,6 +6065,10 @@ MSG_HASH( MENU_ENUM_LABEL_NOTIFICATION_SHOW_SET_INITIAL_DISK, "notification_show_set_initial_disk" ) +MSG_HASH( + MENU_ENUM_LABEL_NOTIFICATION_SHOW_DISK_CONTROL, + "notification_show_disk_control" + ) MSG_HASH( MENU_ENUM_LABEL_NOTIFICATION_SHOW_SAVE_STATE, "notification_show_save_state" diff --git a/intl/msg_hash_us.h b/intl/msg_hash_us.h index 76e2a12116e9..36cbe070a7cc 100644 --- a/intl/msg_hash_us.h +++ b/intl/msg_hash_us.h @@ -5603,6 +5603,14 @@ MSG_HASH( MENU_ENUM_SUBLABEL_NOTIFICATION_SHOW_SET_INITIAL_DISK, "Display an on-screen message when automatically restoring at launch the last used disc of multi-disc content loaded via M3U playlists." ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_NOTIFICATION_SHOW_DISK_CONTROL, + "Disc Control Notifications" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_NOTIFICATION_SHOW_DISK_CONTROL, + "Display an on-screen message when inserting and ejecting discs." + ) MSG_HASH( MENU_ENUM_LABEL_VALUE_NOTIFICATION_SHOW_SAVE_STATE, "Save State Notifications" diff --git a/menu/cbs/menu_cbs_sublabel.c b/menu/cbs/menu_cbs_sublabel.c index 3951a2a29611..ae9f252e7910 100644 --- a/menu/cbs/menu_cbs_sublabel.c +++ b/menu/cbs/menu_cbs_sublabel.c @@ -662,6 +662,7 @@ DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_notification_show_patch_applied, M DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_notification_show_remap_load, MENU_ENUM_SUBLABEL_NOTIFICATION_SHOW_REMAP_LOAD) DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_notification_show_config_override_load, MENU_ENUM_SUBLABEL_NOTIFICATION_SHOW_CONFIG_OVERRIDE_LOAD) DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_notification_show_set_initial_disk, MENU_ENUM_SUBLABEL_NOTIFICATION_SHOW_SET_INITIAL_DISK) +DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_notification_show_disk_control, MENU_ENUM_SUBLABEL_NOTIFICATION_SHOW_DISK_CONTROL) DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_notification_show_save_state, MENU_ENUM_SUBLABEL_NOTIFICATION_SHOW_SAVE_STATE) DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_notification_show_fast_forward, MENU_ENUM_SUBLABEL_NOTIFICATION_SHOW_FAST_FORWARD) #ifdef HAVE_SCREENSHOTS @@ -4282,6 +4283,9 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs, case MENU_ENUM_LABEL_NOTIFICATION_SHOW_SET_INITIAL_DISK: BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_notification_show_set_initial_disk); break; + case MENU_ENUM_LABEL_NOTIFICATION_SHOW_DISK_CONTROL: + BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_notification_show_disk_control); + break; case MENU_ENUM_LABEL_NOTIFICATION_SHOW_SAVE_STATE: BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_notification_show_save_state); break; diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index 17af944f5fd2..5c11dac0ca4e 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -10160,6 +10160,7 @@ unsigned menu_displaylist_build_list( {MENU_ENUM_LABEL_NOTIFICATION_SHOW_REMAP_LOAD, PARSE_ONLY_BOOL, false }, {MENU_ENUM_LABEL_NOTIFICATION_SHOW_CONFIG_OVERRIDE_LOAD, PARSE_ONLY_BOOL, false }, {MENU_ENUM_LABEL_NOTIFICATION_SHOW_SET_INITIAL_DISK, PARSE_ONLY_BOOL, false }, + {MENU_ENUM_LABEL_NOTIFICATION_SHOW_DISK_CONTROL, PARSE_ONLY_BOOL, false }, {MENU_ENUM_LABEL_NOTIFICATION_SHOW_SAVE_STATE, PARSE_ONLY_BOOL, false }, {MENU_ENUM_LABEL_NOTIFICATION_SHOW_FAST_FORWARD, PARSE_ONLY_BOOL, false }, {MENU_ENUM_LABEL_NOTIFICATION_SHOW_REFRESH_RATE, PARSE_ONLY_BOOL, false }, diff --git a/menu/menu_setting.c b/menu/menu_setting.c index 4eadc1dfed5b..d4c76e47a7d2 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -16555,6 +16555,21 @@ static bool setting_append_list( general_read_handler, SD_FLAG_NONE); + CONFIG_BOOL( + list, list_info, + &settings->bools.notification_show_disk_control, + MENU_ENUM_LABEL_NOTIFICATION_SHOW_DISK_CONTROL, + MENU_ENUM_LABEL_VALUE_NOTIFICATION_SHOW_DISK_CONTROL, + DEFAULT_NOTIFICATION_SHOW_DISK_CONTROL, + 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( list, list_info, &settings->bools.notification_show_save_state, diff --git a/msg_hash.h b/msg_hash.h index 588f12ab256f..b0ee8acc011c 100644 --- a/msg_hash.h +++ b/msg_hash.h @@ -3735,6 +3735,7 @@ enum msg_hash_enums MENU_LABEL(NOTIFICATION_SHOW_REMAP_LOAD), MENU_LABEL(NOTIFICATION_SHOW_CONFIG_OVERRIDE_LOAD), MENU_LABEL(NOTIFICATION_SHOW_SET_INITIAL_DISK), + MENU_LABEL(NOTIFICATION_SHOW_DISK_CONTROL), MENU_LABEL(NOTIFICATION_SHOW_SAVE_STATE), MENU_LABEL(NOTIFICATION_SHOW_FAST_FORWARD), MENU_LABEL(NOTIFICATION_SHOW_SCREENSHOT), diff --git a/retroarch.c b/retroarch.c index 7db48fa2c205..232f16bc484f 100644 --- a/retroarch.c +++ b/retroarch.c @@ -4981,6 +4981,9 @@ bool command_event(enum event_command cmd, void *data) if (show_msg) verbose = *show_msg; + if (!settings->bools.notification_show_disk_control) + verbose = false; + disk_control_set_eject_state( &sys_info->disk_control, eject, verbose); @@ -5013,6 +5016,9 @@ bool command_event(enum event_command cmd, void *data) if (show_msg) verbose = *show_msg; + if (!settings->bools.notification_show_disk_control) + verbose = false; + disk_control_set_index_next(&sys_info->disk_control, verbose); } else @@ -5037,6 +5043,9 @@ bool command_event(enum event_command cmd, void *data) if (show_msg) verbose = *show_msg; + if (!settings->bools.notification_show_disk_control) + verbose = false; + disk_control_set_index_prev(&sys_info->disk_control, verbose); } else