mirror of
https://github.com/libretro/RetroArch.git
synced 2025-02-27 13:15:49 +00:00
(Menu) refactor more settings
This commit is contained in:
parent
fb1f525901
commit
622da58665
@ -396,11 +396,11 @@ static void menu_common_entries_init(menu_handle_t *menu, unsigned menu_type)
|
||||
file_list_push(menu->selection_buf, "", "audio_mute", MENU_SETTINGS_AUDIO_MUTE, 0);
|
||||
file_list_push(menu->selection_buf, "", "audio_latency", MENU_SETTINGS_AUDIO_LATENCY, 0);
|
||||
file_list_push(menu->selection_buf, "", "audio_sync", MENU_SETTINGS_AUDIO_SYNC, 0);
|
||||
file_list_push(menu->selection_buf, "Rate Control Delta", "", MENU_SETTINGS_AUDIO_CONTROL_RATE_DELTA, 0);
|
||||
file_list_push(menu->selection_buf, "", "audio_rate_control_delta", MENU_SETTINGS_AUDIO_CONTROL_RATE_DELTA, 0);
|
||||
#ifdef __CELLOS_LV2__
|
||||
file_list_push(menu->selection_buf, "System BGM Control", "", MENU_SETTINGS_CUSTOM_BGM_CONTROL_ENABLE, 0);
|
||||
#endif
|
||||
file_list_push(menu->selection_buf, "Volume Level", "", MENU_SETTINGS_AUDIO_VOLUME, 0);
|
||||
file_list_push(menu->selection_buf, "", "audio_volume", MENU_SETTINGS_AUDIO_VOLUME, 0);
|
||||
file_list_push(menu->selection_buf, "Audio Device", "", MENU_SETTINGS_DRIVER_AUDIO_DEVICE, 0);
|
||||
break;
|
||||
case MENU_SETTINGS_DRIVERS:
|
||||
@ -3393,6 +3393,10 @@ static int menu_common_setting_set(unsigned id, unsigned action, rarch_setting_t
|
||||
}
|
||||
else if (setting && setting->type == ST_BOOL)
|
||||
menu_common_setting_set_current_boolean(setting, action);
|
||||
else if (setting && setting->type == ST_UINT)
|
||||
menu_common_setting_set_current_unsigned_integer(setting, action);
|
||||
else if (setting && setting->type == ST_FLOAT)
|
||||
menu_common_setting_set_current_fraction(setting, action);
|
||||
else
|
||||
{
|
||||
switch (id)
|
||||
@ -3401,39 +3405,6 @@ static int menu_common_setting_set(unsigned id, unsigned action, rarch_setting_t
|
||||
if (action == MENU_ACTION_OK)
|
||||
file_list_push(driver.menu->menu_stack, "", "", MENU_START_SCREEN, 0);
|
||||
break;
|
||||
case MENU_SETTINGS_REWIND_GRANULARITY:
|
||||
case MENU_SETTINGS_AUDIO_LATENCY:
|
||||
case MENU_CONTENT_HISTORY_SIZE:
|
||||
case MENU_SETTINGS_NETPLAY_DELAY_FRAMES:
|
||||
case MENU_SETTINGS_LIBRETRO_LOG_LEVEL:
|
||||
case MENU_SETTINGS_USER_LANGUAGE:
|
||||
case MENU_SETTINGS_VIDEO_ROTATION:
|
||||
case MENU_SETTINGS_VIDEO_ASPECT_RATIO:
|
||||
case MENU_SETTINGS_VIDEO_SWAP_INTERVAL:
|
||||
case MENU_SETTINGS_VIDEO_HARD_SYNC_FRAMES:
|
||||
case MENU_SETTINGS_VIDEO_MONITOR_INDEX:
|
||||
if (setting)
|
||||
menu_common_setting_set_current_unsigned_integer(setting, action);
|
||||
break;
|
||||
#if defined(HAVE_THREADS)
|
||||
case MENU_SETTINGS_SRAM_AUTOSAVE:
|
||||
if (setting)
|
||||
{
|
||||
if (action == MENU_ACTION_OK || action == MENU_ACTION_RIGHT)
|
||||
*setting->value.unsigned_integer += 10;
|
||||
else if (action == MENU_ACTION_LEFT)
|
||||
{
|
||||
if (*setting->value.unsigned_integer)
|
||||
*setting->value.unsigned_integer -= min(10, *setting->value.unsigned_integer);
|
||||
}
|
||||
else if (action == MENU_ACTION_START)
|
||||
*setting->value.unsigned_integer = 0;
|
||||
|
||||
if (setting->change_handler)
|
||||
setting->change_handler(setting);
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
case MENU_SETTINGS_SAVESTATE_SAVE:
|
||||
case MENU_SETTINGS_SAVESTATE_LOAD:
|
||||
if (action == MENU_ACTION_OK)
|
||||
@ -3466,66 +3437,6 @@ static int menu_common_setting_set(unsigned id, unsigned action, rarch_setting_t
|
||||
return -1;
|
||||
}
|
||||
break;
|
||||
case MENU_SETTINGS_AUDIO_CONTROL_RATE_DELTA:
|
||||
if (action == MENU_ACTION_START)
|
||||
{
|
||||
g_settings.audio.rate_control_delta = rate_control_delta;
|
||||
g_settings.audio.rate_control = rate_control;
|
||||
}
|
||||
else if (action == MENU_ACTION_LEFT)
|
||||
{
|
||||
if (g_settings.audio.rate_control_delta > 0.0)
|
||||
g_settings.audio.rate_control_delta -= 0.001;
|
||||
|
||||
if (g_settings.audio.rate_control_delta < 0.0005)
|
||||
{
|
||||
g_settings.audio.rate_control = false;
|
||||
g_settings.audio.rate_control_delta = 0.0;
|
||||
}
|
||||
else
|
||||
g_settings.audio.rate_control = true;
|
||||
}
|
||||
else if (action == MENU_ACTION_RIGHT)
|
||||
{
|
||||
if (g_settings.audio.rate_control_delta < 0.2)
|
||||
g_settings.audio.rate_control_delta += 0.001;
|
||||
g_settings.audio.rate_control = true;
|
||||
}
|
||||
break;
|
||||
case MENU_SETTINGS_AUDIO_VOLUME:
|
||||
{
|
||||
float db_delta = 0.0f;
|
||||
if (action == MENU_ACTION_START)
|
||||
{
|
||||
g_extern.audio_data.volume_db = 0.0f;
|
||||
g_extern.audio_data.volume_gain = 1.0f;
|
||||
}
|
||||
else if (action == MENU_ACTION_LEFT)
|
||||
db_delta -= 1.0f;
|
||||
else if (action == MENU_ACTION_RIGHT)
|
||||
db_delta += 1.0f;
|
||||
|
||||
if (db_delta != 0.0f)
|
||||
{
|
||||
g_extern.audio_data.volume_db += db_delta;
|
||||
g_extern.audio_data.volume_db = max(g_extern.audio_data.volume_db, -80.0f);
|
||||
g_extern.audio_data.volume_db = min(g_extern.audio_data.volume_db, 12.0f);
|
||||
g_extern.audio_data.volume_gain = db_to_gain(g_extern.audio_data.volume_db);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case MENU_SETTINGS_FASTFORWARD_RATIO:
|
||||
case MENU_SETTINGS_OVERLAY_OPACITY:
|
||||
case MENU_SETTINGS_OVERLAY_SCALE:
|
||||
case MENU_SETTINGS_SLOWMOTION_RATIO:
|
||||
case MENU_SETTINGS_INPUT_AXIS_THRESHOLD:
|
||||
case MENU_SETTINGS_VIDEO_WINDOW_SCALE_X:
|
||||
case MENU_SETTINGS_VIDEO_WINDOW_SCALE_Y:
|
||||
case MENU_SETTINGS_FONT_SIZE:
|
||||
case MENU_SETTINGS_VIDEO_REFRESH_RATE:
|
||||
if (setting)
|
||||
menu_common_setting_set_current_fraction(setting, action);
|
||||
break;
|
||||
case MENU_SETTINGS_DISK_INDEX:
|
||||
{
|
||||
int step = 0;
|
||||
|
@ -1135,9 +1135,7 @@ static void general_write_handler(const void *data)
|
||||
g_extern.audio_data.mute = *setting->value.boolean;
|
||||
else if (!strcmp(setting->name, "audio_volume"))
|
||||
{
|
||||
g_extern.audio_data.volume_db += *setting->value.fraction;
|
||||
g_extern.audio_data.volume_db = max(g_extern.audio_data.volume_db, -80.0f);
|
||||
g_extern.audio_data.volume_db = min(g_extern.audio_data.volume_db, 12.0f);
|
||||
g_extern.audio_data.volume_db = *setting->value.fraction;
|
||||
g_extern.audio_data.volume_gain = db_to_gain(g_extern.audio_data.volume_db);
|
||||
}
|
||||
else if (!strcmp(setting->name, "audio_device"))
|
||||
@ -1515,7 +1513,7 @@ rarch_setting_t* setting_data_get_list(void)
|
||||
CONFIG_UINT(g_settings.rewind_granularity, "rewind_granularity", "Rewind Granularity", rewind_granularity, GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler) WITH_RANGE(1, 32768, 1, true, false)
|
||||
CONFIG_BOOL(g_settings.block_sram_overwrite, "block_sram_overwrite", "SRAM Block overwrite", block_sram_overwrite, GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler)
|
||||
#ifdef HAVE_THREADS
|
||||
CONFIG_UINT(g_settings.autosave_interval, "autosave_interval", "SRAM Autosave", autosave_interval, GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler)
|
||||
CONFIG_UINT(g_settings.autosave_interval, "autosave_interval", "SRAM Autosave", autosave_interval, GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler) WITH_RANGE(0, 0, 10, true, false)
|
||||
#endif
|
||||
CONFIG_BOOL(g_settings.video.disable_composition, "video_disable_composition", "Window Compositing", disable_composition, GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler)
|
||||
CONFIG_BOOL(g_settings.pause_nonactive, "pause_nonactive", "Window Unfocus Pause", pause_nonactive, GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler)
|
||||
@ -1627,13 +1625,13 @@ rarch_setting_t* setting_data_get_list(void)
|
||||
START_SUB_GROUP("State")
|
||||
CONFIG_BOOL(g_settings.audio.enable, "audio_enable", "Audio Enable", audio_enable, GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler)
|
||||
CONFIG_BOOL(g_extern.audio_data.mute, "audio_mute", "Audio Mute", false, GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler)
|
||||
CONFIG_FLOAT(g_settings.audio.volume, "audio_volume", "Volume Level", audio_volume, GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler)
|
||||
CONFIG_FLOAT(g_settings.audio.volume, "audio_volume", "Volume Level", audio_volume, GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler) WITH_RANGE(-80, 12, 1.0, true, true)
|
||||
END_SUB_GROUP()
|
||||
|
||||
START_SUB_GROUP("Synchronization")
|
||||
CONFIG_BOOL(g_settings.audio.sync, "audio_sync", "Audio Sync Enable", audio_sync, GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler)
|
||||
CONFIG_UINT(g_settings.audio.latency, "audio_latency", "Audio Latency", g_defaults.settings.out_latency ? g_defaults.settings.out_latency : out_latency, GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler)
|
||||
CONFIG_FLOAT(g_settings.audio.rate_control_delta, "audio_rate_control_delta", "Audio Rate Control Delta", rate_control_delta, GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler)
|
||||
CONFIG_FLOAT(g_settings.audio.rate_control_delta, "audio_rate_control_delta", "Audio Rate Control Delta", rate_control_delta, GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler) WITH_RANGE(0, 0, 0.001, true, false)
|
||||
CONFIG_UINT(g_settings.audio.block_frames, "audio_block_frames", "Block Frames", 0, GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler)
|
||||
END_SUB_GROUP()
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user