DeviceJockey Interfaces

MIDI Interface

Send MIDI commands to a destination and receive MIDI events from a source.

Core MIDI connections

Choose a direction for each interface.

DeviceJockey separates outgoing and incoming MIDI into two interface types. Each interface selects one Core MIDI endpoint. The endpoint can come from connected hardware, software on the same device, a virtual MIDI connection, or an established Bluetooth MIDI connection.

MIDI out

Send commands to a destination.

DeviceJockey → Destination

Commands from items send their MIDI messages to the selected Core MIDI destination.

Destination
The endpoint that receives MIDI from DeviceJockey
Used by
MIDI commands
MIDI in

Receive events from a source.

Source → DeviceJockey

DeviceJockey listens to the selected Core MIDI source. Events whose configured MIDI action and channel match the message react.

Source
The endpoint that sends MIDI into DeviceJockey
Used by
MIDI events and MIDI Clock
Use both directions when required.

Add separate MIDI out and MIDI in interfaces when a device or application should receive commands and return its current state.

Setup

Connect MIDI to your items.

1

Make the MIDI device available

Connect a USB or network MIDI device, or start the MIDI software you want to use. To exchange MIDI wirelessly with another iPhone, iPad, or Mac, establish a Bluetooth MIDI session.

2

Add a MIDI interface to the Scene

In the Scene's Interface Settings, decide whether you want to send or receive MIDI. Add MIDI out for sending or MIDI in for receiving, then select the corresponding MIDI device.

3

Configure the Items

Add MIDI Commands to Items that should send MIDI. Add MIDI Events to Items that should respond to received MIDI messages.

Using Bluetooth MIDI?

Bluetooth MIDI is not connected like a regular device in the system Bluetooth settings. One side advertises as a MIDI Device; the other connects through MIDI Central or the Bluetooth window in Audio MIDI Setup on a Mac.

Open the Bluetooth MIDI setup →

MIDI out · Commands →

Send values, ranges, notes, and NRPN messages.

A MIDI out interface points to one available destination. Commands assigned to this interface send their messages to that destination.

MIDI Value

Send a configured MIDI message with a fixed value.

MIDI Range

Map an item value to a configured minimum and maximum MIDI range.

Send MIDI from Piano

Forward note interaction from the Piano item on the selected MIDI channel.

MIDI Play Note

Send Note On followed by Note Off after the configured duration.

MIDI Value NRPN

Send a fixed Non Registered Parameter Number message.

MIDI Range NRPN

Map an item value to a configured NRPN range.

Use Panic when notes remain active.

Open the affected MIDI out interface in the Scene's Interface Settings and use Panic there. The interface sends Note Off messages to stop hanging notes.

← MIDI in · Events

Turn received MIDI into item events.

A MIDI in interface listens to one available source. Events can filter incoming messages and use them to react by updating an Item or executing configured commands through Remote Options.

Standard MIDI Events support notes, Control Change, Program Change, Pitch Bend, polyphonic aftertouch, and channel pressure. NRPN and MIDI Clock Events use their own message types.

MIDI Action

The Event reacts to the configured MIDI action and channel, then displays the received MIDI data as text in a Label or Monitor.

MIDI Value

The Event reacts to the configured MIDI action and channel, then uses the received MIDI data as the value for the Item's action.

MIDI Range

The Event reacts to the configured MIDI action and channel. Values within the configured minimum and maximum are mapped to the Item's range and control the Item.

MIDI Increment

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

MIDI Value NRPN

The Event reacts to the configured NRPN action and channel, then uses the received data as the value for the Item's action.

MIDI Range NRPN

The Event reacts to configured NRPN data within the minimum and maximum, then maps the received value to the Item's range.

← MIDI Clock Events

React to transport and timing.

MIDI Clock Events can react to Start, Stop, Continue, bar, beat, BPM, or a custom Script. Select the time signature in the MIDI in settings so bar and beat calculations match the sending system.

MIDI Clock

Perform the Item's action when the selected transport or timing update occurs. Use a Script for custom conditions.

MIDI Clock Label

Display the selected transport or timing information in the Item's label. Use a Script for custom content.

MIDI Clock Toggle

Toggle the Item's state when the selected transport or timing update occurs. Use a Script for custom conditions.

MIDI Clock Scripts

The Script result determines how the Item reacts. Return true or 1 to perform an action or enable a state, return a number to set a Slider or Rotary value, or return text to update an Item label.

Action · Start of every fourth bar
midiBar % 4 === 0 && midiBeat === 1 && !midiStarted && !midiContinued && !midiStopped
Range · Beat position in 4/4
(midiBeat - 1) / 3
Label · Bar and beat
`Bar ${midiBar} · Beat ${midiBeat}`

MIDI Clock Scripts can use midiBar, midiBeat, midiBPM,midiStarted, midiStopped, and midiContinued.See Scripts for the complete scripting reference →

Wireless transport

Use Bluetooth MIDI endpoints.

Bluetooth MIDI establishes a Core MIDI connection between an iPhone, iPad, or Mac. Once connected, its source and destination can be selected in the MIDI in and MIDI out interface settings like other MIDI endpoints.

Connection first. Interface selection second.

Establish Bluetooth MIDI before selecting the new source or destination in the interface settings.

If an endpoint is missing

Rescan the Core MIDI connections.

Check the transport.

Confirm that the cable, application, virtual port, or Bluetooth MIDI connection is available.

Open the interface settings.

Check the destination list for MIDI out or the source list for MIDI in.

Restart the MIDI scan.

Use Restart to ask Core MIDI to rescan its connected endpoints.

Select the endpoint again.

Choose the detected source or destination and confirm the interface settings.