
What it does
Most consoles have no automixer, and the usual way to add one costs something: insert the automixer on every channel and it eats an insert slot per channel, sitting wherever the desk's insert point happens to be — usually pre-fader. Run each mic through two channel strips instead and the channel count doubles.
MixerReturn enables a third arrangement. The automixer runs on the channel direct outs, set to follow the fader, with one SuperRack rack per channel; a second rack per channel picks the automixed signal back up over a loopback pair, and MixerReturn sums those down to a single stereo pair, which returns to the desk as a group's external input. The operator keeps working ordinary channel strips, the automixer sits post-fader without any insert point being moved, and the insert slots stay free for the plugins that would normally live there. The second rack is not optional: SuperRack's Dugan is part of a rack's output stage, after all eight plugin slots, so nothing inside a rack can sit downstream of it.
The summing is the one piece neither the desk nor the host provides. SuperRack's patcher allows only one rack per output I/O, so twenty-four rack outputs cannot be patched onto one output to mix them; the desk can only sum them by spending twenty-four input channels to do it. SuperRack Performer gained third-party VST3 hosting in v14, which is what makes filling that gap with a plugin possible at all.
- Eight independent summing buses, shared across every instance in the host
- Sending and receiving are independent per instance — a sender, a receiver, or both
- Per-instance send trim and mute, over the same -inf to +10 dB range the SQ's own direct out trim uses, so the two read alike
- Output modes: pass the rack's own input through, replace it with the bus sum, or both
- One block of delay on the sum, identical for every sender whatever order the host processes instances in
- Live member count and latency readout, so a rack that never joined the bus is visible rather than merely quiet
- Nothing in the audio path takes a lock or allocates — bus and slot are packed into a single atomic the audio thread reads
Where it stands
Released at v0.4.2, with prebuilt plugins for macOS, Windows and Linux. v0.4.1 changed nothing but the Windows installer, which no longer touches the system PATH — the earlier one could overwrite it; v0.4.2 ramps send trim, output trim and mute across the block instead of stepping them once per block, which was a zipper on a fader ridden live and a full-scale click on mute, lets the barrier converge on the instances actually being processed, and refuses a shared-memory region that is too short. The summing bus is verified numerically against the shipped processor class — a one-block delay with the summing instance processed both first and last, 24 senders with the host's processing order reshuffled on every block, and 400 blocks with 17 instances racing on their own threads — it is clean under ThreadSanitizer, and pluginval passes at strictness 8 on VST3 and on AU with one benign wrapper warning. It has now also been run with real audio inside Waves SuperRack Performer, over a loopback virtual device: pass-through is bit-exact and adds no delay, the sum equals the sum of its senders delayed by exactly one block with 0 of 143744 samples in error, -6 dB of send trim comes back as -6.00 dB, a muted send comes back as exactly zero, and a bypassed instance contributes zero without wedging the barrier. That testing found two things worth the trouble. The first is the topology: a MixerReturn sharing a rack with the Dugan taps the signal from before the automixer, so the return carries a plain sum with no automixing in it — measured at +0.02 dB against rack outputs automixed to -4.39 dB, with the last of the eight slots no better than the first. It takes two racks and a loopback pair per mic. The second is a latency report that was eight times too high: a host's prepared block size is a maximum, and SuperRack prepares 2048 then processes 256, so reporting the prepared value claimed 42.7 ms for a bus that delays 5.3 ms, and the host believed it. It has still never been run against a real console or used on a show; every claim about console behaviour comes from the Allen & Heath SQ reference guide rather than from hardware. The concurrent test earned its keep immediately: it found a bug that every sequential test had passed straight through. The audio path took a process-wide try-lock and skipped the block when it lost, which is invisible on one thread — a single thread always wins an uncontended try-lock — and silently drops instances out of the sum once a host spreads racks across several. A try-lock does not make a shared structure real-time safe; it converts contention into dropped work. The target host is SuperRack Performer. SuperRack SoundGrid takes its I/O from SoundGrid hardware rather than a CoreAudio or ASIO device, so it is not a target.