mirror of
https://github.com/mpv-player/mpv
synced 2025-03-21 10:51:51 +00:00
defaults.lua: add a disabled parameter to timer constructors
Added to the functions `mp.add_timeout` and `mp.add_periodic_timer`. If the `disabled` argument is set to `true` or a truthy value, the timer will wait to be manually started with a call to its `resume()` method.
This commit is contained in:
parent
644cf01067
commit
5ac37500c5
@ -438,17 +438,21 @@ The ``mp`` module is preloaded, although it can be loaded manually with
|
|||||||
that are equal to the ``fn`` parameter. This uses normal Lua ``==``
|
that are equal to the ``fn`` parameter. This uses normal Lua ``==``
|
||||||
comparison, so be careful when dealing with closures.
|
comparison, so be careful when dealing with closures.
|
||||||
|
|
||||||
``mp.add_timeout(seconds, fn)``
|
``mp.add_timeout(seconds, fn [, disabled])``
|
||||||
Call the given function fn when the given number of seconds has elapsed.
|
Call the given function fn when the given number of seconds has elapsed.
|
||||||
Note that the number of seconds can be fractional. For now, the timer's
|
Note that the number of seconds can be fractional. For now, the timer's
|
||||||
resolution may be as low as 50 ms, although this will be improved in the
|
resolution may be as low as 50 ms, although this will be improved in the
|
||||||
future.
|
future.
|
||||||
|
|
||||||
|
If the ``disabled`` argument is set to ``true`` or a truthy value, the
|
||||||
|
timer will wait to be manually started with a call to its ``resume()``
|
||||||
|
method.
|
||||||
|
|
||||||
This is a one-shot timer: it will be removed when it's fired.
|
This is a one-shot timer: it will be removed when it's fired.
|
||||||
|
|
||||||
Returns a timer object. See ``mp.add_periodic_timer`` for details.
|
Returns a timer object. See ``mp.add_periodic_timer`` for details.
|
||||||
|
|
||||||
``mp.add_periodic_timer(seconds, fn)``
|
``mp.add_periodic_timer(seconds, fn [, disabled])``
|
||||||
Call the given function periodically. This is like ``mp.add_timeout``, but
|
Call the given function periodically. This is like ``mp.add_timeout``, but
|
||||||
the timer is re-added after the function fn is run.
|
the timer is re-added after the function fn is run.
|
||||||
|
|
||||||
|
@ -265,20 +265,22 @@ local timers = {}
|
|||||||
local timer_mt = {}
|
local timer_mt = {}
|
||||||
timer_mt.__index = timer_mt
|
timer_mt.__index = timer_mt
|
||||||
|
|
||||||
function mp.add_timeout(seconds, cb)
|
function mp.add_timeout(seconds, cb, disabled)
|
||||||
local t = mp.add_periodic_timer(seconds, cb)
|
local t = mp.add_periodic_timer(seconds, cb, disabled)
|
||||||
t.oneshot = true
|
t.oneshot = true
|
||||||
return t
|
return t
|
||||||
end
|
end
|
||||||
|
|
||||||
function mp.add_periodic_timer(seconds, cb)
|
function mp.add_periodic_timer(seconds, cb, disabled)
|
||||||
local t = {
|
local t = {
|
||||||
timeout = seconds,
|
timeout = seconds,
|
||||||
cb = cb,
|
cb = cb,
|
||||||
oneshot = false,
|
oneshot = false,
|
||||||
}
|
}
|
||||||
setmetatable(t, timer_mt)
|
setmetatable(t, timer_mt)
|
||||||
t:resume()
|
if not disabled then
|
||||||
|
t:resume()
|
||||||
|
end
|
||||||
return t
|
return t
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user