From ef11d95be949e31cf464757c7990a469ac0cb9b8 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Mon, 21 Nov 2016 07:40:54 +0100 Subject: [PATCH] Add sublabels --- intl/msg_hash_us.h | 4 ++++ menu/cbs/menu_cbs_sublabel.c | 28 ++++++++++++++++++++++++++++ msg_hash.h | 10 +++++++--- 3 files changed, 39 insertions(+), 3 deletions(-) diff --git a/intl/msg_hash_us.h b/intl/msg_hash_us.h index 367eee2caf..7795250785 100644 --- a/intl/msg_hash_us.h +++ b/intl/msg_hash_us.h @@ -2060,3 +2060,7 @@ MSG_HASH(MSG_VIEWPORT_SIZE_CALCULATION_FAILED, "Viewport size calculation failed! Will continue using raw data. This will probably not work right ...") MSG_HASH(MSG_VIRTUAL_DISK_TRAY, "virtual disk tray.") +MSG_HASH(MENU_ENUM_SUBLABEL_AUDIO_LATENCY, + "Desired audio latency in milliseconds. Might not be honored if the audio driver can't provide given latency.") +MSG_HASH(MENU_ENUM_SUBLABEL_AUDIO_MUTE, + "Mute/unmute audio.") diff --git a/menu/cbs/menu_cbs_sublabel.c b/menu/cbs/menu_cbs_sublabel.c index cee99f448a..4d57f3419f 100644 --- a/menu/cbs/menu_cbs_sublabel.c +++ b/menu/cbs/menu_cbs_sublabel.c @@ -435,6 +435,28 @@ static int action_bind_sublabel_video_shared_context( return 0; } +static int action_bind_sublabel_audio_latency( + file_list_t *list, + unsigned type, unsigned i, + const char *label, const char *path, + char *s, size_t len) +{ + + strlcpy(s, msg_hash_to_str(MENU_ENUM_SUBLABEL_AUDIO_LATENCY), len); + return 0; +} + +static int action_bind_sublabel_audio_mute( + file_list_t *list, + unsigned type, unsigned i, + const char *label, const char *path, + char *s, size_t len) +{ + + strlcpy(s, msg_hash_to_str(MENU_ENUM_SUBLABEL_AUDIO_MUTE), len); + return 0; +} + int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs, const char *path, const char *label, unsigned type, size_t idx) { @@ -447,6 +469,12 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs, { switch (cbs->enum_idx) { + case MENU_ENUM_LABEL_AUDIO_MUTE: + BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_audio_mute); + break; + case MENU_ENUM_LABEL_AUDIO_LATENCY: + BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_audio_latency); + break; case MENU_ENUM_LABEL_VIDEO_SHARED_CONTEXT: BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_video_shared_context); break; diff --git a/msg_hash.h b/msg_hash.h index c594c1fb57..6c69108ec0 100644 --- a/msg_hash.h +++ b/msg_hash.h @@ -1120,27 +1120,31 @@ enum msg_hash_enums MENU_ENUM_LABEL_AUDIO_ENABLE, MENU_ENUM_LABEL_AUDIO_SYNC, MENU_ENUM_LABEL_AUDIO_VOLUME, - MENU_ENUM_LABEL_AUDIO_LATENCY, MENU_ENUM_LABEL_AUDIO_RATE_CONTROL_DELTA, MENU_ENUM_LABEL_AUDIO_MAX_TIMING_SKEW, MENU_ENUM_LABEL_AUDIO_DEVICE, MENU_ENUM_LABEL_AUDIO_BLOCK_FRAMES, - MENU_ENUM_LABEL_AUDIO_MUTE, MENU_ENUM_LABEL_AUDIO_OUTPUT_RATE, MENU_ENUM_LABEL_AUDIO_DSP_PLUGIN, + MENU_ENUM_LABEL_AUDIO_MUTE, MENU_ENUM_LABEL_VALUE_AUDIO_MUTE, + MENU_ENUM_SUBLABEL_AUDIO_MUTE, + MENU_ENUM_LABEL_VALUE_AUDIO_OUTPUT_RATE, MENU_ENUM_LABEL_VALUE_AUDIO_DSP_PLUGIN, MENU_ENUM_LABEL_VALUE_AUDIO_BLOCK_FRAMES, MENU_ENUM_LABEL_VALUE_AUDIO_ENABLE, MENU_ENUM_LABEL_VALUE_AUDIO_SYNC, MENU_ENUM_LABEL_VALUE_AUDIO_VOLUME, - MENU_ENUM_LABEL_VALUE_AUDIO_LATENCY, MENU_ENUM_LABEL_VALUE_AUDIO_RATE_CONTROL_DELTA, MENU_ENUM_LABEL_VALUE_AUDIO_MAX_TIMING_SKEW, MENU_ENUM_LABEL_VALUE_AUDIO_DEVICE, + MENU_ENUM_LABEL_AUDIO_LATENCY, + MENU_ENUM_LABEL_VALUE_AUDIO_LATENCY, + MENU_ENUM_SUBLABEL_AUDIO_LATENCY, + MENU_ENUM_LABEL_SAVE_STATE, MENU_ENUM_LABEL_VALUE_LOAD_STATE, MENU_ENUM_LABEL_VALUE_UNDO_LOAD_STATE,