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.
What it projects
Section titled “What it projects”- Active track: an instrument box (the synth id or
sampler/midikind) 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.
How it writes back
Section titled “How it writes back”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.01steps; shift for coarse), or double-click to type. - Enums: a select — e.g. a
filter’stype(lowpass/highpass/bandpass), or asidechain’ssource(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 chain is read-only by design
Section titled “The master chain is read-only by design”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.