openmixer — generated API reference
    Preparing search index...

    Interface HeadAmpInstance

    What the console can say about ONE channel's head stage at this instant — the per-instance half of the intersection, supplied by whoever holds the /headAmp row.

    The three sets are deliberately distinct questions, and conflating any two of them has already cost a rig defect:

    • capability — can this endpoint carry the control at all? A durable property of the PORT, which is why a box stepping out does not move it (an unplugged box that closed sens moved GAIN ownership from the preamp to the desk and back, so one encoder gesture landed in two different stores depending on whether a cable was in).
    • writable — would a write reach hardware right now? This is what an absent box closes.
    • known — does the desk hold a real value, or a display placeholder? A projection never invents a default for someone's preamp.
    interface HeadAmpInstance {
        capability: HeadAmpCapability;
        gainRange?: HeadAmpGainRange;
        known: ReadonlySet<keyof HeadAmp>;
        reason?: Refusal;
        writable: ReadonlySet<keyof HeadAmp>;
    }
    Index
    capability: HeadAmpCapability

    What the patched input DECLARES it physically implements.

    gainRange?: HeadAmpGainRange

    The travel the /headAmp row already resolved for this preamp AT THE PAD IT HOLDS (headAmpRowOf → headAmpGainRangeOf). Passed through, never re-resolved: the row owns that resolution, and a second reader that had to be handed the pad separately is a second chance to read it against a different instant.

    ABSENT where the row resolved none — a channel whose patched input declares no analog SENS has no preamp travel to pass through (import('./source.js').HeadAmpRow.gainRange). The derivation below reads that as the DESK's own stage, which is whose gain it then is.

    known: ReadonlySet<keyof HeadAmp>

    The /headAmp fields whose value the desk actually holds (never a placeholder).

    reason?: Refusal

    Why the declared-but-unwritable fields refuse — a CODE plus args, never prose.

    writable: ReadonlySet<keyof HeadAmp>

    The /headAmp fields a write can reach right now.