(Menu) refactor more settings

This commit is contained in:
twinaphex 2014-08-09 05:41:25 +02:00
parent fb1f525901
commit 622da58665
2 changed files with 10 additions and 101 deletions

View File

@ -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;

View File

@ -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()