(Menu) Refactor MENU_SETTINGS_AUDIO_OPTIONS

This commit is contained in:
twinaphex 2014-09-04 18:37:31 +02:00
parent 6116fb4b33
commit 497e497c3f
6 changed files with 37 additions and 17 deletions

View File

@ -1829,7 +1829,7 @@ static int menu_action_ok(const char *dir,
&& type == MENU_FILE_PLAIN)
{
menu_common_setting_set_current_string_path(setting, dir, path);
menu_flush_stack_type(driver.menu->menu_stack,MENU_SETTINGS_AUDIO_OPTIONS);
menu_flush_stack_label(driver.menu->menu_stack, "Audio Options");
}
#ifdef HAVE_SHADER_MANAGER
else if (!strcmp(menu_label, "video_shader_preset")

View File

@ -49,7 +49,7 @@ static void get_title(const char *label, const char *dir,
strlcpy(title, "FONT OPTIONS", sizeof_title);
else if (!strcmp(dir, "General Options"))
strlcpy(title, "GENERAL OPTIONS", sizeof_title);
else if (menu_type == MENU_SETTINGS_AUDIO_OPTIONS)
else if (!strcmp(label, "Audio Options"))
strlcpy(title, "AUDIO OPTIONS", sizeof_title);
else if (menu_type == MENU_SETTINGS_DISK_OPTIONS)
strlcpy(title, "DISK OPTIONS", sizeof_title);

View File

@ -652,7 +652,7 @@ unsigned menu_common_type_is(const char *label, unsigned type)
type == MENU_SETTINGS_SHADER_OPTIONS ||
type == MENU_SETTINGS_SHADER_PARAMETERS ||
type == MENU_SETTINGS_SHADER_PRESET_PARAMETERS ||
type == MENU_SETTINGS_AUDIO_OPTIONS ||
!strcmp(label, "Audio Options") ||
type == MENU_SETTINGS_DISK_OPTIONS ||
type == MENU_SETTINGS_PATH_OPTIONS ||
!strcmp(label, "Privacy Options") ||

View File

@ -108,7 +108,6 @@ typedef enum
// settings options are done here too
MENU_SETTINGS_CONFIG,
MENU_SETTINGS_AUDIO_OPTIONS,
MENU_SETTINGS_INPUT_OPTIONS,
MENU_SETTINGS_PATH_OPTIONS,
MENU_SETTINGS_OPTIONS,

View File

@ -344,6 +344,19 @@ int menu_entries_push_list(menu_handle_t *menu,
file_list_push(list, "No options available.", "",
MENU_SETTINGS_CORE_OPTION_NONE, 0);
}
else if (!strcmp(label, "Audio Options"))
{
file_list_clear(list);
add_setting_entry(menu,list,"audio_dsp_plugin", 0, setting_data);
add_setting_entry(menu,list,"audio_enable", 0, setting_data);
add_setting_entry(menu,list,"audio_mute", 0, setting_data);
add_setting_entry(menu,list,"audio_latency", 0, setting_data);
add_setting_entry(menu,list,"audio_sync", 0, setting_data);
add_setting_entry(menu,list,"audio_rate_control_delta", 0, setting_data);
add_setting_entry(menu,list,"system_bgm_enable", 0, setting_data);
add_setting_entry(menu,list,"audio_volume", 0, setting_data);
add_setting_entry(menu,list,"audio_device", 0, setting_data);
}
else
{
switch (menu_type)
@ -452,7 +465,7 @@ int menu_entries_push_list(menu_handle_t *menu,
add_setting_entry(menu,list,"Video Options", MENU_SETTINGS_VIDEO_OPTIONS, setting_data);
add_setting_entry(menu,list,"Shader Options", MENU_SETTINGS_SHADER_OPTIONS, setting_data);
add_setting_entry(menu,list,"Font Options", MENU_SETTINGS_FONT_OPTIONS, setting_data);
add_setting_entry(menu,list,"Audio Options", MENU_SETTINGS_AUDIO_OPTIONS, setting_data);
add_setting_entry(menu,list,"Audio Options", MENU_FILE_SWITCH, setting_data);
add_setting_entry(menu,list,"Input Options", MENU_SETTINGS_INPUT_OPTIONS, setting_data);
add_setting_entry(menu,list,"Overlay Options", MENU_FILE_SWITCH, setting_data);
add_setting_entry(menu,list,"User Options", MENU_FILE_SWITCH, setting_data);
@ -518,18 +531,6 @@ int menu_entries_push_list(menu_handle_t *menu,
input_config_bind_map[i - MENU_SETTINGS_BIND_BEGIN].desc,
"", i, 0);
break;
case MENU_SETTINGS_AUDIO_OPTIONS:
file_list_clear(list);
add_setting_entry(menu,list,"audio_dsp_plugin", 0, setting_data);
add_setting_entry(menu,list,"audio_enable", 0, setting_data);
add_setting_entry(menu,list,"audio_mute", 0, setting_data);
add_setting_entry(menu,list,"audio_latency", 0, setting_data);
add_setting_entry(menu,list,"audio_sync", 0, setting_data);
add_setting_entry(menu,list,"audio_rate_control_delta", 0, setting_data);
add_setting_entry(menu,list,"system_bgm_enable", 0, setting_data);
add_setting_entry(menu,list,"audio_volume", 0, setting_data);
add_setting_entry(menu,list,"audio_device", 0, setting_data);
break;
case MENU_SETTINGS_DRIVERS:
file_list_clear(list);
add_setting_entry(menu,list,"video_driver", 0, setting_data);
@ -826,6 +827,25 @@ void menu_flush_stack_type(file_list_t *list,
}
}
void menu_flush_stack_label(file_list_t *list,
const char *needle)
{
const char *path = NULL;
const char *label = NULL;
unsigned type = 0;
if (!driver.menu)
return;
driver.menu->need_refresh = true;
file_list_get_last(list, &path, &label, &type);
while (strcmp(needle, label) != 0)
{
file_list_pop(list, &driver.menu->selection_ptr);
file_list_get_last(list, &path, &label, &type);
}
}
void menu_entries_push(file_list_t *list,
const char *path, const char *label, unsigned type,
size_t directory_ptr)

View File

@ -36,6 +36,7 @@ int menu_parse_and_resolve(file_list_t *list, file_list_t *menu_list);
void menu_entries_pop(file_list_t *list);
void menu_flush_stack_type(file_list_t *list, unsigned final_type);
void menu_flush_stack_label(file_list_t *list, const char *needle);
int menu_entries_get_description(const char *label, char *msg,
size_t sizeof_msg);