diff options
author | rcombs <rcombs@rcombs.me> | 2021-06-25 02:36:31 -0500 |
---|---|---|
committer | sfan5 <sfan5@live.de> | 2023-06-25 11:01:58 +0200 |
commit | 945d7c1eda47c97c4bfba884fb21f398a64b2289 (patch) | |
tree | 4a3fbf4b840ced36986d7fe898e1ce327a0a0baf /player/lua/osc.lua | |
parent | d8bd1c35ef6fb397a8ad2987cc41bab805f43e6c (diff) | |
download | mpv-945d7c1eda47c97c4bfba884fb21f398a64b2289.tar.bz2 mpv-945d7c1eda47c97c4bfba884fb21f398a64b2289.tar.xz |
osc: add toggle for forced-only subs
Diffstat (limited to 'player/lua/osc.lua')
-rw-r--r-- | player/lua/osc.lua | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/player/lua/osc.lua b/player/lua/osc.lua index f3d4e84fa1..0722102e94 100644 --- a/player/lua/osc.lua +++ b/player/lua/osc.lua @@ -1314,6 +1314,11 @@ layouts["box"] = function () {x = posX - pos_offsetX, y = bigbtnrowY, an = 7, w = 70, h = 18} lo.style = osc_styles.smallButtonsL + lo = add_layout("tog_forced_only") + lo.geometry = + {x = posX - pos_offsetX + 70, y = bigbtnrowY - 1, an = 7, w = 25, h = 18} + lo.style = osc_styles.smallButtonsL + lo = add_layout("tog_fs") lo.geometry = {x = posX+pos_offsetX - 25, y = bigbtnrowY, an = 4, w = 25, h = 25} @@ -1622,6 +1627,12 @@ function bar_layout(direction) lo.geometry = geo lo.style = osc_styles.smallButtonsBar + -- Forced-subs-only button + geo = { x = geo.x - geo.w - padX, y = geo.y, an = geo.an, w = geo.w, h = geo.h } + lo = add_layout("tog_forced_only") + lo.geometry = geo + lo.style = osc_styles.smallButtonsBar + -- Track selection buttons geo = { x = geo.x - tsW - padX, y = geo.y, an = geo.an, w = tsW, h = geo.h } lo = add_layout("cy_sub") @@ -1959,6 +1970,32 @@ function osc_init() ne.eventresponder["shift+mbtn_left_down"] = function () show_message(get_tracklist("sub"), 2) end + -- tog_forced_only + local tog_forced_only = new_element("tog_forced_only", "button") + + ne = tog_forced_only + ne.content = function () + sub_codec = mp.get_property("current-tracks/sub/codec") + if (sub_codec ~= "dvd_subtitle" and sub_codec ~= "hdmv_pgs_subtitle") then + return "" + end + local base_a = tog_forced_only.layout.alpha + local alpha = base_a[1] + if not mp.get_property_bool("sub-forced-only-cur") then + alpha = 255 + end + local ret = assdraw.ass_new() + ret:append("[") + ass_append_alpha(ret, {[1] = alpha, [2] = 1, [3] = base_a[3], [4] = base_a[4]}, 0) + ret:append("F") + ass_append_alpha(ret, base_a, 0) + ret:append("]") + return ret.text + end + ne.eventresponder["mbtn_left_up"] = function () + mp.set_property_bool("sub-forced-only", (not mp.get_property_bool("sub-forced-only-cur"))) + end + --tog_fs ne = new_element("tog_fs", "button") ne.content = function () |