Optional ReadonlygainThe gain this preamp COMES UP AT, with the provenance that says how the desk knows it — see
GainDefault and an internal spec §2.
Absent for the same reason gainRange is absent on REAC_HEAD_AMP: a capability
built from an input's *Capable flags cannot materialise a default it was never told, so the
fallback is read in ONE place (gainDefaultOf) rather than spelled at each site. There,
absent alongside an absent gainRange MEANS the REAC preamp and resolves to its measured
+32; absent beside a declared travel means a preamp whose own power-on value nobody has
measured, and resolves to the house mic default.
Only meaningful where sens is true — a channel with no preamp comes up at the DESK's own unity, which is not this capability's fact to state.
Optional ReadonlygainHow far this preamp's input gain travels and how finely it resolves, in dB of gain — see HeadAmpGainRange. Absent means the REAC travel (REAC_HEAD_AMP_GAIN_RANGE, 0..55 by 1), which is what every preamp the desk knew before an RME analog mic input arrived carries; read it through headAmpGainRangeOf (pad-aware) rather than defaulting at each call site.
Only meaningful where sens is true. It is a property of the CONTROL, not of the console: a surface that draws one travel over both fabrics either stops 10 dB short of an RME preamp or offers 10 dB a Roland box cannot take, and a range that lies is the same defect class as a capability that lies.
ReadonlypadReadonlyphantomReadonlysens
The analog head-amp controls an input physically implements — the honest capability an enumerated AdapterInput declares. A REAC stagebox input has all three; a PipeWire / software input has none (there is no pin to power, no pad, no analog SENS). The surface reads this to decide whether to render phantom/pad/sens at all — an absent capability is hidden, never a control that silently no-ops.