summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-07-23 17:39:53 +0200
committerRobin Gareus <robin@gareus.org>2016-07-24 13:00:15 +0200
commit4e693c18302bed31fae3f715e8511ecf62fdc6e9 (patch)
tree2b5da4be5c243ac2a4affe692d152d54c0d49f30
parentbcee4e151867dab8c54b38efe101f90e34b1b70e (diff)
add a script to exercise varispeed playback
-rw-r--r--scripts/varispeed_callback.lua32
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