OptionalhpfBuilt-in high-pass (low-cut) roll-off on the whole channel — the desk's dedicated
pass section, distinct from an hpf-type EqBand (this one carries a
selectable 12/24 dB-oct slope; a band is a single Q-shaped section).
OptionallpfBuilt-in low-pass (high-cut) roll-off on the whole channel (see hpf).
The parametric bands — a variable-length list of GENERIC EqBand atoms the operator adds to / removes from (capped at import('./eq.js').EQ_MAX_BANDS).
THIS LIST HAS NO ORDER. It is an array because JSON has no set; its sequence carries no meaning and nothing may read meaning into it. Two reasons, both measured:
omx_biquad_cascaderuns the bands as a plain series of Direct Form I sections, and cascaded LTI sections commute — the transfer function is the product, whatever the order.mix_dsp.h: "band i uses coeffs[i] + state[i]"), so a band that changed places would inherit its neighbour's filter memory. Keeping the list still is what avoids that.Where a surface must enumerate bands — the chip strip is the only one — it orders them BY ID, which is creation order: stable, already stored, and it will not reshuffle under the operator's finger mid-drag the way a frequency sort would.