summaryrefslogtreecommitdiffstats
path: root/player
diff options
context:
space:
mode:
authorrcombs <rcombs@rcombs.me>2023-01-28 15:27:24 -0600
committerrcombs <rcombs@rcombs.me>2023-02-26 17:54:09 -0600
commitd941564d48e4963b3b69370d0a8313bea2bec678 (patch)
tree17e5221d4375466746f14e7aeeba516cba9f5db8 /player
parent894f0c28ebae55b5dbaed57b817a67e975a6da58 (diff)
downloadmpv-d941564d48e4963b3b69370d0a8313bea2bec678.tar.bz2
mpv-d941564d48e4963b3b69370d0a8313bea2bec678.tar.xz
console: observe osc margins from user-data instead of shared-script-properties
Diffstat (limited to 'player')
-rw-r--r--player/lua/console.lua25
1 files changed, 8 insertions, 17 deletions
diff --git a/player/lua/console.lua b/player/lua/console.lua
index 935753d19c..facf9321eb 100644
--- a/player/lua/console.lua
+++ b/player/lua/console.lua
@@ -66,8 +66,7 @@ local history = {}
local history_pos = 1
local log_buffer = {}
local key_bindings = {}
-local global_margin_top = 0
-local global_margin_bottom = 0
+local global_margins = { t = 0, b = 0 }
local update_timer = nil
update_timer = mp.add_periodic_timer(0.05, function()
@@ -79,19 +78,11 @@ update_timer = mp.add_periodic_timer(0.05, function()
end)
update_timer:kill()
-utils.shared_script_property_observe("osc-margins", function(_, val)
+mp.observe_property("user-data/osc/margins", "native", function(_, val)
if val then
- -- formatted as "%f,%f,%f,%f" with left, right, top, bottom, each
- -- value being the border size as ratio of the window size (0.0-1.0)
- local vals = {}
- for v in string.gmatch(val, "[^,]+") do
- vals[#vals + 1] = tonumber(v)
- end
- global_margin_top = vals[3] -- top
- global_margin_bottom = vals[4] -- bottom
+ global_margins = val
else
- global_margin_top = 0
- global_margin_bottom = 0
+ global_margins = { t = 0, b = 0 }
end
update()
end)
@@ -148,7 +139,7 @@ function update()
return
end
- local coordinate_top = math.floor(global_margin_top * screeny + 0.5)
+ local coordinate_top = math.floor(global_margins.t * screeny + 0.5)
local clipping_coordinates = '0,' .. coordinate_top .. ',' ..
screenx .. ',' .. screeny
local ass = assdraw.ass_new()
@@ -177,7 +168,7 @@ function update()
-- messages.
local log_ass = ''
local log_messages = #log_buffer
- local screeny_factor = (1 - global_margin_top - global_margin_bottom)
+ local screeny_factor = (1 - global_margins.t - global_margins.b)
-- subtract 1.5 to account for the input line
local log_max_lines = screeny * screeny_factor / opts.font_size - 1.5
log_max_lines = math.ceil(log_max_lines)
@@ -190,7 +181,7 @@ function update()
ass:new_event()
ass:an(1)
- ass:pos(2, screeny - 2 - global_margin_bottom * screeny)
+ ass:pos(2, screeny - 2 - global_margins.b * screeny)
ass:append(log_ass .. '\\N')
ass:append(style .. '> ' .. before_cur)
ass:append(cglyph)
@@ -200,7 +191,7 @@ function update()
-- cursor appear in front of the text.
ass:new_event()
ass:an(1)
- ass:pos(2, screeny - 2 - global_margin_bottom * screeny)
+ ass:pos(2, screeny - 2 - global_margins.b * screeny)
ass:append(style .. '{\\alpha&HFF&}> ' .. before_cur)
ass:append(cglyph)
ass:append(style .. '{\\alpha&HFF&}' .. after_cur)