summaryrefslogtreecommitdiff
path: root/share/scripts/_session_load_hook.lua
diff options
context:
space:
mode:
Diffstat (limited to 'share/scripts/_session_load_hook.lua')
-rw-r--r--share/scripts/_session_load_hook.lua32
1 files changed, 32 insertions, 0 deletions
diff --git a/share/scripts/_session_load_hook.lua b/share/scripts/_session_load_hook.lua
new file mode 100644
index 0000000000..82546814f8
--- /dev/null
+++ b/share/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