Skip to main content

Technical — Mixing engine

AudioMixMatrix is a pure float PCM utility (no Godot/SDL dependency) used by live playback.

Per-sample signal flow

source[frame, ch]
× componentVolume
× masterVolume
× panGain[ch] // stereo only
→ route through CuePatch matrix into bus gains
→ map buses through AudioOutputPatch to device channels
→ sum into output[frame, outCh]

Pan

Equal-power stereo balance; see Levels, pan & fades. GetInputPanGain returns 1 for non-stereo layouts.

Routing matrix

When a CuePatch is present, source channels are combined into patch buses by the matrix coefficients. Missing routing falls back to straightforward channel mapping behaviour defined in the mix implementation.

Output patch vs direct

ModeBehaviour
PatchUses patch id/object to map logical outs to device channels by name
DirectWrites to the named device stream’s channels without patch object mapping
NeitherNo audible output (assignment incomplete)

Multi-cue summing

Each active playback mixes into shared device buffers. There is no automatic bus compressor — peak management is operator-side (levels, fewer simultaneous cues, headroom).

Control interaction

Runtime fades from control components / OSC adjust effective levels on active instances. Programmed component volume remains the document value unless the inspector commits a change.