Skip to content

Devices

The Devices view is the studio’s Ableton-style bottom strip: the active track’s instrument and effect chain, followed by the master chain. Generated devices lead with eight or fewer semantic macros plus visible CPU/latency/tail badges; raw code parameters stay collapsed until you ask for them. It is a projection of the fx.* data and synth params in your song file — and it writes editable track params back.

  • Active track: an instrument box (the synth id or sampler / midi kind) followed by one box per static effect, in source order. Select a track in the Mixer, Browser project tree, or Inspector to switch the strip.
  • Macro-first controls: generated FAUST devices show the manifest’s semantic controls before raw parameter names. Use params to expand the exact code-owned values.
  • The master row: the master-bus effect chain (song.setMasterEffects(...)), rendered last. A muted (default) tag marks the implicit tuned chain when a song hasn’t declared one.

Instrument and effect params whose value is a plain literal in main.ts are editable, and commit straight into the source:

  • Numbers: drag to scrub (0.01 steps; shift for coarse), or double-click to type.
  • Enums: a select — e.g. a filter’s type (lowpass / highpass / bandpass), or a sidechain’s source (the other track names).

Computed values — anything that isn’t a plain literal (a spread, a value defined in another file, an expression) — render locked, with a hover lock icon and a reason: “edit it in code.” The panel stays calm and read-only-looking until you hover, then reveals the affordance.

The master row never offers write-back. The master chain is code-owned through song.setMasterEffects([...]), and the projection here is read-only on purpose — so the one place that shapes the whole mix is always edited deliberately, in code. Track instrument and effect params share the same literal write-back and lock-with-reason behavior.