From c6e0d6fa8a84b96d860b4487f12e0f53137dd790 Mon Sep 17 00:00:00 2001 From: Sam <17427046+Samillion@users.noreply.github.com> Date: Sun, 27 Oct 2024 01:17:24 +0300 Subject: [PATCH] refactor: don't show osc on start when osc_on_seek=yes --- modernz.lua | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/modernz.lua b/modernz.lua index 45dde61..741ed50 100644 --- a/modernz.lua +++ b/modernz.lua @@ -2757,12 +2757,24 @@ mp.observe_property("chapter-list", "native", function(_, list) request_init() end) +local last_time = -1 -- last known playback time +local new_file_flag = false -- flag to detect new file starts +mp.observe_property("playback-time", "native", function(_, time) + if time == nil or time < last_time then + new_file_flag = true + elseif time and time > 1 then + new_file_flag = false + end + last_time = time or 0 + request_tick() +end) mp.observe_property("seeking", "native", function(_, seeking) reset_timeout() - if seeking and user_opts.osc_on_seek then - mp.commandv("script-message-to", "modernz", "osc-show") + if seeking and user_opts.osc_on_seek and not new_file_flag then + show_osc() end end) + mp.observe_property("fullscreen", "bool", function(_, val) state.fullscreen = val state.marginsREQ = true @@ -2789,7 +2801,6 @@ end) mp.observe_property("display-fps", "number", set_tick_delay) mp.observe_property("demuxer-cache-state", "native", cache_state) mp.observe_property("vo-configured", "bool", request_tick) -mp.observe_property("playback-time", "number", request_tick) mp.observe_property("osd-dimensions", "native", function() -- (we could use the value instead of re-querying it all the time, but then -- we might have to worry about property update ordering)