Build with this node

Start with a prompt in Studio, or copy it into your own coding agent.

Ask Studio

@maruaudio/dsp/processors/serial-effect-stack-reference is a qualification fixture for @maru/processors-serial-effect-stack: a three-slot consumer that dispatches three tiny stages from static if arms, with no callback array or runtime registry. Slot 0 is a one-pole low-pass, slot 1 a one-sample delay averaged with its input, slot 2 the shaper x / (1 + |x|). The stages have different state and transfer functions, so their order changes the output. It is a scheduler oracle, not a product effect and not evidence of MultiFX leaf reuse.

const state = createSerialEffectStackReferenceState()
requestSerialEffectStackReferenceOrder(state, new Int32Array([2, 1, 0]), 0b111)
const y = serialEffectStackReferenceTick(state, x)

Lifecycle

createSerialEffectStackReferenceState allocates the three-slot scheduler buffers, two one-word f32 histories and fixed tags [1, 2, 3] → requestSerialEffectStackReferenceOrder(order, activeMask) (never invalidates a slot) → serialEffectStackReferenceTick once per sample. The tick runs the active slots in the committed order, mixes dry and wet with the scheduler's wet gain and advances the scheduler one frame. There is no reset of its own; the scheduler's resetSerialEffectStack applies to state.stack.

When to use it

When changing the scheduler or its lowering, as the smallest consumer that shows order matters and that a pure reorder keeps each stage's state.

Limits

  • Mono sample tick, all arithmetic rounded to f32.
  • Three fixed stages; the request takes no tags and no invalidate mask.
  • The stage histories are not cleared by a reorder or by the scheduler.

Algorithm properties and proofs

No Lean 4 proof is mapped to this node.

Explore proofs alongside performance

Ports

  • In ininput · audio · mono
  • Out outoutput · audio · mono

One sample per serialEffectStackReferenceTick call.

Dependencies

Dependents

No other node imports this one.

Used by

No plugin with a published composition uses this node yet.