Documentació tècnica — Catàleg d'abstraccions
Tots els elements reutilitzables, en un sol lloc.
Aquí hi ha dues menes de codi: un element reutilitzable o una configuració que en combina un. Aquesta pàgina és l'inventari de la primera mena (tipus, components, ginys, biblioteques i mòduls), perquè un canvi recorri al que ja existeix abans d'escriure res de nou.
Les meitats de web-ui i de C natiu que hi ha a continuació es mantenen a mà, perquè typedoc llegeix TSDoc i no components Vue d'un sol fitxer ni capçaleres de C. Les meitats @openmixer/core i @openmixer/server es generen directament a partir dels seus comentaris TSDoc: 1354 símbols exportats, 1290 dels quals tenen un resum.
Composables — packages/web-ui
useResource
The one write/read client for a REST row: optimistic hold, refusal surfacing, supersede-by-later-write.
useContract
Reads a row's declared OPTIONS contract — the writable fields, ranges and enumerated options.
useStripRow
Write-backed binding to one channel strip's row.
strip-view-store
Read-only per-channel row binding, split out to break an import cycle with useStripRow.
row-store-registry
The central registry every declared row store joins, so a test can reset every store and stream in one call.
useVisibleDemand
Turns a widget's on-screen visibility into the demand signal that lets nothing compute unwatched.
useConsoleStream
The one EventSource connection to the console — every SSE stream in the surface goes through it.
useNumberFormat
Locale-aware numeric display formatting.
useDeclaration
Reads a resource's declared schema and limits.
useTraceDemand
Demand-gates a trace-buffer subscription.
useScreenClass
Responsive breakpoint classification.
useTheme
Reads the active theme's tokens.
useControlDescriptor
Generic control metadata — label, unit and range — for a declared field.
Components & widgets — packages/web-ui
ConfirmButton
Arm-then-fire two-tap confirmation for an unrecoverable action, including the global no-confirmation escape hatch.
db.ts / FADER_TAPER
The one canonical fader position↔dB taper, shared by the fader widget, the channel tile and the model.
controls/Fader.vue
The base fader widget — taper, drag and keyboard nudge — wrapped by the gain fader and the fader bank.
controls/Encoder.vue, EncoderRow.vue
A rotary parameter control, alone or as a labelled row.
controls/Meter.vue
The per-strip level meter.
controls/ConsoleSelect.vue
A styled select control with contrast handling built in.
Stepper.vue
A stepped +/- numeric control.
NudgeField.vue
A numeric field with nudge buttons.
SchemaForm.vue / SchemaField.vue
Generic form rendering from a declared schema.
C libraries — packages/pipewire-native
mix_dsp.h
The shared DSP kernel library: click-free gain ramps, gate/EQ/compressor primitives, bus summing, output delay and the real-FFT analyser.
mixer_state.h
The node's state layout and its concurrency contract — which fields are word-atomic, real-time-owned, or release/acquire.
omx_napi.h / .c
The one JS-boundary argument-fetch-and-validate shape every native binding declares its signature through.
mix_bus.h
The summing bus: width folding, sparsity skipping, one send struct for every bus in the desk.
mix_lane.h
The one processing-lane stage walk shared verbatim by every channel strip and the master lane.
mix_order.h
The data-driven, allocation-free per-strip stage order — a reorderable chain of gate, EQ, compressor, delay, reverb and insert steps.
mix_host.h
The addon's one shared, refcounted PipeWire client and thread loop.
mix_delay.h
The real-time-safe stereo delay-line kernel, used as a send/return or an insert.
mix_reverb.h
One Schroeder-Moorer comb-and-allpass kernel serving both room and hall reverbs, plus a Dattorro plate kernel.
mix_tap.h
The named tap-point bank: post-trim, pre-EQ, post-EQ, pre-fader, post-fader.
mix_insert.h
The in-lane hosted-plugin send/return detour.
mix_rec.h
The real-time-safe capture ring: monotonic cursors, a counted gap standing in for silence.
mix_pb.h
The playback ring counterpart to mix_rec.h — lockstep multitrack reads, silence on a stall.
mix_loop.h
Routing-loop (howl-round) graph detection, kept as the one topology mirror in the codebase.
mix_rf64.h
The WAV/RF64 grammar — the single writer and reader for every take file.
hrp_baseline.h, hrp_attribute.h, hrp_pitch.h, hrp_track.h, hrp_analyze.c
The composed HRP (harmonic reference pitch) pipeline: pitch, then attribution, then baseline, then tracking, one contract per stage.
generator.h / .c
Talkback and test-signal source nodes, sharing mix_host.h's client.
Resource molds — packages/core, instantiated from packages/server
DerivedResource
A read-only row recomputed on every read.
ScalarRecordResource
One writable scalar or record per address.
CollectionResource
An addressable multi-item collection, such as a set of EQ bands.
LatchResource
Momentary or latched state, extending ScalarRecordResource.
OperationResource
An action-style, POST-shaped resource.
ConsoleResource<S>
The umbrella interface every row satisfies, for the rare row that needs more than a mold provides.
stripFieldRow()
A generic builder that turns a strip field, its wire codec and its engine door into a full row.
StripStateController<...>
The shared base behind the compressor, delay, reverb and gate controllers.
Controllers — packages/server
State plus a broadcastable frame, with no I/O of their own.
Stores — packages/server
Persisted state, one module per concern.
Transport — packages/server
protocol.ts
Every outbound wire frame shape, each with its own builder function — the one declared home for what goes out on the wire.
rest-router.ts
The single REST door. It names no entity itself, which is what lets every row be plain configuration instead of wiring its own HTTP verbs.
Generat — core + server
La superfície pública de TypeScript.
Functions (592)
| Nom | Paquet | Resum |
|---|---|---|
absentDeviceArgs | @openmixer/core | The `args` a ABSENT_DEVICE_REFUSAL carries. |
accumulateChainLatency | @openmixer/core | Sum a chain's insert latency. |
aggregateSpectrumBands | @openmixer/core | Reduce `high` (and `low`, where a band is under the crossover) to `nBands` log-spaced bands. |
alignCorrection | @openmixer/core | The correction a fit implies for THIS channel, against the line it already holds. |
allocateConsole | @openmixer/core | Build a ConsoleAllocation from a source count (the gig's N) + the per-bus-type counts. |
allocatedBusIds | @openmixer/core | Every bus ChannelId the allocation declares, grouped by kind. |
allocationWarnings | @openmixer/core | Every operator-facing warning an allocation carries — the one call a caller needs so a new warning becomes visible everywhere at once instead of at whichever site remembered it. |
allocationWithinProfile | @openmixer/core | True when the allocation already fits the appliance (no clamp would change it) — used to WARN, not to block. |
alsaDeviceKey | @openmixer/core | An ALSA node name minus its trailing PROFILE token — the profile-INDEPENDENT device identity two profiles of the same card share. |
annotateStageboxGroups | @openmixer/core | Tag the reac-pw nodes in a source/sink pair with a `group` label (their owning StageboxDevice's name), leaving every other node — and any group already set, e.g. |
applyParts | @openmixer/core | Apply the selected parts of a clipboard entry onto a target channel. |
asComp | @openmixer/core | The typed **compressor view** of a `dynamics` node — the derived CompState for the comp curve. |
asEq | @openmixer/core | The typed **EQ view** of an `eq` node — the derived EqState the curve maths bind (`paramsToState('eq', …)`). |
asGate | @openmixer/core | The typed **gate view** of a `gate` node — the derived GateState for the gate curve. |
assessRtHeadroom | @openmixer/core | Assess the engine's RT headroom from one reading. |
audioFabricFits | @openmixer/core | Does a box's AUDIO placement of `width` channels starting at fabric slot `base` fit inside the 40 slots the wire carries? |
audioFabricRemaining | @openmixer/core | How many AUDIO fabric slots are still free above `base` — what a caller reports when a placement is refused, so the operator sees the real headroom rather than a bare "no". |
availableSurfaceTemplates | @openmixer/core | Templates whose `adapterType` is among the server's currently registered types (as reported by `adapter.types`) — the ones the Setup menu can actually add today. |
balanceGains | @openmixer/core | The L/R gain a `pan` position acts as a **balance** on a *stereo* signal (a linked stereo strip — M32 / Roland model). |
bandFMax | @openmixer/core | The highest frequency worth drawing at `sampleRate`: the cap, or Nyquist where that is lower. |
bandHasGain | @openmixer/core | True when a band type has an adjustable gain (bell + shelves); pass + notch shapes don't. |
bandLabel | @openmixer/core | A short display label for a band: its free EqBand.label, else its legacy console EqBand.name, else its origin-prefixed name if a planter owns it (bandOriginLabel — `F3`, `H7`), else THE NUMBER ALONE. |
bandOriginLabel | @openmixer/core | The declared display name for a machine-planted band — `F3`, `H7` — its origin's short prefix plus its own stable EqBand.id, the same id `/eq/bands/{id}` already addresses it by. |
bankAlignment | @openmixer/core | Measure a BusAllocation against the surface's banks (see BankAlignment). |
bankAlignmentWarning | @openmixer/core | The operator-facing warning for an allocation whose banked strips do not fill their banks, or `undefined` when they do. |
bankedStripCount | @openmixer/core | The number of **banked strips** an allocation occupies — every tier whose descriptor is BusTypeDescriptor.banked, summed. |
bindTapPoints | @openmixer/core | Build a desk's set by BINDING catalogue points, optionally under the desk's own spellings. |
binToHz | @openmixer/core | Frequency (Hz) of FFT bin `bin` — the bin→Hz law every PersistenceTracker consumer needs (mirrors the web-ui's `spectrum.ts`, which keeps its own copy for its wider display maths). |
biquadMagnitudeDb | @openmixer/core | Magnitude of one biquad band at `freq` (Hz), in dB. |
boundsOf | @openmixer/core | Follow ChannelFactDecl.range for one fact (and, where the source is a table, one field) to the bounds a control draws with. |
boxesReferenced | @openmixer/core | Every box a stored patch depends on — what a show needs on stage, derived from the patch. |
budgetMsFor | @openmixer/core | The accumulated-latency budget for a destination: the per-bus override, else the role's. |
buildHardwareManifest | @openmixer/core | Build the HardwareManifest recorded in a session at save time (issue #154). |
buildLatencyPath | @openmixer/core | Sum a path's steps into a LatencyPath. |
buildOpenApiDocument | @openmixer/core | Build the OpenAPI 3.1 document. |
buildTopology | @openmixer/core | Build a MixerTopology from a TopologySpec. |
busAllocationOf | @openmixer/core | Build a BusAllocation by asking `count` for each type — the one spelling of the field-by-field construction (compile-checked total by the return type), so a builder in another module cannot silently skip a newly added… |
busAudioPaths | @openmixer/core | Audio paths the allocated buses draw: every summing bus + main, excluding DCA — a DCA is control-domain coupling and carries no audio. |
busCapWarning | @openmixer/core | The operator-facing warning for an allocation whose N exceeds BUS_INPUT_CAP, or `undefined` when it fits. |
busInputCount | @openmixer/core | The size a summing bus is created with for a gig of `inputChannels` = N: N capped at BUS_INPUT_CAP, so every input can send to every bus (gig-input-configuration.md). |
busTypeAllowed | @openmixer/core | A bus type is offered iff its per-type max > 0. |
busTypeBanked | @openmixer/core | Whether a channel kind is a bus type the surface BANKS (see BusTypeDescriptor.banked); `undefined` for a kind that is not an allocatable bus at all. |
busTypeRoleLabel | @openmixer/core | The surface role word for a channel kind that IS an allocatable bus type (from the BUS_TYPES table); `undefined` for a non-bus kind. |
butterworthSlopeQs | @openmixer/core | The per-section Q values that realise a Butterworth pass filter of the given slope: a 12 dB/oct filter is one maximally-flat 2nd-order section (Q = 1/√2); a 24 dB/oct filter is two cascaded sections (Q = 0.5412, 1.306… |
canonicalChainFor | @openmixer/core | The CANONICAL arrangement for a strip kind -- what a freshly built strip of that kind carries: defaultBusChain for a bus master, defaultChannelChain otherwise. |
capAllocation | @openmixer/core | Clamp a whole allocation to the appliance: channels to `caps.inputChannels`, each bus to its per-type max, then — if `caps.pathPool` is set — trim so Σ(paths) ≤ pathPool, keeping the highest-priority paths (input chan… |
capBusAllocation | @openmixer/core | Clamp each bus count to the profile's per-type maximum (no pool trim). |
carriedInstanceOf | @openmixer/core | One instance's values out of the collection's state — each declared series the state carries, decoded through its own window into a plain number and keyed by the series' field name. |
carriedLookupOf | @openmixer/core | Every instance's values out of the collection's state, decoded ONCE: each declared series the state carries is decoded through its own window one time, and the lookup answers an id by position. |
carriedSeriesCodecs | @openmixer/core | The series codecs a declaration publishes — one `levelSeriesU8` per series, over its window. |
catalogueTapPoint | @openmixer/core | The catalogue entry for `id`, or `undefined` — the one question a binding asks. |
censusGaps | @openmixer/core | The facts with a gap on either axis — what the mission shrinks, as `contract.fact` strings. |
censusTotals | @openmixer/core | Tally a census. |
chainFromSlotState | @openmixer/core | Project a whole strip's typed processing state onto a normalized Processor chain — the complete strip→chain direction (extends populateChainParams with inserts). |
chainFromSnapshot | @openmixer/core | Rebuild a live Processor chain from its persisted ProcessorSnapshotJson form, then normalizeChain it for the strip `kind` — so a loaded chain always satisfies the always-present-EQ invariant (and the structural fader … |
channelCapabilityOf | @openmixer/core | THE derivation: the contract's kind-level truth intersected with the patched instance's. |
channelConfigMovesNothing | @openmixer/core | True when the apply moves nothing the channel holds — the surface applies without asking. |
channelConfigMovesOf | @openmixer/core | The moves a preview state lists, narrowed entry by entry — what `applyMoves` answers, or what rides a `CONFIRM_REQUIRED` refusal as `preview`. |
channelDisplayLabel | @openmixer/core | The full surface label for a bus / channel: its numbered role, plus the custom name when the operator has set one that adds information. |
channelFactAddressOf | @openmixer/core | The concrete URL path a fact answers at for ONE channel — factRowAddress with the address bound. |
channelIdOf | @openmixer/core | The `{kind}/{index}` pair of a ResourceId as a ChannelId, or `undefined` when it addresses nothing (issue #438). |
channelIds | @openmixer/core | The canonical **1-based `{kind, index}` id list** for a channel kind and count — `channelIds('input', 3)` → `input/1, input/2, input/3`. |
channelInSubgroup | @openmixer/core | Whether a channel is assigned into a subgroup. |
channelKey | @openmixer/core | — |
channelMainGainViaSubgroups | @openmixer/core | A single channel's composite linear gain to the main mix through the subgroups it is assigned to: its own fader gain times the SUM of each containing group's group→main gain. |
channelPairAddress | @openmixer/core | The `channel × channel` address one pair-shaped row is registered under. |
channelRecordArmed | @openmixer/core | Whether a captured channel is armed for the multitrack recorder — the stored ChannelSnapshotJson.record wish, or the kind's own default where the show is silent. |
channelRecordTaps | @openmixer/core | The tap points a captured channel records at — the stored wish, or the kind's default where the show is silent. |
channelRefOf | @openmixer/core | One unknown element as a channel ref — validated narrowing, no assertion anywhere. |
channelRoleSlot | @openmixer/core | The native `role_slot` for a role — its index in CHANNEL_ROLE_ORDER (L=0, R=1). |
channelRoutesToMain | @openmixer/core | Whether a captured channel is assigned to the main mix. |
channelSafeFor | @openmixer/core | The recall-safe entry for a channel, or `undefined` when it carries none. |
channelSafeOf | @openmixer/core | ONE channel's row state as the recall filter's ChannelSafe entry, or `undefined` when the channel safes nothing — a channel that exempts nothing contributes no entry, exactly as the old mask dropped a cleared channel … |
channelScopeLabel | @openmixer/core | MAIN carries no index because there is exactly one of it; every other kind is abbreviation + index. |
channelSlotKeyAddress | @openmixer/core | The `channel × slot × key` address, with the KEY's member name given by the caller: the same shape spells a control port (`symbol`) and an `lv2:Parameter` (`property`), and naming the member keeps them different addre… |
channelSlotTargetAddress | @openmixer/core | The `channel × slot × target-channel` address: an operation whose subject is one numbered route of a strip and whose object is a second strip — the matrix promotion of a MAIN fan-out destination. |
channelTailAddress | @openmixer/core | The `channel × <field>` address, `field` naming the tail's OWN wire key (`processorId`, `filter`, `band`, …) so two different tail-shaped rows never collide on the same segment name. |
channelTailKeyAddress | @openmixer/core | The `channel × tail × key` address — channelSlotKeyAddress's shape for a rack whose members are named rather than positioned. |
clamp | @openmixer/core | Clamp `n` into `[lo, hi]`. |
clamp01 | @openmixer/core | Clamp `n` into `[0, 1]`. |
clampBpm | @openmixer/core | Clamp a BPM to the accepted range. |
clampEqFreq | @openmixer/core | Clamp a band frequency into the audio band. |
clampEqGain | @openmixer/core | Clamp a band gain into ±EQ_GAIN_LIMIT_DB. |
clampEqQ | @openmixer/core | Clamp a band Q into EQ_Q_RANGE. |
clampEqQFor | @openmixer/core | Clamp a band Q into the extent its SHAPE allows: a notch may go ultra-narrow (EQ_NOTCH_Q_RANGE); every other shape keeps EQ_Q_RANGE. |
clampFbsCooldownMinutes | @openmixer/core | Clamp the ring-memory window into FBS_COOLDOWN_MINUTES_RANGE; junk → the default. |
clampFbsCut | @openmixer/core | Clamp an FBS band's gain into its own cut authority: [FBS_MAX_CUT_DB, 0]. |
clampFbsHold | @openmixer/core | Clamp a hold time: `'never'` passes through; a number is clamped into FBS_HOLD_SECONDS_RANGE (NaN/negative junk → the default). |
clampFbsMaxAutoBands | @openmixer/core | Clamp the auto-band cap into FBS_AUTO_BANDS_RANGE; junk → the default. |
clampFbsMergeCents | @openmixer/core | Clamp the merge radius into FBS_MERGE_CENTS_RANGE; junk → the default. |
clampFbsNotchQ | @openmixer/core | Clamp a planted-notch width (Q) into the notch shape's extent (EQ_NOTCH_Q_RANGE, 0.3..116); junk → `116`, today's plant. |
clampFbsSensitivity | @openmixer/core | Clamp a detection sensitivity into [0..1]; junk (NaN/±∞) → `0`, the SAFE default (an unreadable value must never silently raise aggression). |
clampFilterFreq | @openmixer/core | Clamp a pass-filter cutoff into its allowed band (HPF low, LPF high). |
clampFreq | @openmixer/core | Clamp a frequency into the audible band; NaN → the default reference tone. |
clampGainDb | @openmixer/core | Quantize to the preamp's step and clamp into its travel — the ONE place a GAIN is made representable, so a stored value, a knob and a southbound write cannot round differently. |
clampGroupGain | @openmixer/core | Clamp a group's linear gain to be non-negative (a negative gain is nonsense; `0` = silence). |
clampHrpAmount | @openmixer/core | The operator's authority, clamped into its declared travel. |
clampHrpMaxAutoBands | @openmixer/core | The per-channel band cap, clamped into its declared travel and never fractional. |
clampLevel | @openmixer/core | Clamp a level into the 0..1 range (a linear generator volume); NaN → 0. |
clearOnAbsentFactsOf | @openmixer/core | The facts whose declared absence semantics is `clear` (spec revision 3, #665): on a whole-state restore, each of these returns to its fresh-strip state THROUGH ITS OWN DOOR whenever the file carries none of its snapsh… |
clipboardPartsOf | @openmixer/core | Replaces `PART_FIELDS`: which facts each AtomicChannelPart carries, grouped from CHANNEL_CONTRACT.clipboard rather than hand-listed. |
coarseDelayOf | @openmixer/core | The COARSE delay: where the cross-correlation of the pair peaks. |
codedMessage | @openmixer/core | Build a coded message. |
coerceBusesToQuantum | @openmixer/core | Bring an arbitrary BusAllocation onto the STRIP_QUANTUM grid, **reporting** every count it had to move. |
collapsePhysicalInputs | @openmixer/core | Collapse a stored input-patch set to **at most one physical input** — the load-time migration for the settled one-physical-input-per-channel rule (see InputPatchbay). |
compParamOf | @openmixer/core | Validate a generic compressor control id + value against the `compToParams` vocabulary: numeric ids reject strings and booleans, `on` needs a boolean, `kind` one of the two enum members. |
compToParams | @openmixer/core | A CompState as the generic param list (the standard view). |
consoleMuteGroups | @openmixer/core | The console's mute groups as a load must apply them: the snapshot's own list, plus any group a LEGACY `safety.muteGroups` still declares that the body does not (audit D6). |
consolePersistsAnyFact | @openmixer/core | Does ANY console fact ride the session? |
consoleProfileById | @openmixer/core | The profile for an id, or the default `openmixer` profile when unknown/absent. |
contractCensus | @openmixer/core | Every enumerable contract's facts, both axes. |
contractDeclares | @openmixer/core | Does the contract declare fact `fact` on kind `kind`? |
contradictionSignature | @openmixer/core | A stable signature for a set of contradictions, so a caller surfaces each one ONCE rather than on every poll of an unchanged disagreement. |
countRange | @openmixer/core | The travel of a control over an INTEGER COUNT — how many channels, how many buses, which channel a stagebox starts at, how many bands the corrector may place. |
createdAt | @openmixer/core | The item exists now, under this id. |
dbFromJson | @openmixer/core | Decode a JSON `db` back to a number (`null` → `-Infinity`). |
dbToJson | @openmixer/core | Encode a `db` (which may be `-Infinity`) for JSON. |
dbToLinearGain | @openmixer/core | dB → linear amplitude (0 dB → 1, −6 dB → ~0.501). |
dcaMasterGain | @openmixer/core | The composed linear gain of a DCA master including its parents (VCA nesting): `master · Π parentEffective`. |
dcaScaleFor | @openmixer/core | The product of every DCA master a channel belongs to (each master itself composed with its VCA parents). |
decibels | @openmixer/core | Tag `n` as Decibels. |
decodeOscMessage | @openmixer/core | Decode a single (non-bundled) OSC message. |
defaultAllocation | @openmixer/core | A sensible **default console allocation** for a fresh server / new session — a small live console the operator can mix on immediately: DEFAULT_INPUT_CHANNELS input channels, a stereo main, 8 aux (monitor) sends, 8 sub… |
defaultBusChain | @openmixer/core | The default **bus-master** processor order — the Roland R5 finding: an AUX / group / main / matrix output bus carries the same EQ + dynamics + inserts + DYN↔EQ swap as an input channel ("as on the other output buses, … |
defaultBusStereo | @openmixer/core | Whether a bus of a given kind defaults to **stereo** (distinct L/R). |
defaultChannelChain | @openmixer/core | The default channel processor order — our canonical layout, now the DEFAULT (NOT fixed): `trim/HPF → insert A → gate → EQ → dynamics → insert B → fader → insert post`. |
defaultCompState | @openmixer/core | The default console compressor (the model-shape CompState, the sibling of `defaultEqState`): off, a firm 4:1 ratio at −18 dB with a fast 5 ms attack and a musical 200 ms release, no make-up. |
defaultEqState | @openmixer/core | The default console EQ: a sensible flat starter set of generic bands — a low shelf, two bells, and a high shelf, all on at 0 dB — over the desk's dedicated HPF/LPF pass filters (parked and off). |
defaultMixerApiUrl | @openmixer/core | The base URL of the entity door a client dials when nothing is configured — reads and writes alike (`?watch=1` on any GET is the stream). |
deriveInsertPlacement | @openmixer/core | WHERE this chain's hosted plugins actually cut the lane — one entry per DISTINCT native insert point that hosts at least one live plugin, in walk order. |
deriveStageOrder | @openmixer/core | Derive the native stage-order step list from a strip's chain — the built-in stage nodes AND the strip's racked insert points, in chain order, as their stage ids. |
descriptorOf | @openmixer/core | Build a ControlDescriptor from a declared range plus the availability the caller resolved — a thin read of descriptorOfLimit, the one constructor, through the one range→limit transcription (`gainTravelOf`). |
descriptorOfLimit | @openmixer/core | The descriptor for a control whose travel is DECLARED — a processor's limit table entry. |
detectGPUs | @openmixer/core | Enumerate the local GPUs. |
detectStageboxes | @openmixer/core | Detect the REAC stageboxes among the patchbay's live sources + sinks, grouping each box's capture node (inputs) and playback node (outputs) into one StageboxDevice. |
differingFields | @openmixer/core | The state fields whose values differ between two readings of one row, sorted. |
diffHardware | @openmixer/core | Diff a session's HardwareManifest against what is present, returning the absent devices with what the restored show depends on each for (issue #154). |
diffKeys | @openmixer/core | Compares two objects and returns an array of keys where their JSON.stringify values differ. |
directOutTapPointsOf | @openmixer/core | The point ids a DIRECT OUT may feed from, in signal order — the desk's own second offer where it has one (Roland), and sendTapPointsOf where it does not. |
discoveryOutcome | @openmixer/core | Classify a discovery pass into its DiscoveryOutcome. |
effectiveChannelGain | @openmixer/core | A channel's effective linear gain: its own fader gain times the combined DCA scaling (dcaScaleFor). |
effectiveChannelMute | @openmixer/core | A channel's effective (audible) mute: its own individual mute OR any active mute group it belongs to OR a held panic (#404, #178). |
effectiveSafeScopes | @openmixer/core | The scopes a recall exempts, given one channel's decision — `all` means all of them. |
emptyPatch | @openmixer/core | An empty routing graph (nothing patched). |
emptyRecallSafe | @openmixer/core | An empty mask (nothing safed). |
emptySafety | @openmixer/core | A safety snapshot with everything empty and the default panic target. |
emptyTapState | @openmixer/core | — |
encodeOscMessage | @openmixer/core | Encode a complete OSC message (address + typed args) into one datagram-ready Buffer. |
enumMap | @openmixer/core | A PARTIAL map from one closed key vocabulary to one closed value vocabulary — the value an "override per case" field carries (the processing view's arrangement pinned per screen class, `2026-08-04-processing-view-layo… |
enumOf | @openmixer/core | One of a closed set of string values. |
enumParam | @openmixer/core | Build an enum (choice) processor param. |
enumSet | @openmixer/core | A SET drawn from a closed vocabulary — canonically ordered and deduplicated. |
enumValue | @openmixer/core | Read an enum param's value by id. |
eqBandIsIdentity | @openmixer/core | True when `band`, as currently configured, is mathematically IDENTITY — its RBJ cookbook section reduces to `H(z) ≡ 1` for every sample, whatever its frequency or Q, so running it changes nothing. |
eqCoeffs | @openmixer/core | Fold an EqState into the ordered biquad-coefficient cascade the native mixer runs — the coefficient counterpart of the engine's `eqSections`. |
eqCurveDb | @openmixer/core | The summed response of a set of bands across a log-spaced frequency axis. |
eqPresetById | @openmixer/core | Look up a preset by id from the FULL definition set (including a layout not currently OFFERED because its nominal count exceeds EQ_MAX_BANDS, e.g. |
eqPresetPassFilters | @openmixer/core | Every preset seeds the SAME parked HPF/LPF (operator amendment): 80 Hz / 12 kHz, OFF until the operator engages them. |
eqToParams | @openmixer/core | An EqState as the generic param list. |
evaluateInsertSuitability | @openmixer/core | Run a check set over a chain and fold the findings. |
exceedsBusCap | @openmixer/core | Whether the gig's N exceeds the single-tier mixer-tree cap (so buses get clamped and a deeper tree would be needed for "every input → every bus"). |
expandParts | @openmixer/core | Resolve a selection to the atomic parts it covers. |
factCarriedBy | @openmixer/core | The one question the paste asks about a fact: does this channel carry it right now? |
factCasesOf | @openmixer/core | GENERATE the persistence obligation from CHANNEL_CONTRACT: one FactPersistenceCase per (fact, kind) pair the contract actually declares — every kind in `kinds`, crossed with the fact's own `persisted` bit. |
factRowAddress | @openmixer/core | WHERE a fact is served — its ChannelFactDecl.servedAs mold, or the default `/channel/{kind}/{index}/{fact}` when it declares none. |
factsServedAt | @openmixer/core | The facts served at one address mold — the UNION a consumer needs, because two facts can share a row (`sends` and `toMain`; `members` and `parents`). |
faderDbOnWire | @openmixer/core | A level as the WIRE carries it: brought inside the travel the row DECLARES. |
faderFromDb | @openmixer/core | — |
faderFromPosition | @openmixer/core | — |
faderScale | @openmixer/core | View a dB-valued Param as the model's FaderScale — the fader's value IS dB, so position→dB is `fromNorm` and dB→position is `toNorm`. |
fbsPoolFor | @openmixer/core | The detector pool an arming mode's finds belong to (`off` arms nothing). |
fbsTagFor | @openmixer/core | The origin tag for a find from the given detector pool. |
featureMatrixOf | @openmixer/core | THE per-kind feature matrix — the default feature rows as a pure function of CHANNEL_CONTRACT, never a hand-kept table. |
featureMatrixWith | @openmixer/core | The contract's default matrix (featureMatrixOf) with per-kind **deviations** applied — the "counts + deviations" idiom for a desk that mostly matches the contract but genuinely differs on a kind or two: a device with … |
featureWordsOfFact | @openmixer/core | The capability WORDS a fact projects into the 15-word feature vocabulary — empty for the majority of facts, which is the asymmetry this spec names outright ("the contract serves ~30 facts through 15 feature words"). |
fftInPlace | @openmixer/core | Transform `re`/`im` in place, length `n = re.length`. |
fieldsFor | @openmixer/core | The fields a selection would read or write. |
filterSnapshotForRecall | @openmixer/core | Produce the snapshot that a recall would actually apply, with the recall-safed channels / scopes removed. |
finiteNumber | @openmixer/core | A finite number, CLAMPED into [min, max] — the desk's legal travel has the last word. |
finiteNumberOf | @openmixer/core | The codec for a field whose travel is DECLARED — the declaration passed WHOLE, not transcribed field by field. |
fitAlignment | @openmixer/core | Fold a run of paired frames into the four numbers. |
fixedKindChannelAddress | @openmixer/core | The channel address of a template that fixes the kind literally — `/channel/muteGroup/{i}`, `/channel/dca/{i}/members`. |
formatBoxModel | @openmixer/core | Format reac-pw's `reac.box-model` prop into its display form — the Roland model number (`'s0808'` → `'S-0808'`, `'S-4000S'` → `'S-4000S'`). |
formatRefusal | @openmixer/core | One prose rendering of a refusal, for logs and legacy `reason` fields — never for clients. |
framesToMs | @openmixer/core | Convert a latency expressed in audio frames to milliseconds at a given rate. |
gainDescriptorOf | @openmixer/core | The GAIN control descriptor for a preamp that declares `range` — the head-amp answer to "how far does this knob go, how finely, and may I move it?". |
gainTravelOf | @openmixer/core | A declared dB travel's three numeric columns in the ControlLimit vocabulary — the ONE spelling of the `minDb`/`maxDb`/`stepDb` → `min`/`max`/`step` transcription. |
gateToParams | @openmixer/core | A GateState as the generic param list (the standard view). |
generatorByKind | @openmixer/core | Look up a generator by its kind. |
generatorNodeName | @openmixer/core | The PipeWire node.name each generator is published under. |
generatorsOf | @openmixer/core | The three generators as an ordered list (oscillator, white, pink). |
ghostStageboxes | @openmixer/core | The devices a patchbay must DRAW that no live node backs, from two independent sources. |
groupsContaining | @openmixer/core | The groups (of any kind carrying a `members` list) that contain a channel, in the order they are given. |
growthSlope | @openmixer/core | Least-squares slope (dB per frame) of a short trailing history of dB levels, oldest first — the "is this bin RUNNING AWAY" signal that separates real feedback from a sustained musical tone (see the module doc). |
hardwarePresence | @openmixer/core | The presence of an entity from the two independent facts. |
harmonicBands | @openmixer/core | The `hrp`-tagged band set describing one fundamental's correction. |
harmonicDeviationGainsDb | @openmixer/core | A gain table for harmonicBands — `gainsDb[k]` is harmonic **k + 1**, negative for a cut, `0` for a partial that needs none. |
hasOutputLeg | @openmixer/core | Whether an endpoint carries at least one leg (the ≥1-role invariant the schema enforces). |
headAmpCapabilityOf | @openmixer/core | Read an input's analog head-amp capability from its declared `*Capable` flags. |
headAmpCapabilityOfSource | @openmixer/core | The analog head-amp capability a Source advertises — its captured Source.headAmp (resolved from the patched AdapterInput at patch time), or NO_HEAD_AMP when the source declares none (a raw/implicit endpoint, a legacy … |
headAmpChannel | @openmixer/core | The HEAD-AMP wire channel for a box input: `CH = modelBase + (boxInput - 1)`, decoded off an M-200 driving an S-0808 / S-1608 (`reac-firmware-re`, op `04 03` TAG `01 01`). |
headAmpFeatureOf | @openmixer/core | Is this capability word one the patched INPUT declares, rather than one the desk's own DSP carries? |
headAmpGainDefaultOf | @openmixer/core | The declared reset/fresh target for a gain control over `range`, or `undefined` where that travel cannot hold it. |
headAmpGainLimitOf | @openmixer/core | A preamp's declared travel as the ControlLimit that rides OPTIONS — the ONE translation between the capability's vocabulary and the wire's, so a row publishing a gain travel and a row clamping one cannot spell it two … |
headAmpGainRangeOf | @openmixer/core | The GAIN travel a declared head-amp covers **at a given pad setting** — the capability's own HeadAmpGainRange, or the REAC travel for a capability that predates the field. |
headAmpOf | @openmixer/core | Extract the HeadAmp props from a Source (what the engine applies at the head). |
headAmpRowOf | @openmixer/core | Compose the HeadAmpRow a client reads, from the stored record plus the capability the patched input declared. |
holdOf | @openmixer/core | The codec for a hold field: one of the declared scopes, or `null` for all-clear. |
hostsInsertPlugin | @openmixer/core | Whether this processor HOSTS a live plugin — a slot carrying an LV2 URI that is not bypassed to a pass-through. |
hrpLadder | @openmixer/core | A per-harmonic array of `length` entries built from a sparse list of (harmonic, value) pairs — the shape HrpVoiceMeasurement wants, from the shape both measuring tiers produce. |
hrpMinConfidenceFor | @openmixer/core | The confidence floor that goes with a search budget of `maxVoices` — half a voice's fair share. |
hrpResonanceScore | @openmixer/core | §24's resonance score, the documented formula: the AUTHORISED CUT (which already folds in the measured deviation, the excess threshold and the operator's amount — see `harmonicDeviationGainsDb`) weighted by how sure t… |
hrpSearchFor | @openmixer/core | The search hint for a channel's assigned instrument family, or `undefined` where none is assigned — and `undefined` is the honest answer, not a copy of the wide defaults: the C's `omx_hrp_config_default` is their one … |
hrpVoiceCandidates | @openmixer/core | Every voice's scored correction candidates, unranked and uncapped. |
hzToBin | @openmixer/core | The (fractional) bin holding `hz` in a transform of `fftSize` at `sampleRate`. |
inputChannelIds | @openmixer/core | The input ChannelIds the allocation declares (`input/1 … input/N`). |
inputWidthOf | @openmixer/core | The width of input channel `index` (1-based) in an allocation — `stereo` when declared, else `mono` (the default; an allocation with no `inputWidths` is an all-mono console). |
insertDestinationFor | @openmixer/core | The destination record for a bus: its policy-declared role if the operator set one, otherwise the role its kind defaults to, plus the rate the judgement will use and where that rate came from. |
insertPointRealised | @openmixer/core | Whether a hosted plugin declared at `at` RUNS there. |
insertPointSlug | @openmixer/core | The port-name slug for insert point `point` — `Post-Trim` becomes `post_trim`, so the node's ports read `insert_post_trim_send_9_L` and an operator looking at the graph sees WHICH channel's insert, at WHICH declared p… |
insertRoleForKind | @openmixer/core | The default InsertRole for a bus kind (see INSERT_ROLE_BY_KIND). |
insertStageId | @openmixer/core | The stage id that names insert point `point` (0-based). |
insertWidthFits | @openmixer/core | Whether a plugin with `legs` audio output legs RUNS on a strip of this width without the substrate inventing a fold. |
insertWidthRefusal | @openmixer/core | The refusal for a plugin too wide for the strip it is racked on (ruling 2026-09-02, tap-points spec): one builder, so the rack door and OPTIONS carry identical args. |
instrumentFamilyOf | @openmixer/core | The family a factory template belongs to, or `undefined` for an id this desk does not know. |
intWithin | @openmixer/core | An INTEGER within [min, max]. |
isBandId | @openmixer/core | Whether this is a band ID — a BARE POSITIVE INTEGER, spelled without a sign, a leading zero or anything else (`"1"`, `"12"`; never `"0"`, `"01"`, `"1.5"`, `"sort"`). |
isBandOrigin | @openmixer/core | Narrow an arbitrary tag to a known BandOrigin. |
isBoxInput | @openmixer/core | Whether a leg names a box input rather than a port. |
isBusKind | @openmixer/core | Is `kind` an **audio bus** — a channel kind that carries and sums audio (a routing/summing node with a master strip)? |
isCandidateBin | @openmixer/core | A bin passes the instantaneous multi-criteria test (before persistence confirms it). |
isChannelConfigMove | @openmixer/core | Whether an unknown wire value is one ChannelConfigMove — a fact this contract names, a snapshot field a config carries, and scalar sides when present. |
isChannelFact | @openmixer/core | Is this name a declared ChannelFact? |
isChannelFullySafe | @openmixer/core | Whether the whole channel is safed (nothing on it is overwritten by a recall). |
isChannelKind | @openmixer/core | Type guard: is `s` a valid ChannelKind? |
isChannelPart | @openmixer/core | Is this name a selectable ChannelPart? |
isCodedMessage | @openmixer/core | Wire guard: is `v` a well-formed coded message — a known code plus a flat record of scalars? |
isCodedRefusal | @openmixer/core | Is `err` a coded refusal (carrying a translatable code + structured params)? |
isConsoleProfileId | @openmixer/core | Narrow an arbitrary string to a known console-profile id. |
isCorrectionNotice | @openmixer/core | True when a wire value spells a CorrectionNotice. |
isDefaultEqState | @openmixer/core | True when `eq` is exactly the fresh defaultEqState — the flat starter every channel is seeded with. |
isEmptyPatch | @openmixer/core | Whether a patch snapshot carries no routing at all. |
isEqBandType | @openmixer/core | Narrow an arbitrary string to a known EqBandType. |
isFbsTag | @openmixer/core | True when `tag` marks a band as FBS-planted — the ONLY bands the corrector may ever modify or remove. |
isFftLength | @openmixer/core | Whether `n` is a length this transform accepts: a power of two, at least 2. |
isFieldKey | @openmixer/core | isKeyOf over a scalar field table. |
isFoldOutputEndpoint | @openmixer/core | Whether an endpoint folds a stereo bus onto ONE mono port — see outputEndpointFoldPort. |
isGrowing | @openmixer/core | Whether a bin's trailing dB history shows a genuine RUN-AWAY trend — the ramp gate PersistenceTracker.push confirms on. |
isHeadAmpChannel | @openmixer/core | Is `ch` a legal HEAD-AMP / chanmap wire channel (`0x00..0x2f`)? |
isInMuteGroup | @openmixer/core | Whether a channel is a member of a given mute group. |
isInputChannel | @openmixer/core | Is the channel address an **input** (source) channel, as opposed to any bus/group/monitor? |
isInsertRefusedError | @openmixer/core | Is `err` a refused insert? |
isKeyOf | @openmixer/core | Validated narrowing of a wire key into ANY exhaustive per-field table — the audited bridge. |
isMagnitudeSeries | @openmixer/core | Whether `value` is a magnitude series of either shape — the ONE guard, so no reader keeps an `Array.isArray` that a typed array silently fails. |
isMessageCode | @openmixer/core | Is `code` a code this bridge knows (and therefore one the catalog carries)? |
isMonoOutputEndpoint | @openmixer/core | Whether an endpoint is a single-leg (mono) destination — exactly one role present. |
isNativeStageKind | @openmixer/core | Whether `kind` is one of the reorderable NATIVE stages (and so has a stage id). |
isPhysicalInputPort | @openmixer/core | Whether a source port is a PHYSICAL INPUT — a preamp channel that OWNS a head-amp — as opposed to an app or internal stream. |
isPlantableRingHz | @openmixer/core | Whether a detected ring frequency may plant at all — the edge-clamp refusal. |
isPositionTap | @openmixer/core | Whether a SendTapSpec is an explicit `{ position }` (vs a preset/legacy string). |
isRecord | @openmixer/core | Plain-object check for parsed/unknown JSON — the boundary guard every intake narrows with. |
isResourceId | @openmixer/core | Whether a wire value is a ResourceId — a record of strings and numbers. |
isRoutableOutputKind | @openmixer/core | Is `kind` a **routable output** — a channel kind whose tail can be routed to a physical sink through the output crosspoint (`patchbay.output`)? |
isSaturatedPlateau | @openmixer/core | #140 SATURATED-PLATEAU route — the second, opt-in confirm path for the explosive ring the ramp gate structurally rejects (a loop that jumps to near-clip in one hop, then HOLDS there, has no distributed multi-frame ris… |
isScopeSafe | @openmixer/core | Whether a given scope is safed on a channel (`all` safes every scope). |
isSnapshot | @openmixer/core | Type guard to check if a given object is a Snapshot. |
isSpectrumBandSeries | @openmixer/core | Whether a wire value is a SpectrumBandSeries — the shape, not its validity. |
isStageboxAssignError | @openmixer/core | Is `err` a refused stagebox assignment (carrying a code + structured params)? |
isStageboxKey | @openmixer/core | Is `value` a well-formed key? |
isStageboxPort | @openmixer/core | Does this port name a STAGEBOX? |
isStereoEndpoint | @openmixer/core | Whether an endpoint is a **stereo pair** — two distinct ports (FL/FR, or any L≠R pair) from a source. |
isStereoPatch | @openmixer/core | Whether a channel's patched source set is **stereo** — true when ANY of its summed sources is a stereo pair (isStereoEndpoint). |
isTalkbackGeneratorPort | @openmixer/core | Whether a graph port belongs to a talkback GENERATOR node — the one predicate every reader shares (#177). |
isTemplateVariable | @openmixer/core | Whether a template segment is a variable — `{index}` rather than `headAmp`. |
isUndoSetParam | @openmixer/core | Is `param` one this bridge has an undo label for? |
iterOscPacket | @openmixer/core | Every message in a received packet. |
jobLedgerRows | @openmixer/core | Every row of the ledger table in `markdown`, in file order. |
judgeChainLatency | @openmixer/core | Judge a chain's accumulated latency against its destination's budget. |
keepOnePhysicalInput | @openmixer/core | Split a channel's patch set by the one-physical-input rule (`2026-08-07-one-summing-bus.md` §3c): the FIRST physical input is kept, any later one is dropped, and soft sources always ride along — an application stream … |
laneRuleOf | @openmixer/core | THE lane rule behind a fact — the declaration a server `ControlDomain` spreads instead of hand-setting `onMasterLane` / `fansOutToMembers` beside the table (phase 3's deletion). |
legacyTapPreset | @openmixer/core | Map a legacy two-way tap onto the preset it is an alias of. |
legKey | @openmixer/core | A stored leg as a comparable STRING — the identity of the thing written down, not of the hardware it currently reaches. |
legPort | @openmixer/core | The port a stored leg points at RIGHT NOW, or `undefined` when it names an absent box. |
levelSeriesSubset | @openmixer/core | The bytes of a level series at `positions`, in that order, as a new series — a BYTE subset: no value is decoded and none re-quantised, so a client reading the subset through the same declared window reads exactly the … |
levelSeriesU8 | @openmixer/core | The one-byte level series over `span` — SPECTRUM_LEVEL_LIMIT by default. |
lifecycleOf | @openmixer/core | Build a mold's lifecycle view, or `undefined` when the row declared no doors at all. |
linearGain | @openmixer/core | Tag `n` as a LinearGain. |
linearGainToDb | @openmixer/core | Linear amplitude → dB — the exact inverse of dbToLinearGain, and the reason this one exists: without it the inverse direction was hand-rolled at every call site, which is how three different silence conventions (`1e-1… |
linearOfDbfs | @openmixer/core | A dBFS level as the linear 0..1 peak a meter draws; the codec's floor (and below) is silence. |
linearOfPosition | @openmixer/core | The inverse of positionOfLinear — a surface position as a linear amplitude. |
lowTierGainDb | @openmixer/core | The dB correction that level-matches a LOW-tier band to the HIGH tier's reference (issue #97). |
machineOwnedBands | @openmixer/core | Every band on a channel owned by SOME known planter — the numerator of the joint machine-band budget, whose denominator is the channel's free-slot count. |
magToDb | @openmixer/core | Linear magnitude to dBFS. |
mainSumViaSubgroups | @openmixer/core | The total signal reaching the main mix through every subgroup: each group's bus level, scaled by its group→main send, all summed. |
makeBandId | @openmixer/core | A fresh band id: the LOWEST number not already used in `existing` — deterministic, so add/remove keeps stable, collision-free ids without a shared counter or a clock read. |
makeFbsChannelState | @openmixer/core | A fresh, disarmed FBS state with the operator defaults. |
makeHrpChannelState | @openmixer/core | OFF, and correcting nothing. |
makeParam | @openmixer/core | Build a live Param from its spec. |
makeSource | @openmixer/core | Build a Source with neutral preamp defaults (normal gain, pad/phantom off) for a given id + patch. |
makeSourceFromInput | @openmixer/core | Build a Source patched to a specific AdapterInput, stamping the input's DECLARED head-amp capability (headAmpCapabilityOf) onto Source.headAmp — the honest, capability-driven way to register a source, so the channel i… |
makeTalkbackSection | @openmixer/core | A fresh talkback section: a stopped 1 kHz sine + stopped white/pink noise, mic idle. |
matchTemplate | @openmixer/core | Match one template against already-split segments, capturing the braced ones. |
memberContains | @openmixer/core | Whether a channel is a member of a group's member list. |
meterFill | @openmixer/core | A linear peak (0..1, where 1 = 0 dBFS) → display fill (0..1) on a **dB** scale, linear-in-dB between METER_FLOOR_DB and 0 dBFS. |
micRoutesAudible | @openmixer/core | Whether the measurement microphone can reach a loudspeaker — the door's safety test. |
moveToIndex | @openmixer/core | Express "put this processor at flat index `to`" as the PLACEMENT that produces it — the one translation a drag-and-drop surface needs, and the only way an index-shaped request reaches the model now. |
mutedByGroup | @openmixer/core | Whether any **active** mute group masks this channel. |
muteGroupMembers | @openmixer/core | The members of a mute group by id, or an empty array if no such group. |
namedIndexAddress | @openmixer/core | A one-segment address whose value is a dense 0-BASED INDEX under `key` — a position in an ordered set the console keeps (a USER page in `/surface/pages/{index}`). |
namedTextAddress | @openmixer/core | A one-segment address whose value is opaque TEXT under `key` — a stored id, a graph node id, anything the console addresses by a name it did not invent. |
nativeAttempt | @openmixer/core | Run ONE native actuation and report what the audio did — the boolean→refusal narrowing, written once. |
nativeInsertPointOf | @openmixer/core | The native insert point index a declared tap point names, or `undefined` if the walk has no cut there (`Top-Of-Ch`, `Post-Fader`, an undeclared point, or none at all). |
noClip | @openmixer/core | The latch of a channel that has not clipped since its last clear — the row's fresh state. |
nonEmptyText | @openmixer/core | Operator text that must actually say something — the NAME a stored item is created under. |
noRecallSafe | @openmixer/core | A channel nobody has safed: not exempt from anything. |
normalizeChain | @openmixer/core | Enforce the chain's structural invariants — the **G-EQ discipline** (task #101) plus the structural fader — returning a NEW normalized chain (pure; input untouched): - **Exactly one `eq` node.** Duplicate EQ nodes col… |
normalizeEqBand | @openmixer/core | A band in its canonical shape: the identity it was given, its parameters, and the display and origin data it carries. |
normalizeEqState | @openmixer/core | Bring a persisted/session EqState to its canonical shape: every band carries an id (withBandIds), the pass filters carry through untouched. |
normalizeFbsChannelState | @openmixer/core | Load a persisted FbsChannelStateJson gracefully (the `normalizeEqBand` idiom): a pre-#116 `holdMinutes` becomes seconds, a current shape passes through untouched, and a shape with neither key gets the default hold. |
normalizeHrpChannelState | @openmixer/core | A stored state read back into the model, with every field clamped and an unknown mode falling back to OFF — a session written by a newer desk must never arm a corrector this one cannot run. |
notCreated | @openmixer/core | Nothing was created, and this is why. |
notProjected | @openmixer/core | Did not reach the audio. |
notRemoved | @openmixer/core | The item is still there, and this is why. |
nullableEnumOf | @openmixer/core | One of a closed set of string values, or `null` — the value a HELD-scope latch carries: `/safety/panic`'s engaged scope, where `null` IS the released state, a real value distinct from every member of the vocabulary. |
nullableFiniteNumberOf | @openmixer/core | A finite number CLAMPED into a declared travel, or `null` — the value of an OPTIONAL level: `null` says nothing is set, so whatever the declaration derives (a floor, a default, a lower layer) wins again. |
nullableIntWithin | @openmixer/core | An INTEGER within [min, max], or `null` — the value an OPTIONAL numeric setting carries (a persisted port override; `null` is the value that says nothing is set, so a lower config layer wins again). |
nullableToken | @openmixer/core | An identifier token, or `null` — the value a "which registered thing backs this" field carries. |
numberedRoleLabel | @openmixer/core | The role + 1-based number for a channel: "Aux 3", "Group 2", "Matrix 1", "DCA 4". |
numberEnum | @openmixer/core | One of a closed set of NUMERIC values — a sample-rate menu, a quantum ladder. |
numberOrText | @openmixer/core | A value that is a number OR a string, which is what an `lv2:Parameter` (the LV2 Patch extension) carries: a threshold is a float, a cabinet impulse is a path. |
numberParam | @openmixer/core | Build a numeric processor param. |
numberValue | @openmixer/core | Read a numeric param's value by id (throws if absent or wrong kind — the layout is fixed per kind). |
offersOnlyDeclaredTapPoints | @openmixer/core | Whether every point a profile OFFERS is one its skeleton DECLARES. |
orderPlaced | @openmixer/core | THE DERIVATION: the effective processing order — point order first, then sort within point. |
orphanedHotInputs | @openmixer/core | The physical inputs in `hot` that NO channel sources any more — the honest set difference behind "48 V is still on a socket nothing is patched to" (#384). |
oscString | @openmixer/core | Encode an OSC string: UTF-8 bytes, a NUL terminator, then NUL padding to the next 4-byte boundary. |
outputEndpointFoldPort | @openmixer/core | The single MONO port a multi-leg endpoint FOLDS onto — the port every present leg names — or `undefined` when the endpoint's legs address distinct ports (a real per-leg destination). |
outputEndpointLegs | @openmixer/core | The present legs of an endpoint in canonical role order — the forward-compatible iterator every consumer uses instead of assuming exactly `L`/`R`. |
outputRouteDelayMs | @openmixer/core | A route's per-destination delay in ms — the persisted `delayMs`, or 0 (no delay) when absent. |
outputRouteEndpoint | @openmixer/core | The leg-aware endpoint of a persisted route (its role→port map without the trim fields). |
outputRouteIsMono | @openmixer/core | Whether a route addresses a single (mono) destination leg — the fold candidate. |
outputRouteLegs | @openmixer/core | A route's present legs in canonical role order. |
outputRouteMonoFoldDb | @openmixer/core | A route's per-leg mono-fold attenuation in dB — the persisted `monoFoldDb`, or DEFAULT_MONO_FOLD_DB when absent. |
outputRouteMuted | @openmixer/core | Whether a route is muted — the persisted `mute`, or `false` when absent. |
outputRouteTrimDb | @openmixer/core | A route's trim in dB — the persisted `trimDb`, or 0 (unity) when absent. |
overlayStageboxContradictions | @openmixer/core | Overlay each detected box with the disagreements between what was WRITTEN DOWN about it and what it reports — the same single seam overlayStageboxNames occupies for the registry name, so every stagebox-producing path … |
overlayStageboxIds | @openmixer/core | Overlay each detected box with its registry identity — the stable `boxId` the console minted when the box enrolled — resolved from its recognition key. |
overlayStageboxNames | @openmixer/core | Overlay operator names from the persistent registry onto a freshly-detected device list: each box whose KEY resolves to a stored name is re-labelled through stageboxWithOperatorName; every other device passes through … |
overlayStageboxPresence | @openmixer/core | Overlay each detected box with its StageboxDevice.presence — the third seam beside overlayStageboxNames and overlayStageboxContradictions, for the same reason: one place computes it, so every stagebox-producing path p… |
owedJobs | @openmixer/core | The jobs still owed a round-trip proof, in ledger order. |
ownerOf | @openmixer/core | WHO OWNS fact `fact` in context `ctx` — the contract's `owner` column made evaluable (phase 3). |
ownsBand | @openmixer/core | Does `origin` own `band`? |
panGains | @openmixer/core | The L/R gain a `pan` position distributes a signal to when it feeds a **stereo** bus (constant-power / −3 dB pan law). |
panicEngaged | @openmixer/core | Whether a held panic silences this channel. |
panicMains | @openmixer/core | The channels a MAINS-MUTE panic silences: the session's configured mains, or the default main bus when none is configured. |
papr | @openmixer/core | PAPR — peak-to-average power ratio, in dB. |
paramOf | @openmixer/core | Hydrate a numeric param's spec into a live Param (for rendering / formatting). |
paramsToComp | @openmixer/core | Reconstruct a CompState from the generic param list — inverse of compToParams. |
paramsToEq | @openmixer/core | Reconstruct an EqState from the generic param list — inverse of eqToParams. |
paramsToGate | @openmixer/core | Reconstruct a GateState from the generic param list — inverse of gateToParams. |
paramsToState | @openmixer/core | Reconstruct a processor's typed state from the generic param list, dispatched by chain kind. |
parseChannelKey | @openmixer/core | Inverse of channelKey: parse a `"${kind}/${index}"` key back into a ChannelId. |
parsePhysicalInputKey | @openmixer/core | The inverse of physicalInputKey — recover the patch a key was built from, so a layer holding only the identity (the head-amp ledgers) can still name the PORT an operator sees. |
parseSavedTake | @openmixer/core | Narrow a parsed JSON document to a SavedTake, or `undefined` when it is not one. |
parseTakePrint | @openmixer/core | One TakePrint, validated rather than asserted. |
parseTakeRender | @openmixer/core | The TakeRender block, or `undefined` when it is not a well-formed one. |
partCarriage | @openmixer/core | How one part fares against one target. |
passFilter | @openmixer/core | The pass filter of the given kind, defaulted (off, at its default cutoff) when unset. |
patchFor | @openmixer/core | Build a SourcePatch referencing an InputProvider's input. |
pathBudgetRemaining | @openmixer/core | Remaining path budget for an O.H.R.C.A. |
pdcCompensation | @openmixer/core | Plugin-delay-compensation (PDC) math for one summing point (a bus). |
permutationOf | @openmixer/core | A list that must be exactly a REORDERING of a live set — the roster's `strips`. |
persistedFactsOf | @openmixer/core | Replaces `ChannelSnapshotJson`'s hand-listed field set: the facts the session persists, derived from CHANNEL_CONTRACT.persisted rather than kept as a second spelling. |
persistedSnapshotFields | @openmixer/core | The `ChannelSnapshotJson` fields the session persists — persistedFactsOf mapped through SNAPSHOT_FIELDS_OF_FACT. |
phpr | @openmixer/core | PHPR — peak-to-harmonic power ratio, in dB. |
physicalInputKey | @openmixer/core | The PhysicalInputId of a patch — the port identity that owns the head-amp. |
piecewiseFromNorm | @openmixer/core | — |
piecewiseToNorm | @openmixer/core | Evaluate a piecewise taper directly on its breakpoints — the primitive behind a `{ kind: 'piecewise' }` Param. |
placeChain | @openmixer/core | Give every node in `chain` a placement, leaving the ones that already carry a declared point untouched — the total read of a chain authored before the placements existed, or by hand. |
planGhostReplacement | @openmixer/core | Move every channel patched to a departed box onto a present one, port for port. |
planStageboxAssign | @openmixer/core | Compute the **bulk assignment** of a whole stagebox onto channels, each port keyed by **its own channel number**: `capture_NN → channel[startChannel + NN − 1]` for every port on the chosen side. |
planStageboxFabric | @openmixer/core | Place every detected box's audio in the **40-slot AUDIO fabric**, the way the wire packs it: inputs front-packed from slot 0 up, outputs back-packed from slot 39 down — the ENROLL group map's own layout (input region … |
pnpr | @openmixer/core | PNPR — peak-to-neighbouring power ratio, in dB. |
populateChainParams | @openmixer/core | Return the chain with each bridged node's `params` populated from the strip's typed state. |
position | @openmixer/core | Tag `n` as a Position. |
positionOfLinear | @openmixer/core | The position ↔ dB ↔ linear round trip, written once. |
presenceAdmitsWrite | @openmixer/core | May a write to a hardware-backed entity in this state reach hardware? |
presetAllocation | @openmixer/core | Build a full ConsoleAllocation for an `IN:OUT` console size (see presetBuses). |
presetBuses | @openmixer/core | Map an `IN:OUT` console size to a BusAllocation. |
profileHasSection | @openmixer/core | Whether a processing section exists on this appliance (the gate for tabs/panels). |
projectCarried | @openmixer/core | The collection's state narrowed to the instances `keep` admits: the index subset (the entries as written, untouched) and, for every declared series the state carries, the SAME positions' bytes. |
provenanceOf | @openmixer/core | The provenance verdict for ANY contract's declaration, from its presentation columns alone — the one precedence, so a second contract cannot grow a second reading of the same two columns. |
prunedToPersisted | @openmixer/core | A channel snapshot reduced to the address plus the contract's persisted fields — the walk session capture runs over every assembled channel row, so capture CANNOT emit a field the contract does not declare persisted, … |
pshr | @openmixer/core | PSHR — peak-to-subharmonic power ratio, in dB: the candidate bin's level minus the strongest spectral line near bin/2 or bin/3 (±SUBHARMONIC_RADIUS_BINS bins). |
quantumLatencyMs | @openmixer/core | The base buffering latency of one PipeWire processing cycle, in milliseconds: `quantum / sampleRate * 1000`. |
rbjCoeffs | @openmixer/core | The RBJ cookbook section, normalised (a0 folded to 1) to the `[b0, b1, b2, a1, a2]` tuple the engine runs — the native mixer's `omx_biquad` consumes exactly this. |
rbjSection | @openmixer/core | The RBJ Audio-EQ-Cookbook section for one biquad. |
readChainParams | @openmixer/core | Read a populated chain's node params back into the strip's typed state — the inverse of populateChainParams for the bridged kinds. |
readOnlyCodeOf | @openmixer/core | The code `OPTIONS` publishes and a `PATCH` refuses with — see REFUSAL_BY_OWNER. |
recallKeepsNothing | @openmixer/core | True when the recall governs everything it would touch — nothing is left standing. |
recallKeptCollections | @openmixer/core | Diff the LIVE console against the SNAPSHOT a recall is about to apply, and return the console-level collections that would be KEPT rather than restored — the surprise the operator's double-confirm guards. |
recallSafeMaskOf | @openmixer/core | DERIVE the console-wide RecallSafeMask from the per-channel rows. |
reconcileStagebox | @openmixer/core | Reconcile a written-down stagebox against the one on the wire. |
recordDefaultFor | @openmixer/core | The kind-based RECORD-ARMING default — what a channel answers before anyone touches its `/record` row (recording-vsc §0.2: "every PATCHED input + MAIN armed by default … Aux/matrix are NOT recorded unless asked"). |
recordOf | @openmixer/core | A keyed record whose every value narrows through ONE member codec — `source → policy`, a name-keyed table of enum members. |
recordTapsDefaultFor | @openmixer/core | The kind's DEFAULT tap set — what a channel nobody has touched captures. |
recordTapsOfferedFor | @openmixer/core | The tap points THIS KIND offers the recorder — an ordered subset of RECORD_TAP_POINTS. |
reduceSpectrumBands | @openmixer/core | Reduce an already-banded reading to `nOut` bands over the same range. |
referencedAssetUrls | @openmixer/core | Every same-origin asset URL a prerendered page references — the stylesheet, the entry chunk, the module preloads, the payload, the icon. |
refused | @openmixer/core | The refused arm of a PatchOutcome — `accepted: false` plus its code, spelled once. |
reorderAllowed | @openmixer/core | Whether the appliance's ProcessingOrderMode PERMITS a reorder that changes the relative order of two processing stages `a` and `b` — the gate that makes `processingOrder` real (the server rejects a `chain.reorder` / `… |
requireSuitable | @openmixer/core | Throw the first blocking finding of a report as an InsertRefusedError, unless the operator explicitly overrode it. |
resolveEndpoint | @openmixer/core | Resolve a stored endpoint against the live graph. |
resolveInsertSuitabilityPolicy | @openmixer/core | Fill a partial InsertSuitabilityPolicy out to a ResolvedInsertSuitabilityPolicy. |
resolveOutputEndpointOntoActiveProfile | @openmixer/core | Re-point `ep`'s legs onto the ACTIVE profile of each named device, given the live sink `inventory` (#181). |
resolvePhysicalInput | @openmixer/core | Resolve a `<node>:<port>` capture port to the physical input it carries, or `undefined` when no adapter declares it (an app stream, a line/ADAT port, any non-preamp source — the actuators no-op on those). |
resolveRecordTaps | @openmixer/core | **THE TAP-SET DERIVATION** — the points a channel records at, from whatever it has stored. |
resolveResourcePolicy | @openmixer/core | Fill a row's declared policy in with the defaults. |
resolveTap | @openmixer/core | Resolve a SendTapSpec against a live channel chain to a ResolvedTap. |
resolveTemplate | @openmixer/core | Resolve a concrete path against a set of templates — **the most LITERAL match wins.** So a future `/channel/main/{index}/mute` beats the generic `/channel/{kind}/{index}/mute` without either declaration knowing about … |
resourceIdOf | @openmixer/core | Inverse of channelIdOf: the ResourceId a broadcast frame carries for a channel. |
restore | @openmixer/core | Restores the data from a snapshot. |
roleLabel | @openmixer/core | The role label for a channel kind: "Aux", "Group", "Matrix", "DCA", "Main", … |
roundToNearestQuantum | @openmixer/core | Round a **derived** bus count to the *nearest* whole STRIP_QUANTUM (ties round up), with a floor of one quantum so a tier never vanishes entirely. |
roundUpToQuantum | @openmixer/core | Round a bus count **up** to a whole STRIP_QUANTUM. |
routeChainParam | @openmixer/core | Resolve a generic control on a chain node of `kind`. |
routeCompParam | @openmixer/core | Resolve a generic compressor control onto the `/dynamics` row's field. |
routeEqParam | @openmixer/core | Resolve a generic EQ control onto the EQ row that owns it. |
routeGateParam | @openmixer/core | Resolve a generic gate control onto the `/gate` row's field. |
rowKey | @openmixer/core | One row's ledger key: the path plus the id spelled loosely (`3` and `"3"` are one instance). |
rtBudgetCodedMessage | @openmixer/core | The `rt.budget` message for a reading — the wire/display form of rtBudgetMessage. |
rtBudgetMessage | @openmixer/core | The log/debug message shape for an RT load reading (task #121); UIs render their own localised sentence from the ratio — this string is not a display contract. |
rtBudgetPercent | @openmixer/core | The percentage of its real-time budget a busy ratio represents — the `rt.budget` param. |
rtHeadroomProvider | @openmixer/core | Build an RtHeadroomProvider over a live RtLoadSource. |
safesSomething | @openmixer/core | Whether this channel's decision safes anything at all — what puts it in a derived mask. |
sameArrangement | @openmixer/core | Whether two chains are the SAME ARRANGEMENT -- the same nodes in the same order, each carrying the same persisted fields. |
sameOutputEndpoint | @openmixer/core | Whether two OUTPUT endpoints address the same legs — each role present in either maps to the same port, so a mono `{L:x}` differs from `{R:x}` and from `{L:x, R:y}`. |
samePhysicalInput | @openmixer/core | Whether two patches address the SAME physical input (the same stagebox/reac-capture port). |
sameResourceId | @openmixer/core | Two ids address one instance when their fields spell the same values. |
scalarRecord | @openmixer/core | An open record of operator-entered SCALARS — an adapter's `settings`, any bag whose keys a per-type schema (not this codec) owns. |
selectGPU | @openmixer/core | Pick the GPU to run on: the caller's `preference` (a GpuVendorName) when one of that vendor is present, otherwise the highest-DetectedGpu.rank card. |
selectHrpCorrections | @openmixer/core | The globally ranked, collision-free correction list (§29 + §30). |
selectionCarriage | @openmixer/core | How a whole SELECTION fares against one target — composites expanded, in the vocabulary's own order so two clients listing the same paste list it identically. |
selectParts | @openmixer/core | Capture the selected parts of a channel. |
sendTapPointsOf | @openmixer/core | The point ids a SEND may feed from on this model, in signal order — what `OPTIONS …/send/{busKind}/{busIndex}` publishes as the `tap` field's `values`, and what its codec refuses everything outside of. |
servedTap | @openmixer/core | The ONE spelling a tap is SERVED as — the resolved TapPreset, or an explicit `{ position }` unchanged. |
setGeneratorParams | @openmixer/core | Apply a validated parameter update to a generator in-place, clamping level/frequency and ignoring oscillator-only fields on the noise generators. |
setTalkbackRoute | @openmixer/core | Set (or clear, with `to === undefined`) the route of a generator or the mic slot. |
sharedLaneRuleOf | @openmixer/core | The ONE lane rule a family of facts shares — laneRuleOf over each, REFUSING at load if any two disagree. |
sipSilenced | @openmixer/core | The strip-level SIP predicate — the wire's half of `mixer_rt.c`'s `(cue_mode == OMX_CUE_SIP) && any_solo && !solo && !solo_safe`. |
slotStateFromChain | @openmixer/core | Read a populated chain back into the strip's typed slot state `{ eq?, dynamics?, inserts? |
snapshot | @openmixer/core | Creates a snapshot of the given data. |
snapshotFromChain | @openmixer/core | Serialise a live Processor chain to its on-disk ProcessorSnapshotJson form — the strip's whole processing ARRANGEMENT as one ordered list. |
soloSafeDefaultFor | @openmixer/core | The kind-based solo-safe default (ChannelSnapshotJson.soloSafe is absent on a pre-feature session, or on any channel the operator hasn't explicitly overridden) — FX returns and matrix buses default exempt from SIP mut… |
sortBandsByFrequency | @openmixer/core | The same bands ordered by FREQUENCY and renumbered `1..n` in that order — the whole of the sort operation, as a pure function of the list. |
sortBetween | @openmixer/core | A sort key that puts a node BETWEEN `before` and `after` within one point's segment. |
spareFor | @openmixer/core | The pre-declared spare input for a channel, or `undefined` when none is set. |
speakerAlignAim | @openmixer/core | WHERE TO READ THE REFERENCE NEXT — the aim, and the whole of how the reach stopped being the overlap's. |
speakerAlignCorrection | @openmixer/core | The delay one output needs so its arrival at the microphone matches the REFERENCE output's. |
speakerAlignOverlapReachMs | @openmixer/core | How far ONE PAIR OF WINDOWS carries evidence: the delay at which the analysis window's own overlap drives coherence down to ALIGN_TRUST_COHERENCE, in ms. |
speakerAlignReachMs | @openmixer/core | The largest arrival the fit can express, in ms, for a window of `fftSize` at `sampleRate`. |
speakerArrivalIsPhysical | @openmixer/core | Whether a measured arrival can be an acoustic one. |
specOfLimit | @openmixer/core | A DECLARED TRAVEL as the ParamSpec a control renders — the one direction between the two shapes. |
spectrumBandCentres | @openmixer/core | The band tiling every consumer shares: `nBands` log-spaced bands from `fMin` to `fMax`, each answered by its GEOMETRIC centre. |
spectrumBandsOf | @openmixer/core | A banded tap as the client draws it, from the wire's two series and the declaration the row published (`limit`) — the inverse of the desk's encoding. |
spectrumSum | @openmixer/core | The sum of a magnitude spectrum — computed ONCE per frame and handed to every per-bin papr so the floor is O(1) per candidate, not a scan of the whole spectrum. |
splitPath | @openmixer/core | The non-empty segments of a path. |
stageboxAssignCollisions | @openmixer/core | Which of a plan's ops would land on a channel that is already carrying something else. |
stageboxConnected | @openmixer/core | Is a detected StageboxDevice backed by a REAL connected box, or is it just the reac-pw **bridge** probing an empty wire (issue #201)? |
stageboxFabricPlacement | @openmixer/core | The placement for one box side in a planStageboxFabric result, if it has one. |
stageboxGroupLabel | @openmixer/core | The patchbay group label a stagebox's nodes should carry so the I/O list buckets them under the device instead of listing them loose (satisfies "the detected nodes are added to the patchbay, grouped under the device"). |
stageboxKeyed | @openmixer/core | Give a detected REAC device its recognition key and address. |
stageboxKeyOf | @openmixer/core | Build a key from a transport and the parts that identify a box within it. |
stageboxPatchIndex | @openmixer/core | The two translations a stored patch needs, built from the boxes the desk currently sees: a live port → the box input it carries, and a box input → the port carrying it right now. |
stageboxPortAt | @openmixer/core | The group a 1-based port index falls in, or `undefined` when the box has no such port. |
stageboxPortCount | @openmixer/core | How many ports the groups describe in total. |
stageboxPortHasControl | @openmixer/core | Whether the port at a 1-based index offers `control`. |
stageboxTransportOf | @openmixer/core | The transport a key was built for. |
stageboxWithOperatorName | @openmixer/core | Re-label a detected StageboxDevice with an operator-supplied `name`, as if the box had advertised it — the seam the server's persistent registry (Build A) uses to restore a box's name by MAC. |
stateToParams | @openmixer/core | A processor's typed state → the generic param list, dispatched by chain kind. |
stationInstances | @openmixer/core | A station's instances as the wire spells them — the one place a mold turns "which addresses exist" into "which ids exist", so no mold re-derives the canonical spelling of an enumeration. |
storeEndpoint | @openmixer/core | storeLeg for a whole endpoint, keeping `r` absent when the source is mono. |
storeLeg | @openmixer/core | Turn a live port into what should be WRITTEN DOWN for it. |
strandedInsertOf | @openmixer/core | The first live plugin in `chain` racked at a point it does not run at, or `undefined` — the slot that makes every capture on the strip carry a plugin the arrangement puts elsewhere. |
subgroupBusLevel | @openmixer/core | The group bus's own output level: the sum of its members' post-fader signals, scaled by the group output gain (master · mute). |
subgroupFeedsMain | @openmixer/core | Whether a captured bus folds back into the main mix. |
subgroupOutputGain | @openmixer/core | The gain the group applies to its summed input: the master, scaled by the mute (0 when muted, else the master). |
subgroupsContaining | @openmixer/core | The subgroups a channel is assigned into, in the order they are given. |
subgroupsFromAllocation | @openmixer/core | The default Subgroup set an allocation implies: one subgroup per allocated group (`mix`) bus, at unity master, un-muted, with no members yet and folding into main. |
subgroupToMainGain | @openmixer/core | The gain the group contributes to the main mix: its output gain times the group→main send, or 0 when the group does not feed main. |
subsampleToCap | @openmixer/core | Evenly subsample `items` down to `cap` entries, keeping the first and last — so a layout that outgrows a hard cap loses DENSITY, not spectrum coverage. |
substituteTemplate | @openmixer/core | The inverse: the concrete path this id names under this template. |
takeFileName | @openmixer/core | The filename for the `index`-th track of a take: `ch01.post-trim.wav`, `ch02.post-fader.wav`, … — 1-based, because ChannelId is, and the operator reading the folder counts from one. |
takePrintFileName | @openmixer/core | The print's name, derived from the MAIN stem it was made from: `ch09.post-fader.wav` prints to `ch09.post-fader.print.wav`. |
takeRenderFileName | @openmixer/core | — |
takeSummary | @openmixer/core | The header of one stored take. |
tap | @openmixer/core | Fold one tap (timestamp `atMs`) into `state`. |
taperOfScale | @openmixer/core | A FaderScale sampled into a piecewise Taper — the curve as DATA, so a client can draw a throw it does not implement. |
tapLatencyPrefix | @openmixer/core | The processors a tap's latency accumulates over: the chain prefix up to and **including** the tapped processor (index 0…tapIndex). |
tapPointBoundary | @openmixer/core | Resolve a tap point against an ordered, placed chain: the index of the LAST processor that runs strictly before the point, or TAP_AT_CHAIN_INPUT when nothing does. |
tapPointCaptured | @openmixer/core | Whether the native substrate can take this point's audio. |
tapPointDeclared | @openmixer/core | Whether `set` declares a point called `id`. |
tapPointDefining | @openmixer/core | The point a processor of `kind` is PINNED to, or `undefined` when nothing pins it. |
tapPointIds | @openmixer/core | The point ids of `set`, in signal order — what a contract publishes and a picker renders. |
tapPointIndexOf | @openmixer/core | `id`'s position in `set`, or `-1` when the set does not declare it. |
tapPointSet | @openmixer/core | The set with this id, or `undefined` — absence is a fact, not a fallback. |
tapPointsOf | @openmixer/core | **THE FUNCTION A ROW CALLS** to publish the tap vocabulary: the SKELETON this console model exposes, by profile id. |
templateGateMatchesLaw | @openmixer/core | True when `t`'s gate arm state matches FACTORY_GATE_ON_IDS — gated ON only for a close-miked drum shell, off everywhere else. |
templateLawViolations | @openmixer/core | One template's law violations, empty when it fully complies. |
templateLiteralCount | @openmixer/core | How many of a template's segments are literal — the specificity a tie-break is decided on. |
templateOpensOnHpf | @openmixer/core | True when `t` arms its high-pass — every template opens on a corner tuned to its source (the one universal move: cut what the source can't produce). |
templateRatioWithinFamilyBounds | @openmixer/core | True when `t`'s compressor ratio falls within its family's curated bounds (FAMILY_COMP_RATIO_BOUNDS). |
templatesOverlap | @openmixer/core | Could one concrete path match both templates AND leave no principled winner? |
templateVariableName | @openmixer/core | The name a variable segment captures under: `{index}` → `index`. |
templateVariables | @openmixer/core | Every variable a template captures, in the order it captures them. |
text | @openmixer/core | Operator text, length-capped, control characters refused. |
thresholdsFor | @openmixer/core | Map a per-channel `sensitivity` ∈ [0, 1] and the channel's pool to a DetectThresholds. |
toDb | @openmixer/core | Linear magnitude → dBFS-ish, floored so a zero bin doesn't blow up to −Infinity. |
toggleParam | @openmixer/core | Build a toggle (on/off) processor param. |
toggleValue | @openmixer/core | Read a toggle param's value by id. |
tokenArray | @openmixer/core | An array of short identifier tokens — a processor id, a slot key: the element type an ORDERED collection names its members by. |
totalAudioPaths | @openmixer/core | The total number of allocated audio paths (input channels + every bus, excl. |
trimDescriptorOf | @openmixer/core | The TRIM control descriptor — the desk's own declared travel, so a component binds this and never imports `TRIM_MIN_DB`/`TRIM_MAX_DB` itself. |
uniformFeatureMatrix | @openmixer/core | A feature matrix where **every** kind exposes the same feature set — for a mixer whose capability doesn't vary by kind: the software engine (fader/mute/gain/inserts on every strip), the hardware-free mock and the surf… |
unrealisedInsertPointRefusal | @openmixer/core | The refusal for a plugin that would sit at `at` (ruling 2026-09-02, tap-points spec): one builder, so the processor door, the send door and both OPTIONS carry identical args. |
upgradeEndpoint | @openmixer/core | Re-store a port-string leg as the BOX it names, whenever the desk can name one. |
uriArray | @openmixer/core | An ORDERED rack of plugin URIs — an insert chain, a bus output rack. |
uriText | @openmixer/core | ONE plugin URI — a rack member, a preset. |
validateAllocationAgainstProfile | @openmixer/core | Validate a ConsoleAllocation against a ConsoleProfile appliance — the gate for a hand-, AI- or third-party-authored allocation that a restricting profile must never accept. |
validateConsole | @openmixer/core | Validates an unknown value against the console schema. |
validateKeyBinding | @openmixer/core | Validates an unknown value against the KeyBinding shape. |
withBandIds | @openmixer/core | The same bands, each carrying an id — minted through makeBandId for any that arrives without one, against the bands ALREADY accepted so a fresh id can collide with neither a declared one nor another fresh one. |
writeField | @openmixer/core | The one assignment of a decoded value into a draft state — key and value co-typed by K. |
buildDemoTopology | @openmixer/server | Build a working demo console over freshly-created virtual PipeWire nodes: N input nodes (one per input channel), M output nodes (one per output bus — the allocation's aux buses), and a stereo main node. |
buildNativeCueControl | @openmixer/server | Adapt a NativeConsoleMixer to the engine's NativeCueControl seam for cue ROUTING (#191): the reconcile publishes the cue bus, pushes its master stage (monitor level + DIM), and reads its own `cue_L`/`cue_R` tail throu… |
buildNativeMatrixControl | @openmixer/server | Adapt a NativeConsoleMixer to the engine's NativeMatrixControl seam (#146, ADR 0017 layer 2): the reconcile declares the native matrix set (`syncMatrices`), pushes each matrix's per-source send coefficients (`setMatri… |
buildNativeOutputRouteControl | @openmixer/server | Adapt a NativeConsoleMixer to the engine's NativeOutputRouteControl seam (#158, phase 2): the reconcile lays each EXTRA MAIN output destination on its OWN native `out_<idx>` port (`syncExtraRoutes` / `routePorts`) and… |
buildNativeStripWidthHook | @openmixer/server | Build the import('./software-mixer-loader.js').SoftwareMixerDeps.reconfigureNativeStrip hook over a native mixer: map input channel N → strip N-1, reconfigure that strip's width IN PLACE, and hand back the (post-recon… |
capabilitySignature | @openmixer/server | The stable identity of one channel's capability — what the re-publish delta cache compares. |
channelConfigClearFacts | @openmixer/server | The facts a CHANNEL CONFIG's declared-absence pass clears (spec revision 3, #665) — every `onAbsent: 'clear'` fact ALL of whose snapshot fields the config carries. |
channelConfigFieldOf | @openmixer/server | Read one persisted field out of a config, wherever it rides — `undefined` both for a field the config does not carry at all and for one it is silent about, which is the same fact to the clear pass: the config says not… |
channelConfigStates | @openmixer/server | Whether a config document makes a STATEMENT about `fact` at all — every block its fields ride is present (spec revision 4). |
channelKey | @openmixer/server | Re-export for callers that key channels the same way the engine does. |
classifyResources | @openmixer/server | Sort a live source + sink node list into a DetectedResources inventory. |
compStateToNativeDyn | @openmixer/server | Map a CompState to the native COMP dynamics slot — an ACT-ABOVE atom with the compressor's threshold/ratio/attack/release/make-up. |
configFromEnv | @openmixer/server | Build a ServerConfig from `process.env`-style variables (see configOverridesFromEnv for the recognised keys). |
configOverridesFromEnv | @openmixer/server | The SPARSE config overrides a `process.env` carries — only the keys that are actually set appear, so the result can overlay a config file without unset env fields clobbering set file fields (see overlayConfig). |
consoleRigPlan | @openmixer/server | Resolve the demo rig's build decisions from a ServerConfig — pure (no PipeWire, no fs), so tests can prove the bundled default install config plans the exact console the bespoke demo bin used to build. |
createServer | @openmixer/server | Convenience factory mirroring the MixerServer constructor. |
declaredChainOf | @openmixer/server | A strip's DECLARED chain, read off the same engine door the `/chain` row reads — the bus master's for a bus kind, the input strip's otherwise. |
defaultInsertPoint | @openmixer/server | Default stereo insert point for a strip: capture pair in, playback pair out, keyed off a 1-based channel index. |
delayStateToNativeDelay | @openmixer/server | Map a console DelayState to the native FX-delay insert. |
demoAllocation | @openmixer/server | Build the demo console allocation for a detected/chosen size (the preset mapping). |
detectConsoleSize | @openmixer/server | Decide the demo console size. |
detectForeignConsole | @openmixer/server | The single-instance guard's probe (2026-07-13 deploy incident): the PipeWire global id of a node named `nodeName` already LIVE on the graph — i.e. |
detectResources | @openmixer/server | Read the live PipeWire I/O, classify it into a DetectedResources inventory, fold any discovered network devices into the network bucket, and log a one-line human summary ("detected: 2 mics, 4 outputs, 2 app streams, R… |
eqStateToNativeEq | @openmixer/server | Map a console EqState to the native mixer's EQ coefficient set — RBJ curves → biquad coeffs computed in TS (eqCoeffs), plus the whole-EQ `on` flag. |
gateStateToNativeDyn | @openmixer/server | Map a GateState to the native GATE dynamics slot — an ACT-BELOW atom whose threshold is the gate's fully-open point (`kneeEndDb`) and whose expansion `ratio` is now the state's OWN GateState.ratio field (an explicit o… |
installBuiltinDspNativeMixerMirror | @openmixer/server | Built-in-processor control bridge: mirror every `eq.set` / `gate.set` / `comp` (dynamics) state change onto the native strip's biquad cascade + gate/comp slots — the EQ/Gate/Comp counterpart of the fader/mute/pan/gain… |
installCueNativeMirror | @openmixer/server | Mirror MixerEngine's solo / soloSafe / cueMode / soloClear state onto the native strip DSP — the `setSolo` integration point the cue/solo-to-monitor spec's whole design hangs off of. |
installHeadStageNativeMirror | @openmixer/server | HEAD-STAGE control bridge: wrap the adapter's `setGain` / `setPolarity` so each still runs (canonical state + surface events) and then mirrors the value onto the lane THE OWNERSHIP RESOLUTION names — an input strip, o… |
loadAdapter | @openmixer/server | Instantiate the adapter named in `config`. |
loadConfigFile | @openmixer/server | Load + validate a JSON config file into a ServerConfig (defaults applied). |
metersMessageOf | @openmixer/server | The `/meters` reading for an engine event, or `null` for every other event — each of those lands on its own row (`publishEngineEventRow`), and meters are the one periodic reading the feed records whole. |
missingNativeEngineMessage | @openmixer/server | The refusal startConsole throws when the native engine is not there. |
networkOverridesFromConfig | @openmixer/server | The config file's `web` block as a SPARSE network layer — only the fields the file actually sets, so the network resolver can rank it below env/CLI (see `network-config.ts`). |
networkOverridesFromEnv | @openmixer/server | Extract the env layer from `process.env`-style variables. |
overlayConfig | @openmixer/server | Overlay one sparse config over another, per SECTION FIELD: a field the overlay sets wins; a field it leaves out keeps the base value (schema defaults only apply to fields neither layer set — apply them by parseConfigi… |
parseConfig | @openmixer/server | Parse and validate an arbitrary object into a ServerConfig, applying defaults. |
parseDefaultSinkName | @openmixer/server | The default sink's node name from `pw-metadata -n default` output, or `undefined` when the key is absent / malformed / empty. |
parseServerCli | @openmixer/server | Parse a bin's argv (without the node/script prefix — pass `process.argv.slice(2)`). |
peakCachingMeterSource | @openmixer/server | Wrap a MeterSource with a read-through **latest-peak cache**, so the flow watchdog samples the very peaks the adapter's own meter poll already reads — no second meter pipeline, no extra probe subprocess. |
pickAutorouteSink | @openmixer/server | Pick the sink the main mix should auto-route to, from the patchbay's enumerated sinks: the host's default sink when it is enumerated, else the first local-hardware sink, else the first sink at all. |
pinnedConsoleSize | @openmixer/server | Parse an explicit `IN:OUT` console-size pin (e.g. |
planStereoSourcePatch | @openmixer/server | **Patchbay stereo-source split — the mapping for a stereo (2-port) source patched onto the mixer.** DEFAULT (`asStereoChannel` omitted/`false`): a genuine stereo source (both `endpoint.l` AND `endpoint.r` present) SPL… |
reacTypeRegistration | @openmixer/server | The `reac` type's AdapterTypeRegistration — a first-class, server-owned transport (writes `reac.env` + drives the `reac-pw-master` systemd unit), unlike the peer-package console adapters (x32/midas/roland). |
readConfigFileJson | @openmixer/server | Read + JSON-parse a config file WITHOUT applying schema defaults, so the caller can still tell "the operator set this" from "the schema filled it in". |
resolveBinNetwork | @openmixer/server | resolveRuntimeNetwork for a bin's `main`: `--help` prints the shared help and exits 0; a CliUsageError prints the message + help and exits 2. |
resolveConfigFilePath | @openmixer/server | The config file a bin should read: `--config` > `OPENMIXER_CONFIG` > none. |
resolveDefaultSinkName | @openmixer/server | Resolve the host's CURRENT default Audio/Sink node name via `pw-metadata`. |
resolveNetworkConfig | @openmixer/server | Resolve the effective web binding from the four override layers, per field: persisted > CLI > env > config file > built-in default. |
resolveRuntimeNetwork | @openmixer/server | Resolve a bin's runtime network from its argv + env. |
resolveServerConfig | @openmixer/server | Resolve the effective ServerConfig for a bin: config file (named by `--config` / `OPENMIXER_CONFIG`, optional) < env overrides, with the runtime-network `web` overlay applied last. |
resolveStateDir | @openmixer/server | Resolve the state dir: CLI > env > XDG default. |
retiredPresetNotice | @openmixer/server | What to tell the operator at boot about a `rig.preset` an installed config still names, or `undefined` when there is nothing to say. |
reverbStateToNativeReverb | @openmixer/server | Map a console ReverbState to the native reverb insert (room/plate/hall, one control set). |
settleStripPorts | @openmixer/server | Block until the registry mirror agrees with a width reconfigure that has ALREADY happened in the daemon: every `present` port name resolves and every `retired` one no longer does. |
startConformanceDesk | @openmixer/server | Boot the conformance desk: the production composition in `startConsole`'s order — resources first (the server registers routes in its constructor), then the server, then the engine-bound mirrors, then the boot re-proj… |
startConsole | @openmixer/server | Build + start the console from its config, wiring signal handlers for a clean node teardown. |
wireFlowWatchdog | @openmixer/server | Arm task #68's per-channel **flow watchdog** (manifestation 2): detect a channel whose meter tap reads silence while its source link is provably live in the graph — the exact contradiction the 2026-07-06 wave left on … |
wireRouteHealing | @openmixer/server | Arm task #68's event-driven route healing over the native registry feed: every settled burst of **Node/Port** changes re-runs the mixer's reconcile, so a routed sink whose node was recreated by a USB re-enumeration ge… |
withGhostedNodes | @openmixer/server | Ghost a node whose ports are absent — a stopped stream keeps its node in the enumeration but its ports unregister (#168's present-node-unregistered-ports case). |
Interfaces (481)
| Nom | Paquet | Resum |
|---|---|---|
AbsentDevice | @openmixer/core | The identity of an absent device, for the refusal a client renders: what it is and which one. |
AdapterConfig | @openmixer/core | One declarative adapter entry — exactly what is persisted to the config file. |
AdapterInput | @openmixer/core | One enumerable **input** an adapter exposes — what a Source's patch can reference. |
AdapterInstance | @openmixer/core | A live adapter instance: a startable/stoppable binding with a status. |
AdapterSettingsField | @openmixer/core | One field in an adapter type's settings form. |
AdapterSettingsSchema | @openmixer/core | The full settings schema for one adapter type — the menu form generator reads this. |
AdapterStatusReport | @openmixer/core | An AdapterConfig plus its live status, as returned by `adapter.list`. |
AdapterTypeRegistration | @openmixer/core | One registered adapter type: its factory + the schema that drives its form. |
AddressCodec | @openmixer/core | How a mold turns a wire ResourceId into its typed address and back. |
AlignApplied | @openmixer/core | The alignment state a correction is computed against — this channel's line as it stands. |
AlignBand | @openmixer/core | The band the fit is taken over, in Hz. |
AlignCorrection | @openmixer/core | What APPLY would write, and whether the desk can write all of it. |
AlignFit | @openmixer/core | What a fit answers with when it CAN answer. |
AlignFrame | @openmixer/core | One paired reading, both sides snapshotted in the same pass (the pair is the unit). |
AlignRefusal | @openmixer/core | Why a fit could not be taken. |
AllocationCaps | @openmixer/core | The allocation ceiling: per-bus-type maxima, and/or a shared O.H.R.C.A. |
AssignableKey | @openmixer/core | One user-assignable key: an id, a printed label, and its binding. |
BankAlignment | @openmixer/core | How a BusAllocation's banked strips line up against the surface's banks. |
BiquadBand | @openmixer/core | One EQ band, in engineering units, ready to evaluate. |
BiquadSection | @openmixer/core | One biquad section as the cookbook writes it, BEFORE normalisation: the raw numerator (`b*`) and denominator (`a*`) coefficients with `a0` still carried. |
Block | @openmixer/core | A named, reusable JSON snapshot of a sub-tree at one composition level. |
BoundsContext | @openmixer/core | The live facts a pointer may need in order to reach real bounds. |
BrokenLeg | @openmixer/core | One leg whose DEVICE is present but which has no equivalent port on the active profile. |
BusAllocation | @openmixer/core | The bus types a gig can allocate, one fixed count each. |
BusCoercion | @openmixer/core | One tier's count being moved onto the STRIP_QUANTUM grid by coerceBusesToQuantum. |
BusSnapshotJson | @openmixer/core | A bus: an output channel summing a subset of inputs (aux / group / main). |
BusTypeDescriptor | @openmixer/core | One entry in the BUS_TYPES descriptor table: the single, canonical record of the per-bus-type facts the console used to enumerate by hand in ~5 parallel places (the `BusAllocation` field, the id synthesis in allocated… |
CarriedIndexCodec | @openmixer/core | The index entry codec: a key over the carried row's id. |
CarriedSeriesDeclaration | @openmixer/core | How a collection row carries a per-instance row — the ONE declaration, on the collection. |
CensusTotals | @openmixer/core | How many facts landed on each verdict, per axis. |
ChainControlState | @openmixer/core | `…/params/{symbol}` and `…/properties/{property}` — one control of the hosted plugin. |
ChainLatencyTotal | @openmixer/core | The accumulated latency of a chain, with the ambiguity kept. |
ChainOrderState | @openmixer/core | `/channel/{kind}/{index}/chain` — the processors' stable ids, in signal order. |
ChainProcessorState | @openmixer/core | `/channel/{kind}/{index}/chain/processors/{processorId}` — one stage. |
ChannelCapabilities | @openmixer/core | — |
ChannelCapabilityState | @openmixer/core | What `/channel/{kind}/{index}/capability` serves: which controls this channel carries right now, which of them can be moved, which hold a real value, and how far the gain travels. |
ChannelClipboardEntry | @openmixer/core | What was copied: the captured fields plus enough provenance for the UI to name it. |
ChannelClipState | @openmixer/core | One channel's clip latch as the row serves it. |
ChannelConfig | @openmixer/core | A named, reusable per-channel config as stored on disk. |
ChannelConfigMove | @openmixer/core | One fact-field this apply would move off what the channel currently holds. |
ChannelConfigMoves | @openmixer/core | What the preview row answers: the moving fields, in the config's own field order. |
ChannelConfigProcessing | @openmixer/core | One channel's processing captured for reuse: its plugin chain (ordered plugins + params + presets) + channel processing (gain/trim/pan/phantom/pad/SENS/polarity). |
ChannelConfigSummary | @openmixer/core | The list-row a `channelConfig.list` returns. |
ChannelFactDecl | @openmixer/core | — |
ChannelId | @openmixer/core | 1-based channel address within its kind. |
ChannelLink | @openmixer/core | Stereo-link state on a channel (M32 / Roland paradigm). |
ChannelLinkJson | @openmixer/core | A channel's stereo-link state as stored: the ChannelLink flattened. |
ChannelMuteSink | @openmixer/core | The southbound half: what puts the composed value onto the audio. |
ChannelMuteState | @openmixer/core | A channel's mute, as the console holds it: the one writable latch, the two latches owned by other entities, and the composed value the audio must follow. |
ChannelMuteStrips | @openmixer/core | Where the ONE state lives. |
ChannelPairAddress | @openmixer/core | TWO channels naming one audio connection: where the signal comes FROM and where it goes TO. |
ChannelPairSpec | @openmixer/core | How one pair-shaped path spells its two ends. |
ChannelPatchJson | @openmixer/core | One channel's input patch: the ordered set of source endpoints feeding its head, `[primary, ...extras]`. |
ChannelRecallSafeState | @openmixer/core | ONE channel's recall-safe decision. |
ChannelRefJson | @openmixer/core | A wire/disk channel address: `{ kind, index }`, mirrored from ChannelId. |
ChannelSafe | @openmixer/core | One channel's recall-safe flags. |
ChannelSlot | @openmixer/core | A strip plus a POSITION in one of its racks — `/channel/{kind}/{index}/inserts/{slot}`. |
ChannelSlotKey | @openmixer/core | One named control of one racked plugin — a control port's symbol, a property's URI. |
ChannelSlotTarget | @openmixer/core | A strip's numbered slot plus the OTHER strip that slot is about (a promotion's target). |
ChannelSnapshotJson | @openmixer/core | A single channel's full snapshot. |
ChannelStrip | @openmixer/core | — |
ChannelTailAddress | @openmixer/core | A channel plus ONE tail segment — a processor id, a pass-filter kind, a band ref: the shape a row earns a local `AddressCodec` for right up until a SECOND row needs the same "one channel, one tail" pattern (the row-gr… |
ChannelTailKey | @openmixer/core | One named control of a plugin addressed by a NAMED tail — a chain processor's id. |
ClipCapture | @openmixer/core | The clip capture door: ONE read-and-clear call over the engine's sticky over flags. |
CoarseDelay | @openmixer/core | Where the cross-correlation peaked, and how strongly. |
CoarseDelayRead | @openmixer/core | What band of a cross-spectrum a correlation is taken over, and under which physics. |
CodedMessage | @openmixer/core | One message on the wire: a code plus exactly the parameters that code's sentence needs. |
CoercedBuses | @openmixer/core | The result of coerceBusesToQuantum — the on-grid counts plus what had to move. |
CollectionConfig | @openmixer/core | — |
CollectionFieldSpec | @openmixer/core | One collection-valued field: a codec that narrows the WHOLE replacement value. |
ComplexSpectrum | @openmixer/core | One side's complex spectrum: `fftSize / 2` bins, bin k at `k * sampleRate / fftSize` Hz. |
CompState | @openmixer/core | — |
ConfiguredHardware | @openmixer/core | What the RIG is configured for, as a source of expectation in its own right (the rig defect). |
ConfiguredStagebox | @openmixer/core | A REAC box the RIG IS CONFIGURED FOR, independent of any session — read from the operator's `reac.env` (`REAC_BOX=s0808:S-0808` on `REAC_LIVE_IFACE`), the same binding the `reac-pw-master` unit runs on. |
ConfirmGate | @openmixer/core | One operation row's confirm gate — read before honouring its fire, keyed by the operation row's own path template (`2026-08-22-osc-surface.md` §"Confirm-gated operations"). |
ConsoleAllocation | @openmixer/core | A per-gig console allocation: the input-channel count + the per-bus-type counts, declared up front and fixed for the show. |
ConsoleClientConfig | @openmixer/core | Configuration for ConsoleClient. |
ConsoleContract | @openmixer/core | The whole desk's declaration, as `OPTIONS <base>/` answers it. |
ConsoleDeclaration | @openmixer/core | One instance's declaration, as `OPTIONS <base><instance>` answers it. |
ConsoleDef | @openmixer/core | A whole console definition. |
ConsoleFactDecl | @openmixer/core | What one console-level fact declares. |
ConsoleFrame | @openmixer/core | A stream event: a row, plus the console revision as of the read. |
ConsolePreset | @openmixer/core | A standard console size offered as a one-click preset: `inputs` in, `outputs` out. |
ConsoleProfile | @openmixer/core | A console appliance: the whole-console restriction envelope. |
ConsoleResource | @openmixer/core | — |
ConsoleRow | @openmixer/core | One entity instance as the console holds it: the root stream's event body, unserialised. |
ConsoleRowFeed | @openmixer/core | Watch the console's rows in process. |
ConsoleSnapshot | @openmixer/core | The full console body — every addressable element of state. |
ConsoleWatch | @openmixer/core | One open watch: the in-process twin of the root stream's own `/streams/{id}/demand` row. |
ConsoleWatchHandlers | @openmixer/core | How a watcher learns the stream's own state, apart from the rows it carries. |
ControlAvailability | @openmixer/core | What a caller may say about a control's availability when building a descriptor. |
ControlDescriptor | @openmixer/core | Everything a numeric control needs in order to draw itself — produced from a declaration plus the current state, bound whole by the component. |
ControlLimit | @openmixer/core | The declared travel of ONE numeric control — bounds, resolution and unit together. |
ConvergenceClientHost | @openmixer/core | What the engine needs from its host — the two side effects it may never do itself. |
ConvergenceClientOptions | @openmixer/core | — |
ConvergenceCorrection | @openmixer/core | One recorded correction — the report plus the instrument's own bookkeeping. |
ConvergenceCorrectionsState | @openmixer/core | The `/telemetry/convergence/corrections` row's state — the log, newest last. |
ConvergenceFrame | @openmixer/core | One console-stream event, as the intake hands it over: the GET body plus the `rev` stamp. |
ConvergenceInstrumentOptions | @openmixer/core | — |
ConvergenceState | @openmixer/core | The `/telemetry/convergence` row's state — what every heartbeat frame carries. |
CorrectionReport | @openmixer/core | What a client reports when it corrected one row it had wrong. |
CrossSpectrum | @openmixer/core | An averaged cross-spectrum, `fftSize / 2` bins — what coarseDelayOf reads. |
CueSnapshotJson | @openmixer/core | The cue bus's persisted state (cue/solo-to-monitor spec) — fader/mute/balance mirror MatrixSnapshotJson's shape; mode + monitorOutput are console-wide but stored here (there is exactly one cue bus, so this is the natu… |
CurveOptions | @openmixer/core | Options for eqCurveDb: axis extents, sample rate and resolution. |
CurvePoint | @openmixer/core | One point on the response curve: frequency (Hz) and summed magnitude (dB). |
DcaGroup | @openmixer/core | One DCA group: a stable id, its current master linear gain (1 = unity, 0 = silence), the member channels it scales, and — for VCA nesting — the ids of the DCA groups whose masters additionally scale *this* group's mas… |
DcaSnapshotJson | @openmixer/core | A DCA/VCA group: control-domain gain coupling, carries no audio. |
DeclaredStagebox | @openmixer/core | A stagebox as something WROTE IT DOWN — an adapter's `boxModel` setting, a `reac.env` pin, a session manifest entry, a registry row. |
DelayState | @openmixer/core | A native FX delay (send/return or channel insert). |
DerivedConfig | @openmixer/core | — |
DetectedGpu | @openmixer/core | One detected GPU. |
DetectThresholds | @openmixer/core | The full detector contract — every gate PersistenceTracker.push confirms on, promoted here from the module consts so a per-channel `sensitivity` can relax them (via thresholdsFor) without touching the corpus-tuned SAF… |
DiscoveredDevice | @openmixer/core | A device found on the network by a discovery probe. |
DiscoveryDeviceAddress | @openmixer/core | One discovered device, as `/discovery/device/{protocol}/{id}…` rows address it. |
DiscoveryEvents | @openmixer/core | Events a DiscoveryProvider emits. |
DiscoveryOptions | @openmixer/core | Per-protocol scan options; each probe is independently enable-able. |
DiscoveryProbeAddress | @openmixer/core | One protocol's probe, scoped to a NIC or to DISCOVERY_GLOBAL_SCOPE. |
DiscoveryProvider | @openmixer/core | The discovery service the server consumes. |
DynamicsProfile | @openmixer/core | — |
DynamicsState | @openmixer/core | — |
EqBand | @openmixer/core | — |
EqCoeffBand | @openmixer/core | One section of an EQ coefficient set: its coefficients + whether it is active. |
EqCoeffSet | @openmixer/core | A whole strip's EQ as an ordered biquad-coefficient cascade (bands low→high, then the HPF/LPF Butterworth sections) — the shape the native mixer's `mixerSetStripEq` takes. |
EqHeadroomAssessment | @openmixer/core | The answer to "can `desiredAddCount` more bands be added right now?" — `ok` gates the add affordance, `reason` is the HONEST explanation shown once refused (a disabled control must never leave the operator guessing why). |
EqPreset | @openmixer/core | One selectable band-count preset (#120): a classic console layout offered by the EQ tab's picker. |
EqPresetBandSeed | @openmixer/core | A preset's band seed — the same fields a hand-added band takes (freq/type/gain/Q), minus the id (assigned on apply, exactly like makeBandId assigns one). |
EqProfile | @openmixer/core | — |
EqState | @openmixer/core | — |
ExpectedSoundcard | @openmixer/core | One local sound card the session EXPECTS. |
ExpectedStagebox | @openmixer/core | One stagebox the session EXPECTS to be present (issue #154 hardware manifest). |
ExpectedSurface | @openmixer/core | One control surface the session EXPECTS (an X-Touch etc.). |
FactCensus | @openmixer/core | One fact, both axes. |
FactOwnershipContext | @openmixer/core | The LIVE context a per-instance ownership condition reads — the computed law's input. |
FactPersistenceCase | @openmixer/core | One (fact, kind) pair the contract declares, carrying that fact's own persistence bit. |
FactPresentation | @openmixer/core | The two PRESENTATION columns every contract declares — what kind of control carries the fact, and where its travel comes from. |
FaderLevel | @openmixer/core | Fader position: opaque 0..1 surface scalar + derived dB. |
FaderLevelJson | @openmixer/core | A fader position as stored: opaque 0..1 surface scalar + its derived dB. |
FaderScale | @openmixer/core | — |
FbsChannelState | @openmixer/core | One channel's FBS arming state (persisted with the channel, restored on boot). |
FbsChannelStateJson | @openmixer/core | A persisted FBS state as an OLDER build may have written it: pre-#116 the hold rode the session (and the wire) in MINUTES under `holdMinutes`. |
FieldCapability | @openmixer/core | Whether one field of a resource can be read or written **on this instance** — per-instance, not per-type. |
FieldCodec | @openmixer/core | A field decoder. |
FieldTravel | @openmixer/core | One field's travel BEFORE any instance is named — the desk-wide half of FieldCapability. |
FxProfile | @openmixer/core | — |
GainLevel | @openmixer/core | — |
GateState | @openmixer/core | A downward gate / expander, in engineering units. |
GeneratorParams | @openmixer/core | A partial parameter update for a generator (only the fields a `talkback.set` carries). |
GhostIdentityLeg | @openmixer/core | One `{box, input}` leg a patch still refers to — the shape `ChannelPatchStore.identityLegs()` reports for a box no live device answers. |
GhostNaming | @openmixer/core | The stagebox nodes the desk still POINTS AT but the graph no longer has. |
GhostReplacementPlan | @openmixer/core | What a replacement would do, and what it cannot do. |
GhostReplacementWrite | @openmixer/core | One channel's move in a ghost replacement. |
GpuDetector | @openmixer/core | The pair a consumer binds to. |
GpuProbes | @openmixer/core | Injectable reads so the detector runs deterministically in tests. |
HardwareContradiction | @openmixer/core | One disagreement between what was written down and what the hardware reports. |
HardwareManifest | @openmixer/core | The session's **expected hardware set** (issue #154): the stageboxes, soundcards, and control surfaces present when the show was saved. |
HardwareManifestInputs | @openmixer/core | Inputs to buildHardwareManifest — the present rig, captured at save. |
HarmonicBandLimits | @openmixer/core | The authority one call to harmonicBands is given, supplied by the CALLER. |
HeadAmp | @openmixer/core | The PHYSICAL preamp properties a source carries, applied at the head: the analog box trio (gain/pad/phantom) only — what the engine fans out to the box's adapter. |
HeadAmpCapability | @openmixer/core | The analog head-amp controls an input physically implements — the honest capability an enumerated AdapterInput declares. |
HeadAmpGainRange | @openmixer/core | The travel of one preamp's input GAIN — min, max and the step it actually resolves, all in dB of gain. |
HeadAmpInstance | @openmixer/core | 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. |
HeadAmpPortJson | @openmixer/core | One physical input's desired head-amp, as a session names it: the port by its stable identity (StoredPatchLeg — a stagebox input by `{box, input}`, or a bare port name for a source no box owns, the SAME identity Chann… |
HeadAmpRow | @openmixer/core | What the `/channel/{kind}/{index}/headAmp` row PUBLISHES: the record (HeadAmp) plus the preamp's declared GAIN travel. |
HrpCandidate | @openmixer/core | One voice's one correctable partial, as the corrector proposes it — the band the placement law described, plus the identity and weight the selection needs. |
HrpChannelState | @openmixer/core | Everything an operator decides about HRP on one channel. |
HrpProposalLimits | @openmixer/core | The declared authority one proposal runs under. |
HrpSearchHint | @openmixer/core | The SEARCH one channel's analyser runs — how many voices to look for and where to look for them. |
HrpVoiceMeasurement | @openmixer/core | One voice's measured harmonic ladder, as either corrector observes it. |
InputProvider | @openmixer/core | The contract an input adapter implements to expose its enumerable inputs to the source layer. |
InsertChain | @openmixer/core | Ordered insert chain for a channel. |
InsertChainEntry | @openmixer/core | One plugin in the chain being judged, reduced to the facts the checks read. |
InsertDestination | @openmixer/core | The destination a chain is being judged against. |
InsertProfile | @openmixer/core | — |
InsertSuitabilityPolicy | @openmixer/core | Operator/site configuration. |
InsertSuitabilityReport | @openmixer/core | The whole judgement for one chain on one destination. |
InstrumentTemplate | @openmixer/core | One factory instrument template: a stable id + i18n name key + a full built-in EQ/gate/comp chain, ready to apply to any channel exactly like a saved channel config. |
JobLedgerRow | @openmixer/core | One row of the ledger. |
JobProbe | @openmixer/core | A cheap read against the shadow console: row-shape reachability, never the job itself. |
JobProofCitation | @openmixer/core | The test a tier-1 row stands on. |
KeyBinding | @openmixer/core | The stored client-message template a key fires. |
KindCount | @openmixer/core | One ordered entry in a TopologyLayout: `count` channels of `kind`, in surface order. |
LabelVocabulary | @openmixer/core | The WORDS a display label is built from, injected so the rule below can be stated once. |
LaneRule | @openmixer/core | The two lane booleans a ControlDomain-shaped consumer spreads. |
LatchConfig | @openmixer/core | Everything a latch row declares: a scalar record, plus the query, plus mandatory ripples. |
LatchState | @openmixer/core | The hold every latch state carries. |
LatencyPath | @openmixer/core | The end-to-end latency of one signal path (input channel → inserts → bus → out). |
LatencyReport | @openmixer/core | A real-time latency + health snapshot of the running mix engine. |
LatencyReportSource | @openmixer/core | The measurement source the server polls. |
LatencyStep | @openmixer/core | One element's latency contribution along a signal path, in milliseconds. |
LedgerRow | @openmixer/core | One row as the ledger holds it — enough to re-report and to compare across boundaries. |
LevelSeriesCodec | @openmixer/core | A FieldCodec that also ENCODES — the wire is written by the desk and read by the client, and both halves live here so neither can drift from the declared quantum. |
LifecycleDoors | @openmixer/core | The lifecycle doors a row declares. |
LoudnessReadout | @openmixer/core | EBU R128 / ITU-R BS.1770 loudness of one output (the MAIN mix), measured in the engine and broadcast on the meter channel beside the peak levels. |
MatrixSnapshotJson | @openmixer/core | A matrix node: a mix of buses/groups feeding a matrix output. |
MeterLevel | @openmixer/core | — |
MeterTick | @openmixer/core | One READ of an adapter's meters, offered to the console as a tick it drives — the demand-gate's seam (`an internal spec` §4). |
MicRouting | @openmixer/core | How the measurement channel is routed — the two ways a microphone reaches a loudspeaker. |
MissingHardware | @openmixer/core | One absent expected device + what the restored session depends on it for (issue #154). |
MixerAdapter | @openmixer/core | — |
MixerReceiver | @openmixer/core | Reads are a push observer (not promises): desks stream state after subscribe. |
MixerTopology | @openmixer/core | — |
MsSpan | @openmixer/core | A millisecond span a figure is known to lie in. |
MuteGroup | @openmixer/core | One mute group: a stable id, whether it is currently muting its members, and the member channels it mutes when active. |
MuteGroupJson | @openmixer/core | A named, assignable mute group as the SAFETY section speaks it: string-keyed, with no live `active` flag. |
MuteGroupSnapshotJson | @openmixer/core | A mute group: channels muted / un-muted together (the SSL / Waves overlay model, the live import('./mute-group.js').MuteGroup). |
MuteHoldSource | @openmixer/core | The two holds, read from the entities that own them — never cached here. |
NoiseGenerator | @openmixer/core | A noise generator (white or pink) — just a level, no waveform / frequency. |
NotchCandidate | @openmixer/core | A confirmed feedback candidate the model turns into a notch, or an alert. |
NumberSpecDef | @openmixer/core | Range spec for a number param. |
ObservedStagebox | @openmixer/core | A stagebox as the WIRE reports it — reac-pw's `reac.box-model` / `reac.box-width` / `reac.headamp.channels`, read off the node it publishes. |
OpenApiFamilySpec | @openmixer/core | One resource family — the same grouping the REST reference pages use. |
OpenApiFieldSpec | @openmixer/core | One field's declared travel, exactly as the REST reference already carries it. |
OpenApiRefusalCode | @openmixer/core | One refusal or undo-label code, as `message-code.ts` documents it. |
OpenApiRefusalSection | @openmixer/core | A section of the refusal-code registry (mirrors `message-code.ts`'s own dividers). |
OpenApiRowSpec | @openmixer/core | One addressable row — a path template plus the fields it carries. |
OpenApiSourceData | @openmixer/core | Everything buildOpenApiDocument needs — the REST reference's own normalised shape. |
OperationConfig | @openmixer/core | — |
OperationParams | @openmixer/core | The decoded arguments a run is handed — an accessor rather than the plain record, because "every declared key is present" is a fact the mold ENFORCES (`PARAM_MISSING` refuses the fire otherwise) and TypeScript cannot … |
OperationRun | @openmixer/core | The handle one run reports through. |
OperationState | @openmixer/core | The one operation state shape. |
OscillatorGenerator | @openmixer/core | The oscillator generator: a selectable waveform at a chosen frequency + level. |
OscMessage | @openmixer/core | A decoded OSC message: an address pattern plus its typed arguments. |
OutputEndpointLeg | @openmixer/core | One present leg of an OutputEndpoint: its role + the port it feeds. |
OutputPatchJson | @openmixer/core | One output's routing: the ONE sink endpoint a bus / main feeds, or NONE. |
OutputSnapshotJson | @openmixer/core | An output: physical/loudspeaker-management routing + its own insert chain. |
PanicState | @openmixer/core | A held panic latch, as the pure composition model sees it. |
PanicTargetsJson | @openmixer/core | What a panic affordance silences. |
Param | @openmixer/core | A live parameter: its spec plus the value/position/format functions derived from it. |
ParamSpec | @openmixer/core | The declarative spec of a parameter — everything a control needs to render + edit it. |
PartCarriage | @openmixer/core | What one part's facts did against one target. |
PassFilter | @openmixer/core | The channel's built-in high-pass (low-cut) or low-pass (high-cut) filter: a cutoff frequency, an on switch, and a slope. |
PatchEndpointJson | @openmixer/core | A stereo (or mono) endpoint by port name — a mirror of the engine's `StereoEndpoint`, but serialisable and id-free. |
PatchSnapshot | @openmixer/core | The routing graph only — the input patch per channel + the output sink per bus. |
PatchSummary | @openmixer/core | The list-row a `patch.list` returns (header only, body omitted). |
PerfOpSnapshot | @openmixer/core | One named op's snapshot, as reported over REST/WS. |
PerfRegistryOptions | @openmixer/core | Options for PerfRegistry. |
PerfSnapshot | @openmixer/core | A point-in-time read of one PerfHistogram. |
PerfTelemetryState | @openmixer/core | `/telemetry/perf`'s served shape (see `packages/server/src/perf-telemetry-resource.ts`): whether recording is on, and every op recorded so far. |
PhysicalInputPortMap | @openmixer/core | One adapter's declaration of how its capture ports map to physical inputs. |
PhysicalInputRef | @openmixer/core | A capture port resolved to the physical input it carries. |
Placed | @openmixer/core | A node carrying a (possibly absent) placement — what orderPlaced sorts. |
PlannedEntity | @openmixer/core | An entity the design names and the console does not serve. |
PluginInsert | @openmixer/core | A software plugin instance inserted into a channel's signal chain. |
PluginSlotJson | @openmixer/core | One plugin slot, serialised by URI (never by mod-host instance id). |
PresentHardware | @openmixer/core | What is actually present on the rig now, for the restore-time diff. |
PresentStagebox | @openmixer/core | A detected reac-pw stagebox as the diff reads it now — its id + the live link/box props. |
ProbeUnavailable | @openmixer/core | A probe that COULD NOT SCAN, and why. |
ProcessLoadState | @openmixer/core | The engine PROCESS's resource load — a periodic gauge answering the operator's "what is eating our CPU". |
Processor | @openmixer/core | One processor node in a channel chain. |
ProcessorDef | @openmixer/core | One processor in a strip's chain. |
ProcessorPlacement | @openmixer/core | WHERE a processor sits: the point whose segment it runs in, plus its sort among the others in that segment. |
ProcessorSnapshotJson | @openmixer/core | One Processor node serialised for a snapshot — the recursive-snapshot leaf of the chain-on-strip model. |
ProjectionResult | @openmixer/core | The outcome of projecting state onto the audio. |
ReacSegmentConfigJson | @openmixer/core | One REAC segment's DESIRED config as the session carries it — EXACTLY the writable set of `/reac/segment/{name}` (`2026-08-26-reac-runtime-config.md` §4), under that row's own address. |
ReacSegmentsConfigJson | @openmixer/core | The session block behind the REAC segments' desired config: one entry per asserted segment. |
ReadView | @openmixer/core | What one READER of a row is: its resolution and its demand — the two things a served body may be narrowed by. |
RecallKeeps | @openmixer/core | The collections a recall would leave standing because the snapshot does not declare them. |
RecallSafeMask | @openmixer/core | The console-wide view of recall-safe: which channels (and which scopes on them) a recall leaves alone. |
ReceivedRefusal | @openmixer/core | A refusal AS RECEIVED — the code exactly as the wire spelled it. |
Refusal | @openmixer/core | A refusal: the code plus the named parameters a client needs to render or act on it. |
RemappedLeg | @openmixer/core | One leg re-pointed from an inactive profile onto the active one. |
RenderedBand | @openmixer/core | One correction an offline render applied to one track — what was cut, and the measurement that justified it. |
RenderedTrack | @openmixer/core | What one track's offline render produced. |
ResolvedInsertSuitabilityPolicy | @openmixer/core | A policy with every role resolved — what checks read. |
ResolvedOutputEndpoint | @openmixer/core | The outcome of resolveOutputEndpointOntoActiveProfile. |
ResolvedResourcePolicy | @openmixer/core | ResourcePolicy with every default filled in — what the registry acts on. |
ResolvedTap | @openmixer/core | A resolved tap: the position whose **output port** the send picks off. |
ResourceBroadcast | @openmixer/core | What every client is told after a successful patch or a reproject. |
ResourceCommit | @openmixer/core | One COMMITTED write, reported by the registry to every observer — the single seam through which a host drives autosave and undo for EVERY door at once (REST `PATCH`/`POST`/`DELETE`, a control surface's entity write, a… |
ResourceCreateResult | @openmixer/core | The result of a POST. |
ResourceHandle | @openmixer/core | The typed view of one registered entity, for internal callers — reads and writes go through the SAME pipeline as the transport, so there is no second dispatch path to drift. |
ResourceInverseSteps | @openmixer/core | A row's own answer to "what puts the console back?", when the generic inverse cannot answer. |
ResourceLifecycle | @openmixer/core | The erased lifecycle view the registry dispatches on — id-in, outcome-out, with the address codec already applied. |
ResourceMoldConfig | @openmixer/core | The config members every mold declares — the trunk the shared base reads. |
ResourceOptions | @openmixer/core | What `OPTIONS` answers: the methods allowed and the per-field capabilities. |
ResourcePatchResult | @openmixer/core | The result of a patch — the write, the projection, the broadcast and the ripples, together. |
ResourcePatchStep | @openmixer/core | One PATCH on one instance, as a replayable step — what a row-declared inverse is made of. |
ResourceReadResult | @openmixer/core | The result of a read. |
ResourceRemoveResult | @openmixer/core | The result of a DELETE. |
ReverbState | @openmixer/core | A native algorithmic reverb (room/plate/hall behind one control surface). |
RippleTarget | @openmixer/core | A cross-entity consequence of a write: after this instance commits, the registry re-projects and re-broadcasts the named instance. |
RtHeadroomConfig | @openmixer/core | Per-deployment overrides for the two documented thresholds (ratios of the RT budget). |
RtHeadroomVerdict | @openmixer/core | One headroom assessment. |
RtLoadReading | @openmixer/core | One RT load reading from the engine. |
RtLoadSource | @openmixer/core | The measurement source the server (and the headroom provider) polls — the RT-load counterpart of import('./telemetry.js').LatencyReportSource. |
SafetySnapshot | @openmixer/core | The session's gig-safety pre-loads. |
SavedPatch | @openmixer/core | A standalone patchbay snapshot as stored on disk. |
SavedScene | @openmixer/core | A whole-mix snapshot stored on disk. |
SavedSession | @openmixer/core | A whole-console session as stored on disk (ZestBay `SavedSession` envelope). |
SavedTake | @openmixer/core | — |
ScalarRecordConfig | @openmixer/core | Everything a row declares. |
ScaleQuantity | @openmixer/core | One tagged numeric quantity. |
SceneSummary | @openmixer/core | The list-row a `scene.list` returns (header only, body omitted). |
SendJson | @openmixer/core | One send: the destination output + the send level (and its tap point). |
SendMatrixSpec | @openmixer/core | — |
ServedPatchEndpoint | @openmixer/core | A patch endpoint AS THE CONSOLE SERVES IT: the patch, plus what the live graph says about it right now. |
SessionSummary | @openmixer/core | The list-row a `session.list` returns (header only, body omitted). |
SinkPortInventory | @openmixer/core | One live SINK node as the resolver needs it: its node name and its playback ports **in canonical role order** — `ports[0]` is the L leg, `ports[1]` the R (the order `parsePwDump` already emits, FL/FR first, then the r… |
SipCondition | @openmixer/core | The two console-wide facts that decide whether solo-in-place is silencing anything at all. |
SlotState | @openmixer/core | The typed processing state a chain's nodes project to and from, held one concern at a time. |
Snapshot | @openmixer/core | — |
Source | @openmixer/core | A named input with **physical preamp** identity, decoupled from any channel. |
SourcePatch | @openmixer/core | Where a source physically picks its signal up: an input on a named adapter. |
SourceWidthInstance | @openmixer/core | What the PATCH says about ONE channel's width at this instant — the other per-instance half, supplied by whoever holds the crosspoint ledger (`channelSourceStereo`). |
SpareInputJson | @openmixer/core | A pre-declared spare for a channel, and the SWAP LATCH over it: if the primary mic/DI dies mid-show, one tap re-points the strip onto the spare input and REMEMBERS what it displaced, so the reverse is one tap too (`20… |
SpeakerAlignAim | @openmixer/core | Where to read next, and what it costs. |
SpeakerAlignAimState | @openmixer/core | Where the reference window is being read, and whether that aim has been refined yet. |
SpeakerAlignApplied | @openmixer/core | What one output's leg delay currently holds — the line a correction is a DELTA on. |
SpeakerAlignCorrection | @openmixer/core | What APPLY would write on one output's leg delay, and whether the desk can write all of it. |
SpectrumBand | @openmixer/core | One log-spaced band. |
SpectrumBandOptions | @openmixer/core | What aggregateSpectrumBands may be asked to vary; everything else is declared above. |
SpectrumBandSeries | @openmixer/core | One banded tap's two series on the wire: the RMS level per band, and its peak bin. |
SpectrumTierInput | @openmixer/core | One tier of a reading: the magnitudes, and the transform that produced them. |
SrcDstAddress | @openmixer/core | One crosspoint of a routing fabric, as `/{src}/{dst}` rows address it. |
StageboxAssignCollision | @openmixer/core | One destination the bulk assign would land on TOP of something. |
StageboxAssignOp | @openmixer/core | One `channel ↔ stagebox-port` mapping in a bulk plan. |
StageboxAssignOptions | @openmixer/core | Options for planStageboxAssign. |
StageboxAssignPlan | @openmixer/core | The computed bulk assignment (or clear) plan — pure data the server applies. |
StageboxDevice | @openmixer/core | A REAC stagebox grouped as **one logical device**: its capture ports become the desk's inputs, its playback ports the desk's outputs. |
StageboxEndpointGroup | @openmixer/core | One side of a stagebox — its capture (input) or playback (output) channel bank. |
StageboxFabricPlacement | @openmixer/core | Where one side of one box lands in the 40-slot AUDIO fabric. |
StageboxNodeView | @openmixer/core | The minimal I/O-node shape the detector reads. |
StageboxReconciliation | @openmixer/core | The outcome of reconciling a declaration against an observation. |
StateCell | @openmixer/core | One instance's state slot: read a copy-safe view, write the whole next state. |
StateStation | @openmixer/core | Where a mold's state lives. |
StereoPair | @openmixer/core | — |
StoredBoxInput | @openmixer/core | A stagebox input by IDENTITY: the registry's `boxId`, and a 1-based input on that box. |
StoredPatchEndpoint | @openmixer/core | A stored endpoint: its left/mono leg, plus a right leg when the source is a stereo pair. |
StripDef | @openmixer/core | One console strip. |
Subgroup | @openmixer/core | One audio subgroup: the group bus id (a `mix`-kind channel), its master linear gain, its mute, the input channels assigned into it, and how it folds into the main mix. |
SuitabilityCheck | @openmixer/core | One dimension of suitability. |
SuitabilityContext | @openmixer/core | What a check is handed. |
SuitabilityFinding | @openmixer/core | One check's result. |
SurfaceEntityWrites | @openmixer/core | — |
SurfaceHost | @openmixer/core | The north-side contract a **control surface** (a physical MIDI desk like the Behringer X-Touch / a Mackie MCU, an OSC client, or the web UI) binds to. |
SurfaceMapJson | @openmixer/core | A surface map: one control surface's channel assignment (e.g. |
SurfacePageJson | @openmixer/core | One USER page — the operator's curated strip set on the bay (USER 1–4 on a Midas PRO, "user banks" on an X32). |
SurfacePagesJson | @openmixer/core | The session block behind `/surface/pages`: the ordered page set. |
SurfacePreferencesJson | @openmixer/core | Every operator view selection the console remembers — the LOOK of the desk, as opposed to the state of the mix. |
SurfaceTemplate | @openmixer/core | One ready-made preset for a control surface, selectable in the Setup menu. |
TakePrint | @openmixer/core | **THE SHOW'S DELIVERABLE** — the take's MAIN capture written out as a fixed-point print. |
TakeRender | @openmixer/core | The offline HRP render of a take — additive, versioned, and absent on every take recorded before one was run. |
TakeSummary | @openmixer/core | ONE TAKE AS THE LIBRARY PUBLISHES IT — the header `/takes` and `/takes/{id}` answer. |
TakeTrack | @openmixer/core | — |
TalkbackMicSlot | @openmixer/core | The talkback mic slot — a **placeholder** for a real talkback microphone. |
TalkbackRoute | @openmixer/core | Where a generator / the talkback mic feeds: a channel, bus or monitor head. |
TalkbackSection | @openmixer/core | The whole talkback section: the three generators keyed by role, plus the mic slot. |
TaperPoint | @openmixer/core | One breakpoint on a piecewise taper: normalized position ↔ engineering value. |
TaperPointDef | @openmixer/core | One breakpoint of a piecewise taper: normalized surface position ↔ engineering value. |
TapPoint | @openmixer/core | One named reference point in a strip's signal path. |
TapPointSet | @openmixer/core | The ordered tap points a model exposes — the desk's SKELETON. |
TapState | @openmixer/core | The accumulator: recent tap timestamps (ms), oldest→newest, bounded to TAP_WINDOW+1. |
TemplateMatch | @openmixer/core | One template resolved against a concrete path: which entity, and which instance. |
TopologySpec | @openmixer/core | The spec buildTopology consumes: what channels, what features, what routing. |
UdpEndpointConfig | @openmixer/core | Configuration for UdpEndpoint. |
UdpPeer | @openmixer/core | Where a datagram came from — the return address a reply is sent to. |
UdpServerSocketLike | @openmixer/core | The slice of a `dgram.Socket` a listening endpoint uses. |
UdpSocketLike | @openmixer/core | The slice of a `dgram.Socket` this transport uses. |
UdpTransportConfig | @openmixer/core | Configuration for UdpTransport. |
UnenumerableContract | @openmixer/core | A contract that has no runtime table of facts to walk at all. |
WorkflowProfile | @openmixer/core | — |
AdapterDeviceConfig | @openmixer/server | Device wiring passed to an external adapter's factory/constructor. |
AdapterFileShape | @openmixer/server | The on-disk shape of the adapter config file. |
AdapterLiveStatus | @openmixer/server | The LIVE half of one adapter — status, never settings (rest-entity-map §5: `/adapter/{id}` — `/settings` · `/status` (live, never persisted — the half conflated into `adapter.list`)). |
AdapterManagerOptions | @openmixer/server | Options for AdapterManager. |
AutorouteSinkCandidate | @openmixer/server | The sink shape pickAutorouteSink needs (both `IoNode` and the wire node satisfy it). |
AwaitableScanProvider | @openmixer/server | A DiscoveryProvider that can additionally run ONE awaitable scan pass. |
BuiltinDspMirror | @openmixer/server | The handle installBuiltinDspNativeMixerMirror returns (task #125). |
BuiltinDspNative | @openmixer/server | The native strip DSP surface the built-in-processor bridge drives (setStripEq/setStripDyn), as a structural subset so it is unit-testable with a fake. |
BusStateMessage | @openmixer/server | Broadcast after a bus-master move: the bus's new master level (+ whether it is stereo). |
CapturedChannel | @openmixer/server | One channel's reusable processing, as captured/applied by the provider. |
ChainProcessorState | @openmixer/server | One processor in a reorderable chain, as broadcast to clients. |
ChainReading | @openmixer/server | The chain AS READ — the ordered stages plus the resolved index of every named tap preset, with no wire envelope. |
ChannelAddress | @openmixer/server | A `{ kind, index }` channel address as it arrives on the wire. |
ChannelConfigStoreOptions | @openmixer/server | Options for ChannelConfigStore. |
ChannelRef | @openmixer/server | Compact `{ kind, index }` reference sent on the wire. |
ChannelSnapshotJson | @openmixer/server | A single channel's full snapshot. |
ConformanceDesk | @openmixer/server | A running conformance desk. |
ConformanceDeskOptions | @openmixer/server | How the conformance desk is dimensioned and where it keeps its state. |
ConsolePresenceGraph | @openmixer/server | The narrow graph read detectForeignConsole needs (satisfied by `PwGraph`): the live registry mirror's objects, pw-dump-shaped. |
ConsoleRigPlan | @openmixer/server | The pure, testable decisions startConsole builds from — resolved off a config. |
ConsoleSnapshot | @openmixer/server | The full console body — every addressable element of state. |
ConsoleStateProvider | @openmixer/server | Reads + writes the live console state for the persistence stores. |
CueNative | @openmixer/server | The native strip-solo + console-wide cue surface the cue mirror drives (a structural subset of NativeConsoleMixer). |
CueNativeMirror | @openmixer/server | The handle installCueNativeMirror returns — mirrors BuiltinDspMirror's shape (currently empty; a poll-style method would go here if one becomes necessary). |
CueRoutingNative | @openmixer/server | The native-node surface buildNativeCueControl adapts — the subset of NativeConsoleMixer the cue/monitor ROUTING control (#191) drives: publish the cue bus (`addCue`), push its master stage (`setCue` — the monitor leve… |
DcaStateReport | @openmixer/server | One DCA's whole state; `removed` is the teardown echo. |
DemoBusOutput | @openmixer/server | A per-bus output routing: which output bus feeds which demo output endpoint. |
DemoNode | @openmixer/server | One created virtual PipeWire node: its base name, both port pairs, and the kill handle. |
DemoNodeFactory | @openmixer/server | Creates the demo's virtual I/O nodes. |
DemoNodes | @openmixer/server | The full set of nodes a demo topology created, for logging + teardown. |
DemoTopology | @openmixer/server | The result of buildDemoTopology: the software options + node handles + routing. |
DetectConsoleSizeOptions | @openmixer/server | Options for detectConsoleSize. |
DetectedConsoleSize | @openmixer/server | The size the demo console was built at, and whether it came from detection or the default. |
DetectedResources | @openmixer/server | The host's audio I/O sorted into buckets the operator/lab cares about. |
DetectResourcesOptions | @openmixer/server | Options for detectResources. |
DiscoveryControllerHooks | @openmixer/server | Callbacks the controller fires so the server can broadcast device changes. |
DiscoveryControllerOptions | @openmixer/server | Options for DiscoveryController. |
EngineConsoleStateProviderOptions | @openmixer/server | Options for EngineConsoleStateProvider. |
ExclusiveTakeoverReport | @openmixer/server | What an exclusive takeover ANSWERS with: the latch's new value and what it released. |
FeedbackLoopFrame | @openmixer/server | The routing loop (howl-round) the engine's TOPOLOGY detector currently sees — a ring in the desired audio graph, e.g. |
FlowLinkEdge | @openmixer/server | One live link edge the flow sampler matches on (a structural subset of the native `PwLinkEdge` / the engine's `Edge`, so tests inject plain objects). |
FlowWatchableMixer | @openmixer/server | The mixer surface the flow watchdog samples + bounces (a structural subset of import('@openmixer/audio-engine').SoftwareMixer so tests inject a fake). |
FlowWatchdogWiringOptions | @openmixer/server | Options for wireFlowWatchdog. |
FxDelayStore | @openmixer/server | The structural shape of the server's DelayController the native mirror consumes (native-FX spec). |
FxReverbStore | @openmixer/server | The structural shape of the server's ReverbController the native mirror consumes. |
GroupAssignedReport | @openmixer/server | What a stagebox bulk-assign did: what landed, what it skipped, and why. |
HeadAmpSessionDoor | @openmixer/server | The head-amp entity as session persistence consumes it: the typed registry handle plus the KNOWN-set read (`HeadAmpResource.knownFieldsFor`). |
HeadStageAdapter | @openmixer/server | The head-stage WRITERS the mirror wraps — the ADAPTER's, not the software mixer's. |
HeadStageNative | @openmixer/server | The native strip stage the head mirror drives — just its per-lane `setStrip`. |
HeadStageRestore | @openmixer/server | The canonical head-stage state the install-time push replays (#122) — read from the software mixer, whose per-strip records the session restore has already written by install time. |
HealableMixer | @openmixer/server | The reconcile-bearing mixer surface route healing drives (a structural subset of import('@openmixer/audio-engine').SoftwareMixer so tests inject a fake). |
MainAutorouteOptions | @openmixer/server | Options for MixerServer.autorouteMainOutput (the startup main → default-sink route). |
MatrixNative | @openmixer/server | The native-node surface buildNativeMatrixControl adapts — the subset of NativeConsoleMixer the first-class MATRIX strip control (#146) drives. |
MeasurementRunSummary | @openmixer/server | One measurement run, as a surface needs to describe it: enough provenance for an operator to judge a figure without opening a JSON file, and no prose the server had to invent. |
MeasurementSourceCounts | @openmixer/server | How many plugins take each dimension's figure from each source. |
MetersMessage | @openmixer/server | A meter frame: per-channel 0..1 peak levels, broadcast a few Hz while signal flows (the surface animates each strip's meter from it). |
MixerServerOptions | @openmixer/server | Options for MixerServer. |
MuteGroupStateReport | @openmixer/server | One mute group's whole state; `removed` is the teardown echo. |
NativeEngineAvailability | @openmixer/server | What missingNativeEngineMessage was handed — which half of the engine loaded. |
NativeEngineLoaders | @openmixer/server | The two halves of the native engine, as loaders. |
NetworkConfigLayers | @openmixer/server | The four override layers, highest precedence first. |
NetworkValueSources | @openmixer/server | The winning layer per resolved field. |
OutputRouteNative | @openmixer/server | The native-node surface buildNativeOutputRouteControl adapts — the subset of NativeConsoleMixer the per-destination output-route control (#158) drives. |
OutputRouteState | @openmixer/server | One output destination in a PatchbayOutputStateMessage: its role-keyed sink legs (`L` / `R`, at least one) + the per-destination trim (issue #158) + delay (issue #183). |
OutputStateReport | @openmixer/server | A bus's output routing: its PRIMARY sink, and every sink it feeds with its own trim. |
PatchbayAssignmentMessage | @openmixer/server | Broadcast after a crosspoint write (PATCH /patch/input/{kind}/{index}): a channel's current source assignment — either the registered source id it now references, or the raw endpoint it reads (for an implicit source). |
PatchbayDevicesMessage | @openmixer/server | Served at `GET /patchbay/devices` / broadcast on device hot-plug: every patchable Device the desk sees, unified — local interfaces (a card's Sink + Source folded by `device.id`), REAC stageboxes, and loose app streams… |
PatchbayLinksMessage | @openmixer/server | Broadcast after any crosspoint change (PATCH /patch/input/{kind}/{index}): the FULL set of input endpoints now feeding a channel's head — the crosspoint patchbay's multi-in state. |
PatchbayStageboxesMessage | @openmixer/server | Served at `GET /patchbay/stageboxes` / broadcast on stagebox hot-plug: the REAC stageboxes currently detected among the live patchbay nodes, each grouped as one logical device (its import('@openmixer/core').StageboxDe… |
PatchSnapshot | @openmixer/server | The routing graph only — the input patch per channel + the output sink per bus. |
PatchStateProvider | @openmixer/server | Reads + writes just the live routing graph for the standalone patch store. |
PipeWireDemoNodeFactoryOptions | @openmixer/server | Options for PipeWireDemoNodeFactory. |
PluginChainControllerOptions | @openmixer/server | Options for PluginChainController. |
PluginChainState | @openmixer/server | The full ordered plugin chain for one strip — what every rack mutation answers with, and what `/channel/{kind}/{index}/inserts` publishes. |
PluginSlotState | @openmixer/server | One plugin slot in a strip's chain, as broadcast to clients. |
ResolvedNetworkConfig | @openmixer/server | The resolver's result: the effective binding plus the per-field provenance. |
ResolvedWebConfig | @openmixer/server | The fully-resolved web binding. |
ResolveServerConfigOptions | @openmixer/server | Options for resolveServerConfig. |
RestCreateBody | @openmixer/server | A successful `POST`: `item` is the id the store minted, which is the whole reason this door cannot be a `PATCH` — until the store answered, there was no address to write to. |
RestErrorBody | @openmixer/server | Anything that did not succeed. |
RestIndexBody | @openmixer/server | The resource index at the router's root — how a client discovers what this desk declares. |
RestOptionsBody | @openmixer/server | A successful `OPTIONS`: the methods, and what each field can do ON THIS INSTANCE. |
RestPatchBody | @openmixer/server | A successful `PATCH`: the state after the write, plus what reaching the audio actually did. |
RestRemoveBody | @openmixer/server | A successful `DELETE`: the item is gone. |
RestRequest | @openmixer/server | One HTTP request, reduced to what the router needs. |
RestResponse | @openmixer/server | What the host should write back. |
RestRouterOptions | @openmixer/server | Wiring for RestRouter. |
RestStateBody | @openmixer/server | A successful `GET`: the ONE state, as the entity's owner holds it. |
RouteHealingOptions | @openmixer/server | Options for wireRouteHealing. |
RouteMatch | @openmixer/server | What a concrete request path resolved to. |
RouteStateReport | @openmixer/server | A strip's summing assignment: MAIN, plus the `mix` groups it feeds. |
RtaOverlayMessage | @openmixer/server | A real-time-analyzer frame for the EQ-CURVE OVERLAY (the /rta rows over ?watch=1): a compact, log-frequency-aggregated, 0..1-normalised band set — cheap enough to redraw every poll behind a live-dragged EQ curve. |
RtLoadState | @openmixer/server | The engine's RT load on the wire (task #121): the measured busy-per-quantum reading (see core `RtLoadReading` — ratios of the real cycle budget) plus the headroom verdict's honest operator copy. |
RuntimeNetwork | @openmixer/server | A bin's fully-resolved network runtime: the binding + provenance + the state paths. |
SafetyConfigState | @openmixer/server | The gig's safety pre-loads as a client sees them (`GET /safety` is the row). |
SendStateReport | @openmixer/server | THE STRUCTURAL CONTROLLER'S ANSWER SHAPES — payloads, not wire frames. |
ServerCli | @openmixer/server | The parsed CLI layer: network overrides + the state dir + config file + help request. |
SessionStoreOptions | @openmixer/server | Options for SessionStore. |
SpectrumMessage | @openmixer/server | A real-time-analyzer frame for the STANDALONE panel (the /rta rows over ?watch=1): raw linear-magnitude FFT bins for one channel (any lane the desk is analysing — see `/channel/{kind}/{index}/rta`). |
SpectrumTap | @openmixer/server | One tap of a SpectrumMessage: a HIGH tier (inline) + an OPTIONAL decimated LOW tier (issue #95). |
SpectrumTier | @openmixer/server | A LOW-tier spectrum, riding alongside a SpectrumMessage's HIGH-tier top-level fields (issue #95, "zoom-FFT"): same shape, same `fftSize`, a ~8× lower `sampleRate` — see `mix_dsp.h`'s decimated LOW tier. |
StartConsoleOptions | @openmixer/server | Options for startConsole. |
StereoSourcePatchOp | @openmixer/server | One planned `channel <- endpoint` patch op (planStereoSourcePatch). |
StripPortMirror | @openmixer/server | The registry-mirror read the width barrier gates on (satisfied by `PwGraph`): resolve a JACK-style `node.name:port.name` to its live port id, or `undefined` when the mirror does not (yet, or any longer) hold it. |
StripWidthNative | @openmixer/server | The narrow native surface buildNativeStripWidthHook drives — the strip-width subset of NativeConsoleMixer: the in-place width reconfigure (which reports success — `false` on a failed port swap) and the live per-strip … |
StructuralDsp | @openmixer/server | The structural-DSP capability the server drives — exactly the structural surface of import('@openmixer/audio-engine').SoftwareMixer. |
StructuralDspControllerOptions | @openmixer/server | Options for StructuralDspController. |
SurfaceDetection | @openmixer/server | One first-run autodetect hit — a surface type whose default settings probed present. |
SurfaceWatchdogOptions | @openmixer/server | Options for SurfaceWatchdog. |
TelemetryBroadcasterOptions | @openmixer/server | Options for TelemetryBroadcaster. |
TelemetryMessage | @openmixer/server | A periodic latency-telemetry frame — the tick is held open by `?watch=1` streams of the telemetry rows. |
WireCueSection | @openmixer/server | The whole cue section on the wire — mirrors WireTalkbackSection's shape. |
WireCueSoloSafeEntry | @openmixer/server | Per-channel solo-safe entry on the wire cue section. |
WireFbsChannel | @openmixer/server | One channel's FBS arming + pool usage on the wire. |
WireHotInput | @openmixer/server | One physical input still holding +48 V that no channel sources any more (#384). |
WireIoNode | @openmixer/server | One live PipeWire I/O endpoint on the wire (a patchbay source or sink). |
WireIoNodeFilter | @openmixer/server | The operator's node-filter overrides, echoed on the wire. |
WireTalkbackGenerator | @openmixer/server | One generator on the wire (its params + route + PipeWire node name). |
WireTalkbackMic | @openmixer/server | The talkback mic slot on the wire (a placeholder until a real mic source is chosen). |
WireTalkbackSection | @openmixer/server | The whole talkback section on the wire. |
Types (237)
| Nom | Paquet | Resum |
|---|---|---|
AbsentDeviceParams | @openmixer/core | A hardware-backed entity whose device is not on the rig: what it is, and which one. |
AdapterFactory | @openmixer/core | A factory that turns validated settings into a live AdapterInstance. |
AdapterFieldWidget | @openmixer/core | The widget a settings field renders as (same metadata→widget idea as plugin params). |
AdapterKind | @openmixer/core | What an adapter type binds: an I/O endpoint (`io` — PipeWire, a stagebox) or a control surface (`surface` — MCU/X-Touch). |
AdapterPresenceProbe | @openmixer/core | A cheap, never-throwing presence probe: whether the physical endpoint the settings describe currently exists (a MIDI port on the seq list, a rawmidi char device). |
AdapterRole | @openmixer/core | The DSP-ownership role of a south-side adapter (the client/server axis of the I/O + control architecture — see `an internal spec` §3). |
AdapterStatus | @openmixer/core | Runtime status of an instantiated adapter (reported, not persisted). |
AdapterType | @openmixer/core | The adapter families the framework can drive. |
AlignArrival | @openmixer/core | Which of a correlation peak's two names is true for THIS pair — the physics the arithmetic cannot know (see the module doc). |
AlignFitRefusalCode | @openmixer/core | One of the arithmetic's own refusals — see ALIGN_FIT_REFUSALS. |
AlignRefusalCode | @openmixer/core | Why a measurement has no fit — see ALIGN_REFUSALS. |
AlignResult | @openmixer/core | — |
AnyCodedMessage | @openmixer/core | The discriminated union over EVERY code — what a field or a wire frame is typed as when it can carry any message. |
AtomicChannelPart | @openmixer/core | A part that maps directly onto a set of stored fields. |
BandOrigin | @openmixer/core | The closed set of machine band owners. |
BayMenuPosition | @openmixer/core | — |
BiquadCoeffs | @openmixer/core | One biquad section's normalised coefficients `[b0, b1, b2, a1, a2]` (a0 folded to 1). |
BiquadKind | @openmixer/core | The RBJ biquad kind that realises an EQ section. |
BiquadType | @openmixer/core | The filter shapes a drawn band can take — the PLUGIN/surface spelling, as it comes off an LV2 filter-type enum or a UI band picker. |
BlindGlobalParams | @openmixer/core | A discovery protocol that could not scan at all (no link scope). |
BlindLinkParams | @openmixer/core | A discovery protocol that could not scan a specific link. |
BlockLevel | @openmixer/core | — |
BoundsResolution | @openmixer/core | What following a fact's pointer produced. |
BridgedKind | @openmixer/core | The chain-`ProcessorKind`s that carry a bridged typed state (eq · gate · dynamics=compressor). |
BusyLinkParams | @openmixer/core | A link too busy to active-probe, with what the listen window actually saw. |
CensusVerdict | @openmixer/core | What one axis of one fact answered. |
ChainParamRoute | @openmixer/core | Where one generic control lands: the row that owns the fact, its field, and the stored value. |
ChannelConfigMoveValue | @openmixer/core | One moving value as the wire spells it. |
ChannelFact | @openmixer/core | A fact a channel can carry. |
ChannelFeature | @openmixer/core | Every per-channel capability feature — DERIVED from FACT_FEATURES's declared words. |
ChannelKind | @openmixer/core | — |
ChannelPart | @openmixer/core | A part the operator can select, including the convenience groupings. |
ChannelProcessor | @openmixer/core | — |
ChannelRole | @openmixer/core | A destination channel ROLE — which leg of a (stereo, later surround) bus a port carries. |
ChannelWidth | @openmixer/core | A channel's audio **width**: a single **mono** input, or a **stereo** L/R pair carried on ONE strip (the strip's fader is the level, its pan is the balance). |
ClockDriverParams | @openmixer/core | The node driving the PipeWire graph. |
ClockOwnerParams | @openmixer/core | The device observed owning the clock pace alongside openmixer. |
CodedRefusalParams | @openmixer/core | The named fields a refusal carries for the client to interpolate into its own text. |
CollectionFieldSpecs | @openmixer/core | — |
CompField | @openmixer/core | The dynamics (compressor) row's fields: its engineering-unit state, whole. |
CompositeChannelPart | @openmixer/core | A grouping of atomic parts under one operator-facing word. |
CompParamId | @openmixer/core | The generic compressor control ids — `compToParams`' layout, the compressor's only vocabulary. |
ConfiguredIfaceParams | @openmixer/core | The NIC an absent box is configured on. |
ConfirmSheet | @openmixer/core | Every confirm-gated operation this console declares, keyed by the operation row's path. |
ConsoleFact | @openmixer/core | Every fact the console itself holds. |
ConsoleFetch | @openmixer/core | The `fetch` this client dials with. |
ConsoleProfileId | @openmixer/core | The console appliances openmixer ships. |
ConsoleRowListener | @openmixer/core | Notified once per row: the opening snapshot first, then every committed change. |
ConsoleWriteOutcome | @openmixer/core | What a write did, in the three answers that are genuinely different. |
ContractName | @openmixer/core | A contract the census can be asked about. |
ContradictionCountParams | @openmixer/core | The same, for a fact counted rather than named (a width, a channel count). |
ContradictionParams | @openmixer/core | A stored value that disagrees with what the hardware reports. |
ControlUnit | @openmixer/core | One declared travel's unit. |
CopyableField | @openmixer/core | Any field a part may carry. |
CorrectionNotice | @openmixer/core | How a client noticed the divergence it corrected — a CLOSED union, extended deliberately. |
CreateOutcome | @openmixer/core | A creation either minted an id or was refused with a code. |
Decibels | @openmixer/core | A level in DECIBELS — the operator-facing quantity, and the only one that is device-neutral. |
Decoded | @openmixer/core | A decode either produced a narrowed value or a coded refusal — nothing in between. |
DemandSheet | @openmixer/core | Which rows are PUMP-FED — the rows a client must DECLARE before it is sent them, keyed by path template, each `true` (demand gate §3d, `an internal spec`). |
DensityPreference | @openmixer/core | — |
DependentCountParams | @openmixer/core | A count of restored patches/routes that depend on an absent device. |
DiscoveryOutcome | @openmixer/core | The outcome of a discovery pass — the three states that must never collapse into one: - `found` — N devices positively identified. |
DiscoveryProtocol | @openmixer/core | The network audio protocols a probe can discover. |
DynamicsKind | @openmixer/core | The dynamics processor kinds an appliance can offer per stage. |
EnforcementMode | @openmixer/core | What an OBJECTIVE failure does on a given role. |
EngineEvent | @openmixer/core | — |
EngineListener | @openmixer/core | — |
EqBandField | @openmixer/core | One band row's settable fields — the band entity's own names. |
EqBandName | @openmixer/core | Legacy console-band names (Low … High). |
EqBandType | @openmixer/core | What SHAPE a parametric band takes. |
EqCharacter | @openmixer/core | Channel-EQ band character an appliance offers. |
EqFillMode | @openmixer/core | — |
EqFilterField | @openmixer/core | One pass-filter row's settable fields (`slope` is what makes a filter not a band). |
EqHeadroomProvider | @openmixer/core | A pluggable check for whether `desiredAddCount` more bands can be added to `eq` right now. |
EqParamRoute | @openmixer/core | An EQ route — the subset routeEqParam answers with. |
EqPresetId | @openmixer/core | The identifiers of the selectable band-count presets, in picker order. |
FactAbsenceRule | @openmixer/core | What a whole-state RESTORE does when a persisted fact is ABSENT from the file (spec revision 3, #665). |
FactControl | @openmixer/core | What KIND of control carries a fact, in `ProcessorParam`'s own words. |
FbsAction | @openmixer/core | What the corrector did — the trace log's action column. |
FbsHold | @openmixer/core | A live notch's clean-hold time before it lifts: SECONDS, or `'never'`. |
FbsMode | @openmixer/core | A channel's FBS arming mode: `ringout` = soundcheck assistant (finds stay put), `live` = show protection (finds may lift again after a clean hold). |
FieldSpec | @openmixer/core | One cell of a field table. |
FieldSpecs | @openmixer/core | — |
FilterSlope | @openmixer/core | A pass filter's roll-off steepness, in dB per octave (12 = one biquad, 24 = two cascaded). |
Freshness | @openmixer/core | The freshness verdict the surface renders. |
FxCategory | @openmixer/core | Internal-FX engine categories an appliance's rack can host. |
GateField | @openmixer/core | The gate row's fields: its engineering-unit state, whole. |
GeneratorKind | @openmixer/core | The three built-in generators. |
GpuVendorName | @openmixer/core | The GPU vendors this probe recognises; anything else is reported honestly as unknown. |
HardwareFact | @openmixer/core | Which observable fact a stored value disagrees with. |
HardwarePresence | @openmixer/core | Where a hardware-backed entity stands right now. |
HeadAmpFeature | @openmixer/core | The three CONTROLS a head-amp capability declares — the boolean fields of HeadAmpCapability, named as a type so a caller that ranges over "which head-amp features does this input have?" cannot accidentally range over … |
HeadAmpField | @openmixer/core | One writable param of a preamp record — the fields a `/channel/{kind}/{index}/headAmp` PATCH may name, and the keys the known-set is kept per. |
HrpChannelStateJson | @openmixer/core | The persisted shape. |
HrpMode | @openmixer/core | The operator's word, straight from the UI spec (§27): `monitor` analyses and SHOWS — detected note, measured harmonics, the cut it would make — and never touches the EQ; `adaptive` applies safe corrections automatically. |
IdentifyPort | @openmixer/core | How a live port is identified for STORAGE: the box input it carries, or `undefined` when no enrolled box owns it (an app stream, a loopback, a sound-card input). |
InputInit | @openmixer/core | Head-amp VALUE + name/icon overrides accepted when a physical input is FIRST registered (mirrors makeSource's init). |
InsertLatencyCode | @openmixer/core | One of the INSERT_LATENCY_CODE codes. |
InsertPlacement | @openmixer/core | Insert placement vocabulary; `movable` = a free-reorder desk. |
InsertRole | @openmixer/core | What a destination is FOR — the axis every suitability budget is keyed on. |
InstrumentFamily | @openmixer/core | The instrument family a template belongs to — groups templates for a picker and bounds a family's expected compressor ratio (see FAMILY_COMP_RATIO_BOUNDS). |
LatchAudit | @openmixer/core | The audit's verdict. |
LatencyBudgetParams | @openmixer/core | The named fields a latency finding carries, for the client to interpolate. |
LegacyTap | @openmixer/core | The legacy two-way tap, kept as an alias of the TapPreset it maps to. |
LinearGain | @openmixer/core | A LINEAR amplitude coefficient: what a summing stage multiplies a sample by. |
MagnitudeSeries | @openmixer/core | A magnitude series as any consumer receives it: the addon hands bins over as ONE `Float32Array` (2026-08-29 — a JS array built one property set per bin was ~10 % of the engine's CPU), and the wire, a test or the offli… |
MeasurementBusyParams | @openmixer/core | How busy the engine was when a plugin analysis was refused. |
MessageCode | @openmixer/core | Every code this bridge knows. |
MessageParamRecord | @openmixer/core | The parameter record shape every MessageParams entry conforms to. |
MessageParams | @openmixer/core | Every message code, mapped to the parameters its localised sentence interpolates. |
MessageParamValue | @openmixer/core | What a localised sentence may interpolate: wire-serialisable scalars only. |
MissingHardwareKind | @openmixer/core | The kind of a missing device (mirrors the manifest's three categories). |
MissingHardwareParams | @openmixer/core | A device absent from a restored show, with its dependency clauses already joined. |
NativeStageId | @openmixer/core | A native stage id — the value the native walk indexes its kernels by, matching `mix_order.h`'s `enum omx_stage` and `@openmixer/pipewire-native`'s `MIXER_STAGE`. |
NativeStageKind | @openmixer/core | A processor kind that maps to a native reorderable stage. |
NoMessageParams | @openmixer/core | The parameter type of a code whose sentence interpolates nothing. |
NoOperationColumn | @openmixer/core | A mold generic that carries nothing — the shape of "this operation declares no such column". |
OccupiedPatchMode | @openmixer/core | — |
OperationParamCodecs | @openmixer/core | An operation's declared parameters: one core FieldCodec per argument. |
OscArg | @openmixer/core | One typed OSC argument to encode. |
OscDecodedArg | @openmixer/core | One argument off the wire. |
OscTag | @openmixer/core | The OSC type tags a message can be ENCODED with — all any supported desk accepts. |
OtherScopesParams | @openmixer/core | The NIC scopes reac-pw IS watching, for a NIC it is not. |
OutputEndpoint | @openmixer/core | A leg-aware sink endpoint: an OPEN map from channel ROLE to the physical sink port that leg feeds. |
OutputRoute | @openmixer/core | One output destination: the leg-aware sink endpoint (OutputEndpoint — role→port) plus an optional per-destination `trimDb` / `mute` / `delayMs`, and — only when a stereo bus folds onto a single mono leg — the per-leg … |
OutputRouteJson | @openmixer/core | The persisted form of one output route — the OutputRoute object (role-keyed). |
OwnershipRule | @openmixer/core | WHO ACTUATES A WRITE to a fact, declared once per fact rather than hand-coded per control (control-ownership.ts's `ControlOwnership`/`ControlDomain` generalised into a static declaration; #563's union). |
PanelPlacement | @openmixer/core | — |
PanicScope | @openmixer/core | Which targets a panic silences: the main bus(es), or every input channel. |
PasteLabelParams | @openmixer/core | An undo entry for a paste: how many channels it landed on, so the affordance can say "undo paste (3 channels)" without the client counting anything itself. |
PatchOutcome | @openmixer/core | The outcome of applying a patch to the one state: it either happened, with the state after, or it was refused, with the code. |
PerKindFeatureMatrix | @openmixer/core | A per-channel-kind feature matrix: the set of ChannelFeatures each kind exposes. |
PersonalityId | @openmixer/core | A personality (skin) id — the canonical union, owned here in core. |
PhysicalInputId | @openmixer/core | A stable, comparable **physical-input identity** — the key that says *"this stagebox / reac-capture port"* independent of any channel. |
PluginInstancesParams | @openmixer/core | Why the plugin host has no instance slot left: how many ids mod-host has (`max`, its own declared `0 ~ N` range) and how many of them are LEAKED — bypassed, un-racked, and still holding their id because mod-host's `re… |
Position | @openmixer/core | A surface fader POSITION: where the cap sits on its throw, 0..1, with 0.75 the unity detent on `NormalizedScale`. |
ProbeErrorParams | @openmixer/core | A probe that failed with a host/system error, named for the operator. |
ProcessingOrderMode | @openmixer/core | How the operator may reorder the processing chain. |
ProcessingPanelPins | @openmixer/core | The operator's placement PINS, one per screen class. |
ProcessingSection | @openmixer/core | The processing sections that EXIST on this appliance; absent ⇒ the section is hidden. |
ProcessorKind | @openmixer/core | — |
ProcessorParam | @openmixer/core | One processor control: a numeric (with a Param spec), a toggle, or an enum choice. |
ProcessorParamDef | @openmixer/core | A processor parameter — discriminated on `kind`. |
RangeSource | @openmixer/core | Where a fact's presentation LIMITS come from — never a hardcoded constant (#66's precedent, `HeadAmpCapability.gainRange` / `headAmpGainRangeOf`). |
RateBasis | @openmixer/core | Where the sample rate a judgement used came from — the honesty field. |
ReacCfgRateRefusal | @openmixer/core | — |
ReacCfgRateState | @openmixer/core | — |
RecordSpaceParams | @openmixer/core | What the record gate found short: the bytes it wants before it will start, and the bytes the disk actually has. |
RefusalCode | @openmixer/core | Why a write (or a field) is refused — a CLOSED union. |
RegisteredPath | @openmixer/core | An entity that is registered today. |
RemoveOutcome | @openmixer/core | A removal either happened or was refused with a code — there is no third shape. |
RenderSpaceParams | @openmixer/core | What a render needs and what the disk has. |
ResolveBoxInput | @openmixer/core | How a stored box input is resolved back to a live port: the port that box currently exposes for that input, or `undefined` when the box is ABSENT — not plugged in, or on no segment. |
ResolvedEndpoint | @openmixer/core | What resolving a stored endpoint produced. |
ResolvedFactOwner | @openmixer/core | A fact's owner with every CONDITION EVALUATED — OwnershipRule minus the conditional `peer` wrapper: what actually owns the fact for THIS context, one answer. |
ResourceCommitListener | @openmixer/core | Notified after every committed write. |
ResourceCommitMethod | @openmixer/core | Which door of an entity committed — a write, a removal, or a creation. |
ResourceFault | @openmixer/core | Why a request could not be served, in a form a transport can map to a status. |
ResourceId | @openmixer/core | The path variables selecting one instance — e.g. |
ResourceMethod | @openmixer/core | What a client may do to a resource instance. |
ResourcePolicy | @openmixer/core | What a COMMITTED write to this entity means for the console's bookkeeping — the session's dirtiness and the operator's history — declared once beside ConsoleResource.path, ConsoleResource.ripples and ConsoleResource.l… |
ResourceTravels | @openmixer/core | Every travel one row declares, keyed by field name — a row's half of the desk's declaration. |
RouteLabelParams | @openmixer/core | An undo entry naming a route between two scopes. |
RtBudgetParams | @openmixer/core | How much of the real-time budget the engine is spending. |
RtHeadroomLevel | @openmixer/core | How much headroom the engine has: `ok` (plenty), `warn` (spending it), `refuse` (non-essential DSP adds endanger the RT budget). |
RtHeadroomProvider | @openmixer/core | The headroom provider the add-band guard consumes (task #120 defines the seam; this is the REAL provider satisfying it — #120's own default is always-allow-under-cap, so the integrator swaps that default for this). |
SafeScope | @openmixer/core | The parameter groups a channel can be recall-safed independently. |
ScopeLabelParams | @openmixer/core | An undo entry naming one console scope (`CH3`, `Main`, `Aux2`). |
ScreenClass | @openmixer/core | — |
SendSpec | @openmixer/core | A declarative **send matrix** description: a cross-product of source kinds → destination kinds (a cross-point exists when the source is one of `from`, the destination one of `to`, and both are real channels present in… |
SendTap | @openmixer/core | A send's tap point relative to the channel fader. |
SendTapSpec | @openmixer/core | Where a send taps the channel. |
ServerSocketFactory | @openmixer/core | Factory that produces a listening UDP socket. |
Settlement | @openmixer/core | What a write left IN FLIGHT — `undefined` when the store committed within the call, the landing's promise when it did not. |
SnapshotChannelField | @openmixer/core | Any `ChannelSnapshotJson` field a fact can ride — everything but the address. |
SocketFactory | @openmixer/core | Factory that produces a UDP socket. |
SourceId | @openmixer/core | A stable source identifier, unique within a console (e.g. |
SpeakerAlignRefusalCode | @openmixer/core | Why a loudspeaker-alignment reading has no fit — see SPEAKER_ALIGN_REFUSALS. |
SpecPresentation | @openmixer/core | What a spec may add to a declared travel: how the throw MAPS and how the number READS. |
StageboxAssignRefusal | @openmixer/core | One of the STAGEBOX_ASSIGN_REFUSAL codes. |
StageboxAssignRefusalParams | @openmixer/core | The structured fields a refusal carries, for the client to interpolate into its own text. |
StageboxDirection | @openmixer/core | Which side of a stagebox a bulk assignment targets. |
StageboxKey | @openmixer/core | An opaque recognition key. |
StageboxPresenceView | @openmixer/core | The subset of StageboxDevice the presence check reads (link state + box identity). |
StaleProbeParams | @openmixer/core | A reac-pw whose published sightings have all aged out. |
StoredPatchLeg | @openmixer/core | One leg of a stored endpoint. |
StripKind | @openmixer/core | Strip kinds a console may contain — the model's own `ChannelKind` vocabulary (`model.ts`), reused so a validated definition can always address the engine. |
SuitabilityKind | @openmixer/core | Is a finding physics or taste? |
SuitabilityVerdict | @openmixer/core | A check's answer for one chain on one destination. |
SurfaceTheme | @openmixer/core | — |
SurfaceWriteFact | @openmixer/core | Which fact a surface gesture wrote — the closed set the door declares, one name per physical control. |
SurfaceWriteOutcome | @openmixer/core | What the console did with one surface gesture, resolved at the LANDING: - `applied` — the row took it; the broadcast that repaints every surface is on its way. |
TakeTrackLeg | @openmixer/core | The strip leg a mono track file holds. |
TalkbackGenerator | @openmixer/core | One of the three built-in generators. |
TalkbackTarget | @openmixer/core | The routable talkback slots: the three generators plus the talkback mic. |
Taper | @openmixer/core | How a param's value maps to/from its 0..1 position: - `linear` — value is linear in position (`v = min + p·(max−min)`). |
TaperKind | @openmixer/core | Taper kinds a number param spec may declare. |
TapMode | @openmixer/core | — |
TapPointId | @openmixer/core | A tap point's id — the token that crosses the wire and keys a placement. |
TapPreset | @openmixer/core | The named tap-point presets — the **default tap landmark set**. |
TopologyLayout | @openmixer/core | An ordered per-kind channel allocation — the channels a topology presents, in surface order. |
UdpDatagramHandler | @openmixer/core | One inbound datagram, with the return address attached. |
UnconfirmedReason | @openmixer/core | Why the surface cannot currently vouch for what it renders. |
UndoCoalesce | @openmixer/core | How a same-scope undo record folds into its predecessor: `continuous` for a value that streams during a drag (a fader, a knob) so one gesture is one entry; `discrete` for a single deliberate action, which never folds. |
UndoSetLabelCode | @openmixer/core | The code family for a `set` undo label — `undo.label.set.<param>`. |
UndoSetParam | @openmixer/core | One of UNDO_SET_PARAMS. |
UnknownProbeStateParams | @openmixer/core | A reac-pw publishing a discovery state this build has no meaning for. |
VscRateParams | @openmixer/core | The two rates a virtual soundcheck could not reconcile — the take's and the graph's. |
Waveform | @openmixer/core | An oscillator waveform. |
WireDelta | @openmixer/core | A PATCH body exactly as the wire delivered it: unknown JSON. |
WriteSource | @openmixer/core | WHO wrote — carried on the write, reported on the commit, and journaled on the entry. |
XrunGraphParams | @openmixer/core | The graph facts every xrun-growing detail carries: the running total, and what the graph is currently trading (quantum in frames + ms, and the rate those ms are measured at). |
XrunRaiseHolderParams | @openmixer/core | XrunRaiseParams plus which node's request explains the current quantum. |
XrunRaiseParams | @openmixer/core | XrunGraphParams plus the one free step up the quantum ladder. |
XrunRateParams | @openmixer/core | How fast xruns are landing right now (issue #657) — a RATE, never the running total. |
XrunRelaxParams | @openmixer/core | XrunGraphParams plus which node's request explains the current quantum, with no room left to raise (the ceiling is already reached). |
AdapterName | @openmixer/server | A console family the server can drive. |
ChainTarget | @openmixer/server | Whether a chain verb targets a channel strip or a bus-master chain. |
DcaEntry | @openmixer/server | — |
DelayField | @openmixer/server | Editable delay fields; the REST delay row carries the same set. |
DemoLogger | @openmixer/server | A minimal logger sink (defaults to `console`), so size detection can report its verdict. |
GateField | @openmixer/server | An editable channel-gate field name (`on` or a numeric transfer/envelope field). |
InsertPointResolver | @openmixer/server | Resolve a strip's audio insert point (source + sink port pairs). |
IoEnumerator | @openmixer/server | Enumerates the live PipeWire sources + sinks the patchbay offers (the import('@openmixer/audio-engine').PipeWireGraphProvider `.list()` shape). |
MainAutorouteResult | @openmixer/server | The verdict of MixerServer.autorouteMainOutput. |
NetworkOverrides | @openmixer/server | A single layer's partial overrides (persisted file, CLI flags, or env vars). |
NetworkValueSource | @openmixer/server | Where a resolved network value came from. |
OutputInsertSlot | @openmixer/server | One desired output-insert slot (URI string or `{ uri, bypassed? |
RestBody | @openmixer/server | — |
RestFault | @openmixer/server | Faults this layer can add to ResourceFault. |
RetiredRigPreset | @openmixer/server | A retired preset name an installed config file may still carry. |
ReverbField | @openmixer/server | Editable reverb fields; the REST reverb row carries the same set. |
SendEntry | @openmixer/server | The structural read shapes are the real SoftwareMixer ones, re-exported so the server (and its tests' fake) speak exactly what the live mixer returns — no narrowed twin to drift apart from it. |
ServerConfig | @openmixer/server | Fully-resolved, validated server configuration. |
ServerConfigInput | @openmixer/server | The pre-validation input shape of ServerConfigSchema (every field optional). |
TelemetrySink | @openmixer/server | What one tick delivers: the polled report, or `undefined` on a console that has no latency source — the tick still fires, because the other gauges ride it. |
WireSendTapSpec | @openmixer/server | A rich send tap spec on the wire (preset / position / legacy). |
Classs (44)
| Nom | Paquet | Resum |
|---|---|---|
AssignableKeys | @openmixer/core | In-memory store for assignable keys, keyed by `id`. |
BaseAdapterInstance | @openmixer/core | The `stopped → starting → running/error` (and back to `stopped`) machine every AdapterInstance re-derives, written once: `start()` flips to `starting`, runs bringUp, and lands on `running` — or catches, flips to `erro… |
BlockLibrary | @openmixer/core | In-memory store for blocks, keyed by `${level}/${name}`. |
ChannelMuteResource | @openmixer/core | Channel mute as a ConsoleResource: `/channel/{kind}/{index}/mute`. |
CodedRefusal | @openmixer/core | A refusal identified by a stable code. |
CollectionResource | @openmixer/core | — |
ConsoleClient | @openmixer/core | A remote console, addressed the way it declares itself. |
ConvergenceClient | @openmixer/core | — |
ConvergenceInstrument | @openmixer/core | The counters and the log, pure and synchronous — the server registers the rows over it and calls observe from its one commit listener. |
DerivedResource | @openmixer/core | — |
InputPatchbay | @openmixer/core | The stateful input patchbay: channel → its single physical input, and physical input → its head-amp home. |
InsertRefusedError | @openmixer/core | A refused insert: the destination cannot afford this chain and the role's enforcement is `refuse`. |
LatchResource | @openmixer/core | — |
LifecycleGate | @openmixer/core | The one lifecycle implementation: parse the id, refuse in codes when the address or the door is missing, otherwise call the row's door. |
MapStation | @openmixer/core | A plain in-memory station: seeded instances, peek = claim, string-keyed. |
MixerEngine | @openmixer/core | Reads are a push observer (not promises): desks stream state after subscribe. |
NormalizedScale | @openmixer/core | The default console fader taper: a log-shaped throw with a unity detent at position 0.75, a +10 dB boost region above it, and a cut region that steepens toward TAPER_FLOOR_DB at the bottom. |
OperationResource | @openmixer/core | — |
PerfHistogram | @openmixer/core | One op's latency histogram. |
PerfRegistry | @openmixer/core | A server's whole collection of named op histograms. |
PersistenceTracker | @openmixer/core | Interframe persistence + growth tracker (IPMP + the #91 growth gate + the #116 sub-harmonic rejector). |
ResourceMoldBase | @openmixer/core | — |
ResourceRegistry | @openmixer/core | Holds every declared entity and serves every request against them. |
ScalarRecordResource | @openmixer/core | — |
StageboxAssignError | @openmixer/core | A refused stagebox assignment. |
UdpEndpoint | @openmixer/core | A bound UDP socket that reports the sender, and sends to any peer. |
UdpTransport | @openmixer/core | Fire-and-forget UDP sender plus an inbound message pump. |
AdapterManager | @openmixer/server | Owns the adapter registry, the live instances, and the config file. |
ChannelConfigStore | @openmixer/server | Persists named per-channel configs and drives save/apply over a provider; also serves the read-only factory instrument templates through the same list/get/apply doors. |
CliUsageError | @openmixer/server | A bad flag value — the bins print the message + help and exit non-zero. |
CodedError | @openmixer/server | An `Error` carrying a stable operator-facing ErrorMessage.code. |
DiscoveryController | @openmixer/server | Bridges a DiscoveryProvider to the AdapterManager + the server. |
EngineConsoleStateProvider | @openmixer/server | Reads/writes console state over the engine + plugin chains for the stores. |
MixerServer | @openmixer/server | — |
NetworkSettingsStore | @openmixer/server | Loads + saves the persisted NetworkOverrides JSON file at a fixed path — the JsonSettingsStore discipline over the override shape. |
PipeWireDemoNodeFactory | @openmixer/server | Production DemoNodeFactory: spawns a `pw-loopback` per node (via loopbackArgs, the same audio-safe args the fader nodes use — `node.autoconnect=false` so a demo node never grabs the default sink on its own) and waits … |
PluginChainController | @openmixer/server | Owns the plugin chains for every strip. |
RateWatchingNativeMeterSource | @openmixer/server | The native meter source with a per-poll hook: the adapter's EXISTING meter interval (`SoftwareMixerAdapter.startMeterPoll`) calls `read()` a few times a second, which makes it the free periodic path the built-in-DSP m… |
RestRouter | @openmixer/server | Maps HTTP onto a ResourceRegistry, and does nothing else. |
SessionStore | @openmixer/server | Persists whole-console sessions as JSON files and drives save/load over a ConsoleStateProvider. |
StructuralDspController | @openmixer/server | Drives the structural-DSP operations onto the live mixer and produces the broadcast frame for each. |
SurfaceWatchdog | @openmixer/server | Supervises presence-probeable adapter entries on a fixed cadence. |
TelemetryBroadcaster | @openmixer/server | Ticks while there are subscribers, polling the LatencyReportSource when there is one. |
VirtualDemoNodeFactory | @openmixer/server | A NON-SPAWNING DemoNodeFactory: returns the same deterministic loopbackPorts port names as PipeWireDemoNodeFactory but starts NO `pw-loopback` process. |