summaryrefslogtreecommitdiff
path: root/scripts/_session_load_hook.lua
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-08-09 15:04:42 +0200
committerRobin Gareus <robin@gareus.org>2017-08-10 02:26:16 +0200
commit8fbc2c64842d5dc637dbe16e2d312545d1cff18b (patch)
tree9690d8c22003506a357212d3c4f1788719fd36f2 /scripts/_session_load_hook.lua
parente983e08f1d70bc872aa4c8cc11afb2c739e9981d (diff)
Add some more Lua script examples
Diffstat (limited to 'scripts/_session_load_hook.lua')
-rw-r--r--scripts/_session_load_hook.lua32
1 files changed, 32 insertions, 0 deletions
diff --git a/scripts/_session_load_hook.lua b/scripts/_session_load_hook.lua
new file mode 100644
index 0000000000..82546814f8
--- /dev/null
+++ b/scripts/_session_load_hook.lua
@@ -0,0 +1,32 @@
+ardour {
+ ["type"] = "EditorHook",
+ name = "Load Session Hook Example",
+ author = "Ardour Lua Task Force",
+ description = "Display some dialogs during session load and execute actions",
+}
+
+-- subscribe to signals
+-- http://manual.ardour.org/lua-scripting/class_reference/#LuaSignal.LuaSignal
+function signals ()
+ s = LuaSignal.Set()
+ s:add ({[LuaSignal.SetSession] = true})
+ return s
+end
+
+-- create callback functions
+function factory () return function (signal, ...)
+ assert (signal == LuaSignal.SetSession)
+ local md = LuaDialog.Message ("Set Session", "Loading Session:" .. Session:name(), LuaDialog.MessageType.Info, LuaDialog.ButtonType.Close)
+ md:run()
+
+ local dialog_options = {
+ { type = "checkbox", key = "tempo", default = true, title = "Show Tempo Ruler" },
+ { type = "checkbox", key = "meter", default = true, title = "Show Meter Ruler" },
+ }
+ local dlg = LuaDialog.Dialog ("Tweak Rulers", dialog_options)
+ local rv = dlg:run()
+ if (rv) then
+ Editor:set_toggleaction ("Rulers", "toggle-tempo-ruler", rv['tempo'])
+ Editor:set_toggleaction ("Rulers", "toggle-meter-ruler", rv['meter'])
+ end
+end end