diff options
author | Robin Gareus <robin@gareus.org> | 2016-02-23 15:44:41 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2016-02-23 15:44:41 +0100 |
commit | 1473c2d36460707f6484fe5a0f1d913fbb8a77e0 (patch) | |
tree | 407cb23481530549e333fcc4fce8959f7d314a15 /scripts/hook_test.lua | |
parent | 942471d21f0acbb833849873bba2eb8254c4d28d (diff) |
Add some lua scripts
Diffstat (limited to 'scripts/hook_test.lua')
-rw-r--r-- | scripts/hook_test.lua | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/scripts/hook_test.lua b/scripts/hook_test.lua new file mode 100644 index 0000000000..a4676c5135 --- /dev/null +++ b/scripts/hook_test.lua @@ -0,0 +1,40 @@ +ardour { + ["type"] = "EditorHook", + name = "Callback Example", + description = "Rewind On Solo Change, Write a file when regions are moved", +} + +function signals () + s = LuaSignal.Set() + --s:add ({[LuaSignal.SoloActive] = true, [LuaSignal.RegionPropertyChanged] = true}) + s:add ( + { + [LuaSignal.SoloActive] = true, + [LuaSignal.RegionPropertyChanged] = true + } + ) + --for k,v in pairs (s:table()) do print (k, v) end + return s +end + +function factory (params) + return function (signal, ref, ...) + print (signal, ref, ...) + + if (signal == LuaSignal.SoloActive) then + Session:goto_start() + end + + if (signal == LuaSignal.RegionPropertyChanged) then + obj,pch = ... + file = io.open ("/tmp/test" ,"a") + io.output (file) + io.write (string.format ("Region: '%s' pos-changed: %s, length-changed: %s\n", + obj:name (), + tostring (pch:containsFramePos (ARDOUR.Properties.Start)), + tostring (pch:containsFramePos (ARDOUR.Properties.Length)) + )) + io.close (file) + end + end +end |