Skip to content

MIDI and OSC

Take graphics and run cues from MIDI controllers and OSC messages.

Control Kinetra from hardware and other software:

  • MIDI: pads, keys, faders and knobs on a MIDI controller, such as an APC, Launchpad or X-Touch.
  • OSC: messages from a control surface, an app such as TouchOSC or Bitfocus Companion, or another computer.

Both are set up in Preferences › Network & API, which shows them in Advanced mode only (Preferences › General › Mode). Mappings you’ve made keep working in Simple mode.

Plug in the controller. It shows up at once under Preferences › Network & API › MIDI & OSC › Devices, with its status: Connected, In use by another app or Not connected. Use the switch to ignore a device.

Device settings belong to this computer. Mappings are saved with the project.

  1. Under Mappings, use the Add row: pick what the control should do.
  2. Click Learn.
  3. Press the pad or move the fader. Kinetra saves it.

Or, in Control or the layout editor, right-click a layer or cue and choose Assign MIDI…, then press the pad.

What you can map:

Group Actions
Layers Take or clear, Take, Clear a layer; Play, Pause, Stop a media layer.
Cues GO a cue.
Slides and rows Next in … and Previous in … a source.
Show Clear a screen, Clear all, Panic.
Faders and knobs A layer’s Opacity, a Range variable (such as size or speed), or a Number field (0–127).

Pads and keys send notes; faders and knobs send CC messages. A CC can also trigger an action: it fires when it passes the middle.

Turn on Lights on a mapping to light the pad: red when the layer is on air, green when it’s ready (for a cue: red while running, green when armed).

Under Devices, pick the LED feedback output and the controller’s color profile: Generic, APC40, APC mini, Launchpad or X-Touch. Test lights flashes every mapped pad.

If two mappings use the same pad, neither runs. Kinetra shows a Conflict badge and tells you which actions share it. Click Change to fix one.

A flow can start from any MIDI key with the MIDI in trigger, and use the velocity or CC value. See Automation.

OSC messages run Kinetra’s Control actions, the same as the buttons.

  1. Open Preferences › Network & API › Server.
  2. Turn on OSC control.
  3. Check the OSC port (default 9000). OSC status should say Listening on 9000.

OSC is set per project and uses UDP.

By default, Kinetra only accepts OSC from this computer. To accept it from another computer:

  1. Turn on Allow access from other devices on the network (in the same section).
  2. Under Allowed computers, type the sender’s IP address, such as 192.168.1.20, and click Allow.

Messages from any other address are ignored.

Under Addresses, pick a layer, cue or source to see its addresses with the real IDs filled in, and copy them. See the full list in the Control API reference.

A few examples:

/kinetra/layer/<screen id>/<layer id>/take
/kinetra/layer/<screen id>/<layer id>/clear
/kinetra/flow/<cue id>/go
/kinetra/source/<source id>/next
/kinetra/panic

Kinetra can tell your control surface what’s on air. Enter its address under Send on-air status to, as host:port, for example 192.168.1.20:9001. Kinetra sends /kinetra/layer/<screen id>/<layer id>/onair with 1 or 0 whenever a layer goes on or off air.

A flow can start from any OSC address with the OSC in trigger, for example /show/next. Use * to match any one part. The first value in the message is available to the flow.

  • Map Panic to a pad you can find without looking.
  • Use Take or clear on one pad per graphic, with lights on, so you can see what’s on air.
  • Keep a printed list of your mappings with the show.
  • Check for a Conflict: two mappings on one pad run nothing.
  • Check that the device shows Connected and its switch is on.
  • Is another app using the controller? It then shows In use by another app. Close the other app.

Both Allow access from other devices on the network and the sender’s IP under Allowed computers are needed. Check the port and that the sender uses UDP.

Pressing a button triggers nothing, releasing does

Section titled “Pressing a button triggers nothing, releasing does”

Kinetra acts when a message’s first value isn’t 0. Many control surfaces send 1 on press and 0 on release; the release does nothing by design.

“Port 9000 is in use — choose another port.”

Section titled ““Port 9000 is in use — choose another port.””

Another app uses that port. Pick another OSC port and change it on the sender too.