Add an action script to call access actions..
authorRobin Gareus <robin@gareus.org>
Tue, 5 Dec 2017 00:53:54 +0000 (01:53 +0100)
committerRobin Gareus <robin@gareus.org>
Tue, 5 Dec 2017 00:55:38 +0000 (01:55 +0100)
scripts/_access_action.lua [new file with mode: 0644]

diff --git a/scripts/_access_action.lua b/scripts/_access_action.lua
new file mode 100644 (file)
index 0000000..11b7ec7
--- /dev/null
@@ -0,0 +1,37 @@
+ardour {
+       ["type"]    = "EditorAction",
+       name        = "Shortcut",
+       license     = "MIT",
+       author      = "me",
+       description = [[Shortcut call any action]]
+}
+
+function action_params ()
+       local actionlist = {
+               {
+                       type = "dropdown", key = "action", title = "Action", values = ArdourUI:actionlist(),
+                       default = "Save"
+               }
+       }
+
+       local rv = LuaDialog.Dialog ("Select Action", actionlist):run ()
+       if not rv then -- user cancelled
+               return { ["x-script-abort"] = { title = "", preseeded = true} }
+       end
+
+       local action = rv["action"]
+       local name = "Shortcut - " .. action
+       return {
+               ["action"] = { title = "Action to trigger", default = action, preseeded = true},
+               ["x-script-name"] = { title = "Unique Script name", default = name, preseeded = true},
+       }
+end
+
+function factory (params) return function ()
+       local p = params or { }
+       local as = assert (p["action"])
+       local sp = assert (as:find('/'))
+       local group = assert (as:sub(0, sp - 1))
+       local item = assert (as:sub(1 + sp))
+       Editor:access_action (group, item)
+end end