13
0
livetrax/scripts/access_action.lua

38 lines
1.1 KiB
Lua
Raw Normal View History

ardour {
["type"] = "EditorAction",
name = "Shortcut",
license = "MIT",
author = "me",
description = [[Trigger a keyboard shortcut. You will be prompted for the shortcut's action in the next step.]]
}
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