openmixer — generated API reference
    Preparing search index...

    Interface BoundsContext

    The live facts a pointer may need in order to reach real bounds. Every member is optional: a caller supplies what it can, and a pointer whose source is missing resolves to absent rather than to a substituted default.

    interface BoundsContext {
        allocation?: ReadonlyMap<
            | "fader"
            | "gain"
            | "pan"
            | "divergence"
            | "trim"
            | "polarity"
            | "align"
            | "name"
            | "colour"
            | "instrument"
            | "hrp"
            | "eq"
            | "gate"
            | "dynamics"
            | "drive"
            | "delay"
            | "reverb"
            | "width"
            | "order"
            | "chain"
            | "sends"
            | "mute"
            | "soloSafe"
            | "link"
            | "gateKey"
            | "fbs"
            | "record"
            | "toMain"
            | "sources"
            | "sourceRef"
            | "sourceStereo"
            | "solo"
            | "headAmp"
            | "inserts"
            | "meter"
            | "rta"
            | "recallSafe"
            | "members"
            | "parents"
            | "clip"
            | "source",
            Readonly<Record<string, ControlLimit>>,
        >;
        catalogLimits?: ReadonlyMap<
            | "fader"
            | "gain"
            | "pan"
            | "divergence"
            | "trim"
            | "polarity"
            | "align"
            | "name"
            | "colour"
            | "instrument"
            | "hrp"
            | "eq"
            | "gate"
            | "dynamics"
            | "drive"
            | "delay"
            | "reverb"
            | "width"
            | "order"
            | "chain"
            | "sends"
            | "mute"
            | "soloSafe"
            | "link"
            | "gateKey"
            | "fbs"
            | "record"
            | "toMain"
            | "sources"
            | "sourceRef"
            | "sourceStereo"
            | "solo"
            | "headAmp"
            | "inserts"
            | "meter"
            | "rta"
            | "recallSafe"
            | "members"
            | "parents"
            | "clip"
            | "source",
            Readonly<Record<string, ControlLimit>>,
        >;
        headAmpGain?: HeadAmpGainRange;
    }
    Index
    allocation?: ReadonlyMap<
        | "fader"
        | "gain"
        | "pan"
        | "divergence"
        | "trim"
        | "polarity"
        | "align"
        | "name"
        | "colour"
        | "instrument"
        | "hrp"
        | "eq"
        | "gate"
        | "dynamics"
        | "drive"
        | "delay"
        | "reverb"
        | "width"
        | "order"
        | "chain"
        | "sends"
        | "mute"
        | "soloSafe"
        | "link"
        | "gateKey"
        | "fbs"
        | "record"
        | "toMain"
        | "sources"
        | "sourceRef"
        | "sourceStereo"
        | "solo"
        | "headAmp"
        | "inserts"
        | "meter"
        | "rta"
        | "recallSafe"
        | "members"
        | "parents"
        | "clip"
        | "source",
        Readonly<Record<string, ControlLimit>>,
    >

    The SESSION's allocation, keyed by the fact it bounds — how many sends a channel may carry, how many members a DCA may hold, how many insert slots exist. A COUNT bound, so unit is empty and step is 1.

    Legitimately absent before a session is loaded, and that absence is a FACT to render (an unallocated console has no send count to draw), never a default to substitute — the same cardinality argument as headAmpGain, one level up (#150).

    catalogLimits?: ReadonlyMap<
        | "fader"
        | "gain"
        | "pan"
        | "divergence"
        | "trim"
        | "polarity"
        | "align"
        | "name"
        | "colour"
        | "instrument"
        | "hrp"
        | "eq"
        | "gate"
        | "dynamics"
        | "drive"
        | "delay"
        | "reverb"
        | "width"
        | "order"
        | "chain"
        | "sends"
        | "mute"
        | "soloSafe"
        | "link"
        | "gateKey"
        | "fbs"
        | "record"
        | "toMain"
        | "sources"
        | "sourceRef"
        | "sourceStereo"
        | "solo"
        | "headAmp"
        | "inserts"
        | "meter"
        | "rta"
        | "recallSafe"
        | "members"
        | "parents"
        | "clip"
        | "source",
        Readonly<Record<string, ControlLimit>>,
    >

    The processor limit tables, keyed by the fact they bound (gate → GATE_LIMITS, dynamics → COMP_LIMITS). Supplied by a package that can import @freemixer/catalog, so the pairing is stated ONCE instead of at every call site.

    headAmpGain?: HeadAmpGainRange

    The PATCHED preamp's own declared travel, read through headAmpGainRangeOf(capability, pad) so the pad is already folded in. Per instance: absent when nothing is patched, and stale the moment the channel is re-patched — which is why it is passed in rather than cached here.