CommandPost has a URL Handler which allows you to trigger CommandPost Commands & Actions via a simple URL address.
For example, you can type any of the below into a browser to trigger a specific action:
commandpost://fcpx_cmds?id=cpSelectClipAtLaneOne
commandpost://global_cmds?id=cpGlobalConsole
commandpost://fcpx_shortcuts?id=SelectAll
commandpost://fcpx_menu?path=Final%20Cut%20Pro||About%20Final%20Cut%20Pro
commandpost://fcpx_audioEffect?category=Voice&name=AUNewPitch
commandpost://fcpx_title?category=Lower%20Thirds&name=Basic%20Lower%20Third
commandpost://fcpx_transition?name=Spin&category=Movements
commandpost://fcpx_generator?name=Beam&category=Backgrounds
commandpost://fcpx_videoEffect?name=Directional&category=Blur
To get a list of the Handler IDs that are recognised by the URL Handler (i.e. "fcpx_cmds"), type the below Lua code into the Error Log:
hs.inspect(require("cp.plugins")("core.action.manager").handlerIds())
To get a list of choices available for a specific Hander ID, type the below (replacing "fcpx_shortcuts" with the Handler ID you want to review) into the Error Log:
hs.inspect(require("cp.plugins")("core.action.manager").getHandler("fcpx_cmds"):choices())
For example, if the Error Log displays something like:
{
id = "cmds:cpColorPuckFourLeft",
params = {
id = "cpColorPuckFourLeft"
},
subText = "Command: Colour Board",
text = "Select Color Puck 4 & Left",
type = "fcpx_cmds"
}
Then the URL will be:
commandpost://fcpx_cmds?id=cpColorPuckFourLeft
Basically you use the params
table as your guide. Table items can be separated with ||.
The following Handler IDs should not be used with the URL Handler:
fcpx_midicontrols
fcpx_widgets
global_widgets