openmixer — generated API reference
    Preparing search index...

    Interface ChannelMuteStrips

    Where the ONE state lives.

    An implementation returns the strip object the console holds, not a copy — this resource writes strip.mute in place, so the authority and what clients are told cannot diverge. Returning undefined means the channel is not on this console, which the layer turns into a not-found rather than a default.

    The implementation also decides which channels exist at all: a console that has no strip for muteGroup/1 simply has no mute resource there, without this file inventing a policy for control-only channel kinds.

    interface ChannelMuteStrips {
        channels?(): readonly ChannelId[];
        linkOf?(channel: ChannelId): ChannelLink | undefined;
        stripFor(channel: ChannelId): ChannelStrip | undefined;
    }
    Index
    • Every channel the console holds a strip for — the membership question a console-wide snapshot asks. Optional because the lookup half is what a READ needs; a source that cannot list its strips simply contributes no mute frames to a snapshot rather than inventing them.

      Returns readonly ChannelId[]

    • The stereo-link LEDGER's own answer for a channel — which half it is, and who its partner is (audit D5). This is the fact that decides whether a write is a follower's and must be refused, and it is asked of its owner on every access, exactly as MuteHoldSource asks the hold entities. A copy of it kept on the strip reads "unlinked" for every pair made through a door that did not refresh the copy — and a follower that is not recognised accepts a write it must refuse, muting the silent half of the pair while the audible one plays on.

      Optional: a console with no link ledger has no pairs. That is a different claim from a ledger reporting none, and leaving this out is how a source states which of the two it is.

      Parameters

      Returns ChannelLink | undefined