diff options
author | Robin Gareus <robin@gareus.org> | 2017-08-09 15:04:42 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2017-08-10 02:26:16 +0200 |
commit | 8fbc2c64842d5dc637dbe16e2d312545d1cff18b (patch) | |
tree | 9690d8c22003506a357212d3c4f1788719fd36f2 /scripts/_session_load_hook.lua | |
parent | e983e08f1d70bc872aa4c8cc11afb2c739e9981d (diff) |
Add some more Lua script examples
Diffstat (limited to 'scripts/_session_load_hook.lua')
-rw-r--r-- | scripts/_session_load_hook.lua | 32 |
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 |