0019 — Cue/solo is a monitor bus; the monitor auto-takeover is NEVER the mains

Status: Accepted and built; live acceptance pending. Date: 2026-07-15

Context

Solo on the console was decorative — no DSP behind it. A professional desk needs cue/solo to a monitor (headphones/monitor wedge) so an engineer can audition a channel without changing what the audience hears. The first implementation wired the monitor auto-takeover to a MAIN output route without a guard, so soloing could crossfade the house mix to the solo — sending PFL to the audience.

Decision

  • A native cue bus sums the soloed taps: PFL (pre-fader, the default), AFL (post- fader + pan, a global toggle), SIP (solo-in-place — mutes non-soloed on the main, an explicit mode). Plus solo-safe (SIP-exempt channels), latch + momentary, and a solo-clear. All-mute panic wins over SIP unconditionally.
  • The monitor auto-takeover crossfades a destination to the cue bus while any solo is active — but that destination is a SECONDARY MAIN fan-out (a dedicated monitor/headphones send), never MAIN's primary output. setMonitorOutput refuses MAIN route index 0 (the audience mains): a pick that resolves to the mains yields no monitor rather than a hijacked house mix. The operator assigns the monitor destination (auto-detect a Headphones output; otherwise leave it unset).
  • The cue bus also exposes ordinary output ports (cue_L/cue_R), patchable independently of the auto-takeover.

Consequences

  • Real PFL/AFL/SIP monitoring on the cans; the house mix is structurally protected — PFL can never reach the audience, enforced at the engine seam, not just the UI.
  • The monitor auto-takeover only engages when MAIN fans to a secondary destination (the headphones); with a single MAIN output it stays unset (safe) until the operator wires a monitor send.
  • Native cue summing sits next to the MAIN/matrix native sum (ADR 0002); it is not an LV2 or a subprocess.