home/ atoms/ sc-node-leak-no-done-action

A SuperCollider synth without doneAction:2 leaks nodes silently until CPU overload crackles

Percussive or gated synths that do not set doneAction: 2 on their amplitude EnvGen never free their server node when the envelope finishes. Each trigger adds another node; the server’s voice count climbs silently with no error until CPU overload causes crackle or dropouts. The fix is to add doneAction: 2 to every amplitude envelope, release held notes with x.release or x.set(\gate, 0), and use s.freeAll to nuke accumulated leaked nodes.

Examples

A kick EnvGen.ar(Env.perc, doneAction: 0) triggered every beat — 64 silent idle nodes after 4 bars. Fix: doneAction: 2.

Assessment

Describe the symptom pattern of a node leak in SuperCollider (what is heard, what is not shown) and write the correct doneAction argument to prevent it.

“No error — CPU/voice count climbs, eventually crackle/dropouts | Add `doneAction: 2` to the amplitude `EnvGen`.”
context/ · L5-debug/supercollider.md · chunk 1