openmixer — generated API reference
    Preparing search index...

    Function eqBandIsIdentity

    • True when band, as currently configured, is mathematically IDENTITY — its RBJ cookbook section reduces to H(z) ≡ 1 for every sample, whatever its frequency or Q, so running it changes nothing. Only the gain-carrying shapes (bandHasGain: bell/lowShelf/highShelf) can be identity, and only at exactly 0 dB: the cookbook's amplitude term A = 10^(gainDb/40) collapses to 1, which makes the numerator and denominator coefficients equal term-for-term (b0=a0, b1=a1, b2=a2 — see the derivation in the PR that introduced this check), a provable property, not an approximation. A pass filter (hpf/lpf) or a notch is NEVER identity: their shape ignores gain entirely and always removes or nulls something — an HPF at 20 Hz still rolls off sub-audio content, a notch still nulls its centre — so bandHasGain gates this on purpose rather than checking gainDb === 0 alone.

      WHY THIS EXISTS (the cost of asserting the console's declared default at boot). Every untouched lane runs defaultEqState's 4-band cascade — 4 identity biquads per leg × up to 64 input lanes (plus MAIN) — on a lane that needs none of it. Parking each identity band (native eq_enabled[i] = 0, which the RT cascade already treats as "this section does not run" — omx_biquad_cascade in mix_dsp.h) removes that cost while the row keeps reporting its full band count and curve untouched: this is what reaches the DSP, never what the operator's EQ tab shows or the session stores.

      Parameters

      Returns boolean