Optional ReadonlyclipReadonlykeepOptional ReadonlymeterThe adapter's meter read as a tick the console drives on demand — see MeterTick. Optional BECAUSE it is a capability: the software adapter reads a meter source and offers the read; a remote desk pushes its own meters over its transport and has nothing here.
ReadonlymodelReadonlyroleWho owns the DSP behind this adapter — see AdapterRole. Declared statically
per adapter family (software/mock → 'server'; midas/x32/roland → 'client'), never
inferred from model/type string matching.
OptionalassignOptionalassignsurfaces device readiness, e.g. Midas "no show loaded" -> false.
OptionalhotThe physical inputs this adapter last asserted +48 V on that NO channel sources any more — a socket left hot by a re-patch (#384). Optional, like the head-amp verbs: an adapter with no phantom to switch omits it and the server reports nothing.
Head-amp belongs to the physical input, not the channel, so re-patching a channel away legitimately leaves the vacated preamp holding its own state — a desk does not drop phantom because you moved a patch. What is NOT legitimate is that the state becomes unreachable: the strip that showed it now reads its new input, and nothing else says the voltage is there, which is how a ribbon mic meets 48 V. This is the read that makes it reachable.
Reporting only — never a release. Dropping phantom as a side effect of a patch edit is a physical act on live hardware, and silently unpowering a condenser someone is still using is a worse failure than the one it would fix. Release stays an explicit operator action on the input itself. A SPLIT is orphaned only by ALL its channels (see orphanedHotInputs).
OptionalmonitorWhether mode B could actually be ESTABLISHED for this monitor destination — the query half
of setMonitorOutput's takeover (southbound contract §6c: ask, never assume).
Mode B is not a flag the console owns; it is a flag on an OUTPUT ROUTE. The crossfade lives on a MAIN out_route, so it exists only when MAIN is ALSO fanned out to the sink the monitor destination lands on — and never on MAIN's PRIMARY, which is the house. Where that route is absent the designation reaches nothing at all, which is why this is asked before the flag is recorded instead of being discovered later as silence.
Absent, or undefined, means this desk cannot say: never a licence to report either answer,
and never grounds to refuse (the discipline's "unknown never blocks").
OptionalrefreshRefresh the adapter's view of its remote head-amp device(s) and return a stable
fingerprint of what is out there (device identity + declared width + capability set),
or undefined when this adapter has no remote head-amp fabric at all. Optional, like
the head-amp verbs themselves. The server polls this to notice a device RECREATION
(a reac-pw restart, a stagebox swap): the remote's head-amp state resets with it, so a
fingerprint change is the signal to re-advertise capabilities to open surfaces and
re-apply the recorded scene (phantom/pad/SENS) — the UI must never show a phantom the
box is not actually providing.
request a (re)send of full state for these channels; results arrive via the receiver.
OptionalsetSet this channel's INPUT ALIGNMENT delay (ms) — the input-stage latency that pushes one microphone back to meet another on the same source.
OptionalsetOptionalsetSet the console-wide cue mode: PFL (default) / AFL / SIP.
OptionalsetSet the channel's signal delay, in milliseconds.
OptionalsetOptionalsetOptionalsetSet the HEAD-AMP GAIN in dB on a channel — the box's analog gain ahead of the A/D, not the console's own digital stage. Optional: only an adapter with a real preamp behind it carries one.
This is the seam the unit conversion lives at, and the only one (operator ruling,
2026-08-12). Everything north of here — the row, the session, OPTIONS, every client — is in
dB of gain; an adapter is free to keep its fabric's own encoding internally and converts
here. A REAC-backed adapter writes the box's SENS VALUE byte over PipeWire Props (the #147
pattern, never a subprocess); an RME's Mic-AN<n> Gain is already dB and passes straight
through.
OptionalsetSet a matrix cross-point level (bus/main → matrix output).
OptionalsetEngage / release the monitor DIM — an extra attenuation on the routed monitor output (#191).
OptionalsetSet the monitor LEVEL (0..1) — the cue-bus master fader (#191).
OptionalsetDesignate the monitor destination, or clear it with undefined. takeover selects mode B
(the sink carries MAIN and switches to cue on solo) vs mode A (pure cue), #191.
Optionaltakeover: booleanOptionalsetEngage / release the −20 dB analog PAD on a channel's head-amp (a REAC box control).
Optional for the same reason as setPhantom: only a REAC-backed adapter carries
an analog pad. Engaging it shifts what the SENS byte means by 20 dB (the BOX applies the
offset — see @freemixer/core's head-amp.ts), so a surface pairs pad with sens.
OptionalsetSet 48 V phantom power on a channel's head-amp. Optional BECAUSE it is a capability, not
a universal control: a REAC-backed adapter drives the box's +48 V; a PipeWire / software
adapter has no pin to power and omits this method entirely (its absence — not a
silently-ignored call — is the honest "no phantom here"). See AdapterInput's
phantomCapable/padCapable/sensCapable for the per-input source-layer view.
OptionalsetSet input polarity / phase invert.
OptionalsetOptionalsetOptionalsetPer-channel solo-safe (SIP-mute exemption only — cue/solo-to-monitor spec, resolved Open Question #2). Absent on desks with no cue/SIP concept.
OptionalsetLink / unlink a channel as a stereo strip.
OptionalsoloClear every soloed channel in one shot (the console-wide solo-clear).
The adapter's clip CAPTURE — the read-and-clear door onto the native RT thread's sticky over flags, offered where the engine measures one (
2026-08-29-clip-latch.md§3). The console drives it on its own always-on observation cadence, independent of the meter tick: a latch exists to catch an over nobody is metering. A remote desk latches nothing here.