Core concepts
Connectors overview
Connectors are the bridges to DAWs, VJ software, and OS-level actions. Native paths for Ableton, Resolume, OBS, and more — beyond the raw MIDI port.
Updated
Connectors are how Universal Controller MIDI speaks the local dialect of your DAW, VJ rig, or streaming setup. A virtual port is universal — every DAW speaks it — but some targets want deeper integration: clip launching in Ableton, layer control in Resolume, scene switching in OBS. Connectors handle that.
What a connector does
A connector is an optional bolt-on that translates Universal Controller MIDI's internal events into the target app's preferred protocol. Sometimes that's a tighter MIDI subset (Ableton's Live Object Model). Sometimes it's OSC. Sometimes it's a WebSocket or a named pipe.
You don't need a connector to use the app — the virtual MIDI port handles 90% of workflows. Connectors are for the 10% where you want named clips, scene memory, or two-way state sync.
What ships out of the box
- Ableton Live — Max for Live device + Live Object Model bridge. Names clips, follows scenes, lights up the controller LEDs to match track colours.
- Resolume Arena — OSC bridge. Triggers clips by column/row, fades layers, syncs the BPM clock.
- OBS Studio — WebSocket plugin. Switches scenes, toggles sources, fires hotkeys.
- TouchDesigner — OSC, with a starter
.toepatch. - OS shortcuts — bind a controller button to a global hotkey (mute mic, lock screen, skip track).
Protocol matrix
If you're trying to decide which connector fits — or you're writing your own — this is the cheat sheet. Direction tells you whether the host can talk back; latency is the median round-trip on a local loop:
| Connector | Protocol | Port | Direction | Latency |
|---|---|---|---|---|
| Ableton Live | LOM via Max for Live | n/a (in-process) | Two-way | ~2 ms |
| Resolume Arena | OSC over UDP | 7000 (default) | Two-way | ~3 ms |
| OBS Studio | obs-websocket v5 | 4455 | Two-way | ~5 ms |
| TouchDesigner | OSC over UDP | 7001 | One-way (default) | ~3 ms |
| OS shortcuts | Accessibility API | n/a | One-way | ~1 ms |
| Custom WebSocket | JSON over WS | User-defined | Two-way | ~4 ms |
How to enable one
Open Settings → Connectors. Toggle the integration on, follow the per-connector setup (usually one Max for Live device drop, or a WebSocket URL paste). The connector status pill in the bottom-left of the main window goes green when handshake completes.
{
"connector": "ableton-live",
"enabled": true,
"port": 11000,
"syncMode": "two-way"
} OSC under the hood
OSC connectors expose stable address patterns. If you want to drive Resolume from a custom binding (or test from another OSC tool), the addresses are predictable — the format mirrors the host's internal hierarchy. Resolume looks like this:
# Trigger column 3 of layer 2
/composition/layers/2/clips/3/connect 1
# Fade layer 4 opacity to 0.5
/composition/layers/4/video/opacity 0.5
# Sync BPM clock
/composition/tempocontroller/tempo 128.0 Two-way vs one-way
Most connectors are two-way. Universal Controller MIDI sends events to the host, and the host sends state back — track names, clip status, transport position. The controller LEDs and adaptive triggers can then react to what the DAW is doing, not just what you're pressing.
Common mistakes
- Running two connectors that talk to the same host. Don't enable OSC and Live Object Model into the same Ableton instance — state sync fights itself and clips flicker.
- Mismatched OSC ports. Resolume defaults to 7000, TouchDesigner is whatever you set. If nothing fires, mismatched ports are the culprit 80% of the time.
- Forgetting to install the Max for Live device. The Ableton connector won't handshake without it — the device has to be dropped on the Master track for the LOM bridge to load.
- Expecting the connector to replace the MIDI port. Connectors sit on top of the virtual port. Disable the port, and the connector loses its base layer too.
- Hammering OSC at 200+ Hz. Some hosts choke on high-rate OSC. Throttle source rate or use MIDI CCs for tight automation, OSC for triggers and state.
Pick a target, follow the per-DAW setup. Most users only ever enable one connector — the one tied to their main DAW. Multi-DAW power users see multi-DAW workflows.