#URL Handler

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