(Menu) Create Video -> Synchronization

This commit is contained in:
twinaphex 2019-12-19 19:39:02 +01:00
parent 39ebd6e8d1
commit aa537310ad
11 changed files with 84 additions and 35 deletions

View File

@ -439,6 +439,8 @@ MSG_HASH(MENU_ENUM_LABEL_DEFERRED_VIDEO_OUTPUT_SETTINGS_LIST,
"deferred_video_output_settings_list")
MSG_HASH(MENU_ENUM_LABEL_DEFERRED_VIDEO_SCALING_SETTINGS_LIST,
"deferred_video_scaling_settings_list")
MSG_HASH(MENU_ENUM_LABEL_DEFERRED_VIDEO_SYNCHRONIZATION_SETTINGS_LIST,
"deferred_video_synchronization_settings_list")
MSG_HASH(MENU_ENUM_LABEL_DEFERRED_CRT_SWITCHRES_SETTINGS_LIST,
"deferred_crt_switchres_settings_list")
MSG_HASH(MENU_ENUM_LABEL_DEFERRED_WIFI_SETTINGS_LIST,
@ -1419,6 +1421,8 @@ MSG_HASH(MENU_ENUM_LABEL_VIDEO_FULLSCREEN_MODE_SETTINGS,
"video_fullscreen_mode_settings")
MSG_HASH(MENU_ENUM_LABEL_VIDEO_SCALING_SETTINGS,
"video_scaling_settings")
MSG_HASH(MENU_ENUM_LABEL_VIDEO_SYNCHRONIZATION_SETTINGS,
"video_synchronization_settings")
MSG_HASH(MENU_ENUM_LABEL_VIDEO_OUTPUT_SETTINGS,
"video_output_settings")
MSG_HASH(MENU_ENUM_LABEL_CRT_SWITCHRES_SETTINGS,

View File

@ -10228,3 +10228,11 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_VIDEO_OUTPUT_SETTINGS,
"Change video output settings."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_VIDEO_SYNCHRONIZATION_SETTINGS,
"Synchronization"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_VIDEO_SYNCHRONIZATION_SETTINGS,
"Change video synchronization settings."
)

View File

@ -147,6 +147,7 @@ generic_deferred_push(deferred_push_core_settings_list, DISPLAYLIST_
generic_deferred_push(deferred_push_video_settings_list, DISPLAYLIST_VIDEO_SETTINGS_LIST)
generic_deferred_push(deferred_push_video_fullscreen_mode_settings_list, DISPLAYLIST_VIDEO_FULLSCREEN_MODE_SETTINGS_LIST)
generic_deferred_push(deferred_push_video_windowed_mode_settings_list, DISPLAYLIST_VIDEO_WINDOWED_MODE_SETTINGS_LIST)
generic_deferred_push(deferred_push_video_synchronization_settings_list, DISPLAYLIST_VIDEO_SYNCHRONIZATION_SETTINGS_LIST)
generic_deferred_push(deferred_push_video_output_settings_list, DISPLAYLIST_VIDEO_OUTPUT_SETTINGS_LIST)
generic_deferred_push(deferred_push_video_scaling_settings_list, DISPLAYLIST_VIDEO_SCALING_SETTINGS_LIST)
generic_deferred_push(deferred_push_crt_switchres_settings_list, DISPLAYLIST_CRT_SWITCHRES_SETTINGS_LIST)
@ -729,6 +730,7 @@ static int menu_cbs_init_bind_deferred_push_compare_label(
{MENU_ENUM_LABEL_DEFERRED_VIDEO_SETTINGS_LIST, deferred_push_video_settings_list},
{MENU_ENUM_LABEL_DEFERRED_VIDEO_FULLSCREEN_MODE_SETTINGS_LIST, deferred_push_video_fullscreen_mode_settings_list},
{MENU_ENUM_LABEL_DEFERRED_VIDEO_WINDOWED_MODE_SETTINGS_LIST, deferred_push_video_windowed_mode_settings_list},
{MENU_ENUM_LABEL_DEFERRED_VIDEO_SYNCHRONIZATION_SETTINGS_LIST, deferred_push_video_synchronization_settings_list},
{MENU_ENUM_LABEL_DEFERRED_VIDEO_OUTPUT_SETTINGS_LIST, deferred_push_video_output_settings_list},
{MENU_ENUM_LABEL_DEFERRED_VIDEO_SCALING_SETTINGS_LIST, deferred_push_video_scaling_settings_list},
{MENU_ENUM_LABEL_DEFERRED_CRT_SWITCHRES_SETTINGS_LIST, deferred_push_crt_switchres_settings_list},
@ -1069,6 +1071,9 @@ static int menu_cbs_init_bind_deferred_push_compare_label(
case MENU_ENUM_LABEL_DEFERRED_VIDEO_WINDOWED_MODE_SETTINGS_LIST:
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_video_windowed_mode_settings_list);
break;
case MENU_ENUM_LABEL_DEFERRED_VIDEO_SYNCHRONIZATION_SETTINGS_LIST:
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_video_synchronization_settings_list);
break;
case MENU_ENUM_LABEL_DEFERRED_VIDEO_OUTPUT_SETTINGS_LIST:
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_video_output_settings_list);
break;

View File

@ -202,6 +202,8 @@ static enum msg_hash_enums action_ok_dl_to_enum(unsigned lbl)
return MENU_ENUM_LABEL_DEFERRED_CORE_SETTINGS_LIST;
case ACTION_OK_DL_VIDEO_SETTINGS_LIST:
return MENU_ENUM_LABEL_DEFERRED_VIDEO_SETTINGS_LIST;
case ACTION_OK_DL_VIDEO_SYNCHRONIZATION_SETTINGS_LIST:
return MENU_ENUM_LABEL_DEFERRED_VIDEO_SYNCHRONIZATION_SETTINGS_LIST;
case ACTION_OK_DL_VIDEO_FULLSCREEN_MODE_SETTINGS_LIST:
return MENU_ENUM_LABEL_DEFERRED_VIDEO_FULLSCREEN_MODE_SETTINGS_LIST;
case ACTION_OK_DL_VIDEO_WINDOWED_MODE_SETTINGS_LIST:
@ -1019,6 +1021,7 @@ int generic_action_ok_displaylist_push(const char *path,
case ACTION_OK_DL_DRIVER_SETTINGS_LIST:
case ACTION_OK_DL_CORE_SETTINGS_LIST:
case ACTION_OK_DL_VIDEO_SETTINGS_LIST:
case ACTION_OK_DL_VIDEO_SYNCHRONIZATION_SETTINGS_LIST:
case ACTION_OK_DL_VIDEO_FULLSCREEN_MODE_SETTINGS_LIST:
case ACTION_OK_DL_VIDEO_WINDOWED_MODE_SETTINGS_LIST:
case ACTION_OK_DL_VIDEO_SCALING_SETTINGS_LIST:
@ -4740,6 +4743,7 @@ default_action_ok_func(action_ok_push_driver_settings_list, ACTION_OK_DL_DRIVER_
default_action_ok_func(action_ok_push_crt_switchres_settings_list, ACTION_OK_DL_CRT_SWITCHRES_SETTINGS_LIST)
default_action_ok_func(action_ok_push_video_settings_list, ACTION_OK_DL_VIDEO_SETTINGS_LIST)
default_action_ok_func(action_ok_push_video_fullscreen_mode_settings_list, ACTION_OK_DL_VIDEO_FULLSCREEN_MODE_SETTINGS_LIST)
default_action_ok_func(action_ok_push_video_synchronization_settings_list, ACTION_OK_DL_VIDEO_SYNCHRONIZATION_SETTINGS_LIST)
default_action_ok_func(action_ok_push_video_windowed_mode_settings_list, ACTION_OK_DL_VIDEO_WINDOWED_MODE_SETTINGS_LIST)
default_action_ok_func(action_ok_push_video_scaling_settings_list, ACTION_OK_DL_VIDEO_SCALING_SETTINGS_LIST)
default_action_ok_func(action_ok_push_video_output_settings_list, ACTION_OK_DL_VIDEO_OUTPUT_SETTINGS_LIST)
@ -6397,6 +6401,9 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs,
case MENU_ENUM_LABEL_VIDEO_SETTINGS:
BIND_ACTION_OK(cbs, action_ok_push_video_settings_list);
break;
case MENU_ENUM_LABEL_VIDEO_SYNCHRONIZATION_SETTINGS:
BIND_ACTION_OK(cbs, action_ok_push_video_synchronization_settings_list);
break;
case MENU_ENUM_LABEL_VIDEO_FULLSCREEN_MODE_SETTINGS:
BIND_ACTION_OK(cbs, action_ok_push_video_fullscreen_mode_settings_list);
break;

View File

@ -172,6 +172,7 @@ default_sublabel_macro(action_bind_sublabel_quick_menu_views_settings_list, MENU
default_sublabel_macro(action_bind_sublabel_settings_views_settings_list, MENU_ENUM_SUBLABEL_SETTINGS_VIEWS_SETTINGS)
default_sublabel_macro(action_bind_sublabel_menu_settings_list, MENU_ENUM_SUBLABEL_MENU_SETTINGS)
default_sublabel_macro(action_bind_sublabel_video_settings_list, MENU_ENUM_SUBLABEL_VIDEO_SETTINGS)
default_sublabel_macro(action_bind_sublabel_video_synchronization_settings_list, MENU_ENUM_SUBLABEL_VIDEO_SYNCHRONIZATION_SETTINGS)
default_sublabel_macro(action_bind_sublabel_video_fullscreen_mode_settings_list, MENU_ENUM_SUBLABEL_VIDEO_FULLSCREEN_MODE_SETTINGS)
default_sublabel_macro(action_bind_sublabel_video_windowed_mode_settings_list, MENU_ENUM_SUBLABEL_VIDEO_WINDOWED_MODE_SETTINGS)
default_sublabel_macro(action_bind_sublabel_video_scaling_settings_list, MENU_ENUM_SUBLABEL_VIDEO_SCALING_SETTINGS)
@ -2698,6 +2699,9 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs,
case MENU_ENUM_LABEL_VIDEO_SETTINGS:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_video_settings_list);
break;
case MENU_ENUM_LABEL_VIDEO_SYNCHRONIZATION_SETTINGS:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_video_synchronization_settings_list);
break;
case MENU_ENUM_LABEL_VIDEO_FULLSCREEN_MODE_SETTINGS:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_video_fullscreen_mode_settings_list);
break;

View File

@ -333,6 +333,7 @@ default_title_macro(action_get_video_fullscreen_mode_settings_list, MENU_ENU
default_title_macro(action_get_video_windowed_mode_settings_list, MENU_ENUM_LABEL_VALUE_VIDEO_WINDOWED_MODE_SETTINGS)
default_title_macro(action_get_video_scaling_settings_list, MENU_ENUM_LABEL_VALUE_VIDEO_SCALING_SETTINGS)
default_title_macro(action_get_video_output_settings_list, MENU_ENUM_LABEL_VALUE_VIDEO_OUTPUT_SETTINGS)
default_title_macro(action_get_video_synchronization_settings_list, MENU_ENUM_LABEL_VALUE_VIDEO_SYNCHRONIZATION_SETTINGS)
default_title_macro(action_get_crt_switchres_settings_list, MENU_ENUM_LABEL_VALUE_CRT_SWITCHRES_SETTINGS)
default_title_macro(action_get_configuration_settings_list, MENU_ENUM_LABEL_VALUE_CONFIGURATION_SETTINGS)
default_title_macro(action_get_load_disc_list, MENU_ENUM_LABEL_VALUE_LOAD_DISC)
@ -675,6 +676,7 @@ static int menu_cbs_init_bind_title_compare_label(menu_file_list_cbs_t *cbs,
{MENU_ENUM_LABEL_DEFERRED_RECORDING_SETTINGS_LIST, action_get_recording_settings_list},
{MENU_ENUM_LABEL_DEFERRED_VIDEO_SCALING_SETTINGS_LIST, action_get_video_scaling_settings_list},
{MENU_ENUM_LABEL_DEFERRED_VIDEO_OUTPUT_SETTINGS_LIST, action_get_video_output_settings_list},
{MENU_ENUM_LABEL_DEFERRED_VIDEO_SYNCHRONIZATION_SETTINGS_LIST, action_get_video_synchronization_settings_list},
{MENU_ENUM_LABEL_DEFERRED_VIDEO_WINDOWED_MODE_SETTINGS_LIST, action_get_video_windowed_mode_settings_list},
{MENU_ENUM_LABEL_DEFERRED_VIDEO_FULLSCREEN_MODE_SETTINGS_LIST, action_get_video_fullscreen_mode_settings_list},
};

View File

@ -84,6 +84,7 @@ enum
ACTION_OK_DL_VIDEO_SETTINGS_LIST,
ACTION_OK_DL_VIDEO_FULLSCREEN_MODE_SETTINGS_LIST,
ACTION_OK_DL_VIDEO_WINDOWED_MODE_SETTINGS_LIST,
ACTION_OK_DL_VIDEO_SYNCHRONIZATION_SETTINGS_LIST,
ACTION_OK_DL_VIDEO_OUTPUT_SETTINGS_LIST,
ACTION_OK_DL_VIDEO_SCALING_SETTINGS_LIST,
ACTION_OK_DL_CRT_SWITCHRES_SETTINGS_LIST,

View File

@ -4165,12 +4165,16 @@ unsigned menu_displaylist_build_list(file_list_t *list, enum menu_displaylist_ct
MENU_ENUM_LABEL_VIDEO_FULLSCREEN_MODE_SETTINGS,
PARSE_ACTION, false) == 0)
count++;
if (menu_displaylist_parse_settings_enum(list,
MENU_ENUM_LABEL_VIDEO_WINDOWED_MODE_SETTINGS,
PARSE_ACTION, false) == 0)
count++;
if (menu_displaylist_parse_settings_enum(list,
MENU_ENUM_LABEL_VIDEO_SCALING_SETTINGS,
PARSE_ACTION, false) == 0)
count++;
if (menu_displaylist_parse_settings_enum(list,
MENU_ENUM_LABEL_VIDEO_WINDOWED_MODE_SETTINGS,
MENU_ENUM_LABEL_VIDEO_SYNCHRONIZATION_SETTINGS,
PARSE_ACTION, false) == 0)
count++;
if (menu_displaylist_parse_settings_enum(list,
@ -4194,40 +4198,6 @@ unsigned menu_displaylist_build_list(file_list_t *list, enum menu_displaylist_ct
MENU_ENUM_LABEL_VIDEO_THREADED,
PARSE_ONLY_BOOL, false) == 0)
count++;
if (menu_displaylist_parse_settings_enum(list,
MENU_ENUM_LABEL_VIDEO_VSYNC,
PARSE_ONLY_BOOL, false) == 0)
count++;
if (menu_displaylist_parse_settings_enum(list,
MENU_ENUM_LABEL_VIDEO_SWAP_INTERVAL,
PARSE_ONLY_UINT, false) == 0)
count++;
if (menu_displaylist_parse_settings_enum(list,
MENU_ENUM_LABEL_VIDEO_ADAPTIVE_VSYNC,
PARSE_ONLY_BOOL, false) == 0)
count++;
if (video_driver_test_all_flags(GFX_CTX_FLAGS_CUSTOMIZABLE_SWAPCHAIN_IMAGES))
{
if (menu_displaylist_parse_settings_enum(list,
MENU_ENUM_LABEL_VIDEO_MAX_SWAPCHAIN_IMAGES,
PARSE_ONLY_UINT, false) == 0)
count++;
}
if (video_driver_test_all_flags(GFX_CTX_FLAGS_HARD_SYNC))
{
if (menu_displaylist_parse_settings_enum(list,
MENU_ENUM_LABEL_VIDEO_HARD_SYNC,
PARSE_ONLY_BOOL, false) == 0)
count++;
if (menu_displaylist_parse_settings_enum(list,
MENU_ENUM_LABEL_VIDEO_HARD_SYNC_FRAMES,
PARSE_ONLY_UINT, false) == 0)
count++;
}
if (menu_displaylist_parse_settings_enum(list,
MENU_ENUM_LABEL_VIDEO_FRAME_DELAY,
PARSE_ONLY_UINT, false) == 0)
count++;
if (menu_displaylist_parse_settings_enum(list,
MENU_ENUM_LABEL_VIDEO_BLACK_FRAME_INSERTION,
PARSE_ONLY_BOOL, false) == 0)
@ -5657,6 +5627,42 @@ unsigned menu_displaylist_build_list(file_list_t *list, enum menu_displaylist_ct
PARSE_ONLY_FLOAT, false) == 0)
count++;
break;
case DISPLAYLIST_VIDEO_SYNCHRONIZATION_SETTINGS_LIST:
if (menu_displaylist_parse_settings_enum(list,
MENU_ENUM_LABEL_VIDEO_VSYNC,
PARSE_ONLY_BOOL, false) == 0)
count++;
if (menu_displaylist_parse_settings_enum(list,
MENU_ENUM_LABEL_VIDEO_SWAP_INTERVAL,
PARSE_ONLY_UINT, false) == 0)
count++;
if (menu_displaylist_parse_settings_enum(list,
MENU_ENUM_LABEL_VIDEO_ADAPTIVE_VSYNC,
PARSE_ONLY_BOOL, false) == 0)
count++;
if (video_driver_test_all_flags(GFX_CTX_FLAGS_CUSTOMIZABLE_SWAPCHAIN_IMAGES))
{
if (menu_displaylist_parse_settings_enum(list,
MENU_ENUM_LABEL_VIDEO_MAX_SWAPCHAIN_IMAGES,
PARSE_ONLY_UINT, false) == 0)
count++;
}
if (video_driver_test_all_flags(GFX_CTX_FLAGS_HARD_SYNC))
{
if (menu_displaylist_parse_settings_enum(list,
MENU_ENUM_LABEL_VIDEO_HARD_SYNC,
PARSE_ONLY_BOOL, false) == 0)
count++;
if (menu_displaylist_parse_settings_enum(list,
MENU_ENUM_LABEL_VIDEO_HARD_SYNC_FRAMES,
PARSE_ONLY_UINT, false) == 0)
count++;
}
if (menu_displaylist_parse_settings_enum(list,
MENU_ENUM_LABEL_VIDEO_FRAME_DELAY,
PARSE_ONLY_UINT, false) == 0)
count++;
break;
case DISPLAYLIST_VIDEO_SCALING_SETTINGS_LIST:
if (menu_displaylist_parse_settings_enum(list,
MENU_ENUM_LABEL_VIDEO_SCALE_INTEGER,
@ -8236,6 +8242,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type,
case DISPLAYLIST_VIDEO_FULLSCREEN_MODE_SETTINGS_LIST:
case DISPLAYLIST_VIDEO_WINDOWED_MODE_SETTINGS_LIST:
case DISPLAYLIST_VIDEO_OUTPUT_SETTINGS_LIST:
case DISPLAYLIST_VIDEO_SYNCHRONIZATION_SETTINGS_LIST:
case DISPLAYLIST_VIDEO_SCALING_SETTINGS_LIST:
case DISPLAYLIST_OPTIONS_DISK:
case DISPLAYLIST_AI_SERVICE_SETTINGS_LIST:

View File

@ -137,6 +137,7 @@ enum menu_displaylist_ctl_state
DISPLAYLIST_DRIVER_SETTINGS_LIST,
DISPLAYLIST_VIDEO_FULLSCREEN_MODE_SETTINGS_LIST,
DISPLAYLIST_VIDEO_WINDOWED_MODE_SETTINGS_LIST,
DISPLAYLIST_VIDEO_SYNCHRONIZATION_SETTINGS_LIST,
DISPLAYLIST_VIDEO_OUTPUT_SETTINGS_LIST,
DISPLAYLIST_VIDEO_SCALING_SETTINGS_LIST,
DISPLAYLIST_CRT_SWITCHRES_SETTINGS_LIST,

View File

@ -9681,6 +9681,14 @@ static bool setting_append_list(
END_SUB_GROUP(list, list_info, parent_group);
START_SUB_GROUP(list, list_info, "Scaling", &group_info, &subgroup_info, parent_group);
CONFIG_ACTION(
list, list_info,
MENU_ENUM_LABEL_VIDEO_SYNCHRONIZATION_SETTINGS,
MENU_ENUM_LABEL_VALUE_VIDEO_SYNCHRONIZATION_SETTINGS,
&group_info,
&subgroup_info,
parent_group);
CONFIG_ACTION(
list, list_info,
MENU_ENUM_LABEL_VIDEO_SCALING_SETTINGS,

View File

@ -1308,6 +1308,7 @@ enum msg_hash_enums
MENU_ENUM_LABEL_DEFERRED_VIDEO_WINDOWED_MODE_SETTINGS_LIST,
MENU_ENUM_LABEL_DEFERRED_VIDEO_FULLSCREEN_MODE_SETTINGS_LIST,
MENU_ENUM_LABEL_DEFERRED_VIDEO_OUTPUT_SETTINGS_LIST,
MENU_ENUM_LABEL_DEFERRED_VIDEO_SYNCHRONIZATION_SETTINGS_LIST,
MENU_ENUM_LABEL_DEFERRED_VIDEO_SCALING_SETTINGS_LIST,
MENU_ENUM_LABEL_DEFERRED_CRT_SWITCHRES_SETTINGS_LIST,
MENU_ENUM_LABEL_DEFERRED_CONFIGURATION_SETTINGS_LIST,
@ -1936,6 +1937,7 @@ enum msg_hash_enums
MENU_LABEL(VIDEO_WINDOWED_MODE_SETTINGS),
MENU_LABEL(VIDEO_FULLSCREEN_MODE_SETTINGS),
MENU_LABEL(VIDEO_OUTPUT_SETTINGS),
MENU_LABEL(VIDEO_SYNCHRONIZATION_SETTINGS),
MENU_LABEL(VIDEO_SCALING_SETTINGS),
MENU_LABEL(CRT_SWITCHRES_SETTINGS),
MENU_LABEL(AUDIO_SETTINGS),