Control Companion from DeviceJockey

Expand your Companion control panel with DeviceJockey.

Design a DeviceJockey panel around your Companion workflow. Make important buttons bigger, group related controls, add sliders, labels, colors, and images, and arrange everything the way you want.

DeviceJockey show control panel with large Live and Take buttons, camera controls, audio and transition sliders, a Ready status label, colors, and an image preview
One panel, built around the controls you need.

The best of both worlds

Companion runs the actions. DeviceJockey provides the controls.

Keep Companion’s connections, actions, feedbacks, and variables. DeviceJockey remotely triggers them through Companion’s documented OSC interface. The panels can be as large, visual, contextual, and changeable as your workflow needs.

Any layoutMix buttons, sliders, labels, navigation, and changing Item states on one touch surface.
Every Companion pageAddress buttons directly by page, row, and column. This also works when that page is not visible on dedicated button hardware.
Two-way workflowsSend commands to Companion and let Companion return meaningful OSC events to DeviceJockey.

Two directions. One workflow.

Use one OSC connection in each direction.

OSC out

DeviceJockey controls Companion.

DeviceJockey to Companion

Send button presses, text, and colors from flexible DeviceJockey Panels and Items to Companion’s actions, feedbacks, and devices.

OSC in

Companion reports to DeviceJockey.

Companion to DeviceJockey

Send events, values, and status from Companion to DeviceJockey Panels, Items, and states.

The two connections do different jobs.

Companion’s built-in OSC listener receives remote-control paths from DeviceJockey. Optionally, a Generic OSC connection in Companion can send your own event paths back to DeviceJockey. This is not a Companion surface or module connection.

Setup

Connect both directions in a few minutes.

DeviceJockey to Companion

Enable Companion’s OSC listener

  1. In Companion, open Settings, Protocols, OSC.
  2. Enable the OSC Listener and note its port. The default is 12321.
  3. In your DeviceJockey Scene, add an OSC out interface.
  4. Enter the computer’s IP address and Companion’s OSC listen port.
Companion to DeviceJockey

Add an outgoing OSC connection

  1. In DeviceJockey, add an OSC in interface and choose a free local port.
  2. In Companion, add a Generic OSC connection.
  3. Use the iPhone or iPad IP address as the target and enter the same port.
  4. Add a Generic OSC action to any Companion button that should report an event.
Same network, two destination ports.

Both devices must be reachable over the local network. Each sender targets the IP address and listening port of the other device.

From DeviceJockey to Companion.

Choose a Companion Template instead of typing the path.

The OSC out interface provides prepared Companion Commands through Templates. In the OSC Command settings, select the Template button and choose the required Companion function. The selected Template builds the required OSC path and prepares the matching values.

Path TemplateCompanion Button Tap
Page 1Row 0Column 5
/location/1/0/5/press

Companion identifies a control by page, row, and column. When DeviceJockey sends the generated path, Companion performs everything configured on that button.

1

Add the matching OSC Command

Use OSC Path for button actions, OSC Value for text or CSS colors, and OSC Three Values for RGB colors.

2

Open Path Templates

Select the Template button beside the OSC path and choose a function beginning with Companion.

3

Choose location and value

Set Page, Row, and Column in the prepared controls. For text, color, or variables, enter the value DeviceJockey should send.

OSC Path. Buttons and triggers

Button Tap, Button Press, Button Release, Rotation Trigger Left, Rotation Trigger Right, and Rescan.

OSC Value. Text, CSS colors, and variables

Button Text, Text Color CSS, Background Color CSS, and Set Value of Custom Variable.

OSC Three Values. RGB colors

Button Text Color RGB and Button Background Color RGB with prepared red, green, and blue arguments.

Templates cover the common Companion messages.

TemplateGenerated OSC messageCommand
Companion Button Tap/location/1/0/5/pressOSC Path
Companion Button Press/location/1/0/5/downOSC Path
Companion Button Release/location/1/0/5/upOSC Path
Companion Button Text/location/1/0/5/style/text ONLINEOSC Value, string
Companion Button Background Color CSS/location/1/0/5/style/bgcolor #ff0000OSC Value, string
Companion Button Text Color RGB/location/1/0/5/style/color 255 255 255OSC Three Values
Companion Set Value of Custom Variable/custom-variable/cue/value introOSC Value
Build semantic paths for feedback.

Paths such as /program/camera/2 remain understandable when a Companion button later moves to another page or position.

The Template remains editable.

It creates a valid Companion path and suitable value configuration. You can still change the generated path or values afterward.

From Companion to DeviceJockey.

Send events that describe intent, not grid positions.

In Companion, add a Generic OSC action to a button and choose a clear path such as /show/live or/camera/preview. In DeviceJockey, configure an OSC Event with the same path. The Event can light up an Item, load a state, change a label, or perform a Command.

Other OSC Event options.

Without a value

Use an OSC Path Event for a simple trigger such as /show/go.

Continuous feedback

Use OSC Range to map an incoming numeric value to a Slider or Rotary control.

Why it becomes powerful

Flexible surface

Arrange buttons, sliders, labels, and images in a layout built around your workflow instead of a fixed button grid.

Contextual controls

Use states and visibility to show only the controls needed for the current scene, device, or production step.

Readable feedback

Turn Companion events into large labels, color changes, and status indicators that operators can understand at a glance.

Troubleshooting

If nothing happens, trace one direction at a time.

Check the destination address.

Each OSC out sender must use the receiver’s IP address, not its own.

Match the ports.

DeviceJockey’s outgoing port must match Companion’s OSC listen port. Companion’s Generic OSC target port must match DeviceJockey’s OSC in port.

Check every path segment.

OSC paths are exact. Compare slashes, page, row, column, spelling, and capitalization.

Check the argument type.

Strings, integers, floats, and booleans are different OSC value types, even when their values look similar.

Test one simple message.

Start with a fixed /location/1/0/0/press path or a value-free return event before adding more logic.