openmixer — generated API reference
    Preparing search index...

    Interface ChainProcessorState

    /channel/{kind}/{index}/chain/processors/{processorId} — one stage.

    interface ChainProcessorState {
        enabled: boolean;
        kind: string;
        label: string;
        plugin: string;
        sort: number;
        tapPoint: string;
    }
    Index
    enabled: boolean

    false = bypassed (a pass-through; its output port still exists).

    kind: string

    The processor's role (eq, gate, insert, fader, …) — structural, never written.

    label: string

    An insert slot's rack label (A, B, post); '' on every other kind. Structural, never written — and load-bearing: resolveTap's Post-Insert-A / Post-Insert-B anchors match on kind === 'insert' && label === …, so without it a client cannot resolve those two taps from the rows and has to be told the answer.

    plugin: string

    The hosted LV2 URI; '' is an EMPTY slot — the one clear encoding this entity has.

    sort: number

    Sort among the processors sharing this node's tapPoint, ascending. Writable, and a REAL number: dropping an FX between two others is the midpoint of their two keys, so a move is ONE write of ONE node and never a renumbering of the segment.

    tapPoint: string

    The TAP POINT this processor is attached to — one of the ids the model's set declares, and the AUTHORED half of the arrangement. Writable: this is the door a move goes through.

    The field's codec is built from the model's own set, so OPTIONS on this row publishes exactly the points this desk has. That is how a client learns the vocabulary instead of carrying a copy of it, and it is why a desk with a different skeleton needs no client change.