Independent third-party tool — not made by Allen & Heath
for Allen & Heath Mixers

Control multiple mixers simultaneously from one Mac

A multi-mixer MIDI bridge for Allen & Heath digital consoles. LTC/MTC timecode scene recall, OSC control, Stream Deck integration, MIDI monitor — all in one native macOS app.

Coming Soon User Manual
macOS 14+ (Sonoma) · Apple Silicon & Intel

Get notified about updates (optional)

Developed by Koodisto Digital · Not affiliated with or endorsed by Allen & Heath / Audiotonix
Everything you need. Nothing you don't.
No external dependencies, no Node.js, no Docker. Just a native macOS app built with Swift and Apple's own frameworks.

Multiple Mixers

Connect to two or more A&H consoles at once. FOH + Monitor, broadcast + PA — each gets its own MIDI ports. The official driver can't do this.

Four Protocols

MIDI Thru, HUI, Mackie Control, CC Translator. Run multiple per mixer. Each creates a separate virtual CoreMIDI port visible in your DAW.

OSC Bridge (Bidirectional)

Built-in OSC server translates between OSC and A&H MIDI. Faders, mutes, scenes, parametric EQ, HPF, DCA, preamps, send levels (aux/matrix/FX). Bidirectional NRPN feedback to TouchOSC, Companion, QLab.

Stream Deck Ready

WebSocket API for Elgato Stream Deck via Bitfocus Companion. Scene recall, mute groups, DCA fader & mute, HPF, parametric EQ, preamp gain/pad/48V, channel name & color, send levels.

MIDI Monitor

Real-time message viewer with full A&H protocol decoding. See "Mute ON ch1" instead of "9B 00 7F". Filter by bridge, direction, pause and clear.

QLab Templates

Ready-made configurations for QLab scene recall, full control, dual-mixer setups, and DAW transport. Set up in 60 seconds.

Menu Bar Service

Close the window — connections stay alive. Runs silently in the menu bar with quick status overview and one-click connect/disconnect.

TLS Encryption

Secure connections to dLive, Avantis, and AHM consoles. Auto-detects TLS requirement per mixer type. Auto-reconnect with exponential backoff.

Full SysEx Support

Channel names, colours, send levels, preamp gain/pad/48V, DCA assignments — all SysEx messages flow through bidirectionally.

🕘

Timecode Scene Recall

Receive LTC audio or MTC MIDI timecode and trigger scene recalls automatically. Set different scenes per mixer at the same timecode point. Organize cues by show, artist, or venue.

🔗

Peer Network

Multiple instances auto-discover each other via Bonjour. Mixer locking prevents conflicting commands. See who controls what from any machine on the network.

A&H MIDI Bridge vs. Official A&H MIDI Control
The official driver works fine for a single mixer. But if you need more, you need this.
Feature A&H MIDI Control A&H MIDI Bridge
Multiple mixers simultaneously × One at a time ✓ Unlimited
OSC control × None ✓ Bidirectional, 20+ commands
Stream Deck / WebSocket API × None ✓ Full JSON API
MIDI monitor with A&H decoding × None ✓ Real-time, filterable
macOS Sonoma / Sequoia ⚠ Known issues ✓ Native SwiftUI
Apple Silicon ⚠ Rosetta ✓ Universal binary
Auto-reconnect × Manual ✓ Exponential backoff
Configuration templates × None ✓ QLab, DAW, dual-mixer
Per-bridge connect/disconnect × All or nothing ✓ Individual control
Coexists with Companion × ECONNRESET conflicts ✓ No conflicts
Signed & notarized × Unsigned ✓ Apple notarized
Multiple mixers simultaneously
× Official: One at a time
Bridge: Unlimited
OSC control
× Official: None
Bridge: Bidirectional, 20+ commands
Stream Deck / WebSocket API
× Official: None
Bridge: Full JSON API
Timecode scene recall
× Official: None
Bridge: LTC & MTC, per-mixer cues
MIDI monitor
× Official: None
Bridge: Real-time with A&H decoding
macOS Sonoma / Sequoia
Official: Known issues
Bridge: Native SwiftUI
Apple Silicon
Official: Rosetta
Bridge: Universal binary
Auto-reconnect
× Official: Manual
Bridge: Exponential backoff
Signed & notarized
× Official: Unsigned
Bridge: Apple notarized
Supported Mixer Types
All Allen & Heath digital consoles with TCP/IP MIDI support. Auto-detects TLS requirement per model.
dLive MixRackTLS
dLive SurfaceTLS
AvantisTLS
AHM-64 / AHM-32TLS
SQ-5 / SQ-6 / SQ-7
GLD / GLD-80
Qu-5 / Qu-16 / Qu-24 / Qu-32
Qu-Pac / Qu-SB
CQ-12T / CQ-18T / CQ-20B
ZED-R16
Open Sound Control Reference
Built-in bidirectional OSC server. Send commands from TouchOSC, QLab, Companion, or any OSC client. Receive real-time feedback.

Channel & Mix Control

AddressArgsAction
/ch/{n}/faderfloat 0.0–1.0Fader level
/ch/{n}/muteint 0|1Mute on/off
/ch/{n}/namestringSet channel name (SysEx)
/ch/{n}/colorint 0–7Set channel colour (SysEx)
/ch/{n}/hpf/freqfloat 20–20000HPF frequency in Hz
/ch/{n}/hpf/onint 0|1HPF on/off
/ch/{n}/eq/{b}/freqfloat 20–20kPEQ band frequency
/ch/{n}/eq/{b}/gainfloat ±15PEQ band gain (dB)
/ch/{n}/eq/{b}/widthfloat 0–1PEQ Q width
/dca/{n}/faderfloat 0.0–1.0DCA fader level
/dca/{n}/muteint 0|1DCA mute on/off
/send/{src}/{dst}float 0.0–1.0Send level (mono aux, default)
/send/{src}/aux/{dst}float 0.0–1.0Send to aux bus
/send/{src}/matrix/{dst}float 0.0–1.0Send to matrix bus
/send/{src}/fxsend/{dst}float 0.0–1.0Send to FX send
/send/{src}/fxreturn/{dst}float 0.0–1.0Send to FX return
/preamp/{n}/gainfloat 0.0–1.0Preamp gain
/preamp/{n}/padint 0|1Pad on/off (SysEx)
/preamp/{n}/48vint 0|1Phantom power on/off (SysEx)

Scene Control

AddressArgsAction
/scene/recallint 1–500Recall scene by number
/scene/goScene Go (Surface only, CC)
/scene/nextNext scene (Surface only, CC)
/scene/prevPrevious scene (Surface only, CC)

Timecode

AddressArgsAction
/tc/armArm timecode engine
/tc/disarmDisarm timecode engine
/tc/positionstring, string, intQuery/broadcast: HH:MM:SS:FF, fps, armed (0|1)
/tc/cue/firedstring, string, intBroadcast: song name, section name, scene number

Multi-Mixer Targeting

Prefix any address with /mixer/{name}/ to target a specific mixer. Without prefix, commands go to all mixers.

Feedback (Mixer → OSC Clients)

AddressTypeDescription
/ch/{n}/faderfloatFader level feedback (NRPN)
/ch/{n}/muteintMute state feedback
/ch/{n}/hpf/freqfloatHPF frequency feedback (NRPN)
/ch/{n}/hpf/onintHPF on/off feedback (NRPN)
/ch/{n}/eq/{b}/{param}floatPEQ band feedback (NRPN)
/dca/{n}/faderfloatDCA fader level feedback
/dca/{n}/muteintDCA mute state feedback
/scene/currentintCurrently active scene number
/preamp/{n}/gainfloatPreamp gain value
WebSocket API for External Control
JSON-based WebSocket API with real-time push notifications. Connect via Bitfocus Companion, custom scripts, or the upcoming Elgato Marketplace plugin.

Scene Recall

{"action": "sceneRecall", "scene": 42}
Recalls scene 42 on all connected mixers. Add "mixer": "FOH" to target one.

Mute Group Toggle

{"action": "muteGroupToggle", "channel": 1, "value": 1}
Mutes mute group 1. Set value to 0 to unmute. Groups 1–8.

DCA Mute

{"action": "dcaMute", "channel": 3, "value": 1}
Mutes DCA 3. DCAs 1–24 supported.

Channel Mute

{"action": "channelMute", "channel": 5, "value": 0}
Unmutes channel 5.

Scene Navigation

{"action": "sceneNext"}
{"action": "scenePrev"}
{"action": "sceneGo"}
Scene navigation (Surface only — CC numbers configured on the dLive surface).

Fader Level

{"action": "faderLevel", "channel": 1, "value": 0.84}
Sets channel 1 fader to 0dB (0.84 ≈ 0dB, 1.0 = +10dB, 0.0 = -inf).

DCA Fader

{"action": "dcaFader", "channel": 1, "value": 0.75}
Sets DCA 1 fader level. DCAs 1–24.

HPF Control

{"action": "hpfFreq", "channel": 3, "value": 120}
{"action": "hpfToggle", "channel": 3, "value": 1}
Set HPF frequency (20–20000 Hz) or toggle on/off.

Parametric EQ

{"action": "eqParam", "channel": 1, "band": 2, "param": "gain", "value": -3.5}
Set PEQ band parameter. Bands 0–3, params: type, freq, width, gain.

Preamp Control

{"action": "preampGain", "channel": 1, "value": 0.5}
{"action": "preampPad", "channel": 1, "value": 1}
{"action": "preampPhantom", "channel": 1, "value": 1}
Preamp gain, pad and 48V phantom power. Channel = socket number (1–128).

Channel Name & Colour

{"action": "channelName", "channel": 1, "name": "Vocals"}
{"action": "channelColor", "channel": 1, "color": 3}
Set channel name (ASCII) and colour (0–7).

Send Levels

{"action": "sendLevel", "channel": 1, "destination": 3, "value": 0.6}
{"action": "sendLevel", "channel": 1, "destination": 1, "busType": "matrix", "value": 0.8}
Send levels with bus type: aux (default), matrix, fxSend, fxReturn.

Configuration Management

{"action": "status"}
{"action": "listConfigs"}
{"action": "activate", "configId": "..."}
{"action": "connectAll"}
{"action": "disconnectAll"}
Query and control the app remotely. Bridge state changes are pushed automatically to all connected WebSocket clients.

Timecode Control

{"action": "timecodeStatus"}
{"action": "timecodeArm"}
{"action": "timecodeDisarm"}
{"action": "timecodeToggleArm"}
{"action": "timecodeSongList"}
Query timecode position, arm/disarm the timecode engine, and list cue databases. Timecode status returns current position, fps, armed state, and last fired cue.

Coming Soon

A&H MIDI Bridge is being refined. Sign up above to get notified when it's ready.

Read the Manual