From 4e693c18302bed31fae3f715e8511ecf62fdc6e9 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Sat, 23 Jul 2016 17:39:53 +0200 Subject: [PATCH] add a script to exercise varispeed playback --- scripts/varispeed_callback.lua | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 scripts/varispeed_callback.lua diff --git a/scripts/varispeed_callback.lua b/scripts/varispeed_callback.lua new file mode 100644 index 0000000000..c61a15d897 --- /dev/null +++ b/scripts/varispeed_callback.lua @@ -0,0 +1,32 @@ +ardour { + ["type"] = "EditorHook", + name = "Varispeed Test - 100ms Callback", + author = "Ardour Lua Task Force", + description = "An example script that invokes a callback a every 0.1sec and modifies the transport speed", +} + +function signals () + s = LuaSignal.Set() + s:add ( + { + [LuaSignal.LuaTimerDS] = true, + } + ) + return s +end + +function factory (params) + -- upindex variables + local cnt = 0 + local speed = 0 + local delta = 0.01 + return function (signal, ref, ...) + cnt = (cnt + 1) % 5 -- divide clock: every half a second + if cnt == 0 then + if speed < -0.25 then delta = delta * -1 end + if speed > 0.25 then delta = delta * -1 end + speed = speed + delta + Session:request_transport_speed (speed) + end + end +end