DeviceJockey Interfaces

OSC Interfaces

Send and receive flexible control messages using OSC paths and typed arguments.

Network connections

Choose a direction for each interface.

DeviceJockey separates outgoing and incoming OSC over UDP into two interface types. OSC messages use an address path such as /mixer/channel/1/fader and can carry one or more typed arguments. Supported values include integers, floating point numbers, booleans, and strings.

OSC out

Send commands to another system.

DeviceJockey → Receiver

DeviceJockey sends each configured OSC command to one network destination.

Host
IP address or host name of the receiver
Port
Port on which the receiver expects OSC messages
OSC in

Receive events from another system.

Sender → DeviceJockey

DeviceJockey listens for incoming OSC messages. Events whose configured path and arguments match the message react.

Host
DeviceJockey IP address shown to the sender
Port
Local port configured in the OSC in interface
Use both directions when required.

Add separate OSC out and OSC in interfaces when an application should receive commands and return its current state.

This guide covers the standard OSC interfaces.

Logic Pro and Behringer/Midas also use OSC, but provide dedicated interfaces with their own setup and controls.

Setup

Connect OSC to your items.

1

Make both systems reachable

Connect DeviceJockey and the other OSC system to a network that allows UDP traffic between them.

2

Add an OSC interface to the Scene

Add OSC out and enter the receiver's host and port, or add OSC in and choose the local listening port.

3

Configure the Items

Add OSC Commands to Items that should send messages. Add OSC Events to Items that should respond to received paths and arguments.

OSC out · Commands →

Send paths and typed arguments.

An OSC out interface sends every assigned command to its configured host and UDP port. The receiving system determines which path, argument order, and argument types each command must use.

OSC Value

Send a configured path with one fixed argument.

OSC Range

Map the Item's value to a configured numeric range and send the result as an argument.

OSC Three Values

Send a configured path with three arguments in one message.

OSC Path

Send a configured path without arguments.

OSC Range String

Map the Item's range and send the resulting value as a string.

OSC Input Window

Open an input window and send the entered value as the configured argument type.

OSC Script

Use sendOSC() to build and send one or more messages with custom arguments.

← OSC in · Events

Turn received OSC into item events.

An OSC in interface listens on one local UDP port. An Event reacts when the complete OSC path and its configured arguments match, then performs the configured Item action.

OSC Value

The Event reacts when the path and first argument match, then performs the Item's action.

OSC Path

The Event reacts when the path without arguments matches, then performs the Item's action.

OSC Range

Map the first numeric argument from a configured minimum and maximum to the Item's range or state.

OSC Increment

Available for Sliders and Rotary controls. The Event reacts to Step Up or Step Down arguments and moves the Item by the configured step.

OSC Label

Use the first argument as the Item's label, or format the received arguments with a Script.

OSC URL Update

Use the first argument to update the URL of a supported Web View Item.

OSC Save or Load State

The Event reacts to a configured path, with or without an argument, and saves or loads a named Item state.

OSC Script

For supported Item actions, evaluate oscArguments and use the Script result to decide how the Item reacts.

OSC Scripts

Build messages and interpret arguments.

OSC Command Scripts send custom messages. OSC Event and Label Scripts read received arguments. General Script features such as Swaps, Remote Options, Item status, colors, and logging are explained in theScripts guide.

Command · Send typed arguments
let arguments = [["Go"], [1, "int32"], [0.5, "float"], [true, "bool"]]
sendOSC("/device/control", arguments)
Event · Check the first argument
oscArguments[0] === 1
Label · Format received arguments
`${labelValue} (${oscArguments[1]})`

A Command Script ignores its return value. An Event Script uses true or 1 to perform its action. A Label Script uses the returned text as the formatted label.

OSC message format

Match the complete OSC message.

The UDP port only delivers the message to the receiving system. The OSC address and its arguments still need to match the configured Command or Event.

Address path

Match every slash, segment, letter, and number in the complete path. DeviceJockey compares incoming paths exactly.

Argument position

Value, Range, and Label Events use the first argument. Scripts can access every argument in order through oscArguments.

Argument type

Choose the type expected by the other system. Integer, float, boolean, and string values are encoded differently.

Troubleshooting

If OSC messages do not arrive.

Verify the destination IP address.

For OSC out, use the address of the receiving system. For incoming messages, configure the sender with DeviceJockey’s current address.

Check both port numbers.

The sender must target the same port on which the receiver listens.

Compare the complete OSC path.

Check every slash, segment, number, and letter. OSC paths must match exactly.

Check the argument type.

Confirm that integer, float, boolean, or string matches the format expected by both sides.

Check network restrictions.

Make sure local network access and any firewall allow traffic between both systems.