The reverb's wet-path cut corners — ONE travel for both, because the C imposes one constraint
on both: a corner must stay below Nyquist or the one-pole coefficients go degenerate. 20 kHz is
above the audible band and safely under the Nyquist of the LOWEST supported graph rate
(44.1 kHz → 22.05 kHz), so it holds at every rate.
0 is OFF for the low cut (mix_reverb.h: "0 = none") and the top is OFF for the high cut
(a corner at or above Nyquist reads as open), so the single travel spells both.
DELIBERATELY NOT the channel filters' narrower HPF/LPF pair. The browser drew 0..1000 and
1000..20000 while the row accepted 20 kHz on both, and the first fix attempt tightened the ROW
to match the browser — which would have removed reach the console genuinely had, and broken the
band-ordering clamp that depends on the wide travel. The row was right; the surface was narrow.
A client renders from what it is given, so the declaration is the row's, and the panel binds it.
The reverb's wet-path cut corners — ONE travel for both, because the C imposes one constraint on both: a corner must stay below Nyquist or the one-pole coefficients go degenerate. 20 kHz is above the audible band and safely under the Nyquist of the LOWEST supported graph rate (44.1 kHz → 22.05 kHz), so it holds at every rate.
0is OFF for the low cut (mix_reverb.h: "0 = none") and the top is OFF for the high cut (a corner at or above Nyquist reads as open), so the single travel spells both.DELIBERATELY NOT the channel filters' narrower HPF/LPF pair. The browser drew 0..1000 and 1000..20000 while the row accepted 20 kHz on both, and the first fix attempt tightened the ROW to match the browser — which would have removed reach the console genuinely had, and broken the band-ordering clamp that depends on the wide travel. The row was right; the surface was narrow. A client renders from what it is given, so the declaration is the row's, and the panel binds it.