diff options
author | Robin Gareus <robin@gareus.org> | 2016-07-23 17:39:53 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2016-07-24 13:00:15 +0200 |
commit | 4e693c18302bed31fae3f715e8511ecf62fdc6e9 (patch) | |
tree | 2b5da4be5c243ac2a4affe692d152d54c0d49f30 /scripts | |
parent | bcee4e151867dab8c54b38efe101f90e34b1b70e (diff) |
add a script to exercise varispeed playback
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/varispeed_callback.lua | 32 |
1 files changed, 32 insertions, 0 deletions
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 |