home/ atoms/ sc-live-coding-performance-structure

A SuperCollider performance piece uses ServerBoot/Tree, Pdefs, and Groups to create a hot-swappable live structure

A mature live performance structure in SuperCollider separates concerns into: (1) server configuration and global variables, (2) SynthDef definitions registered with ServerBoot/ServerTree callbacks, (3) buffer-loading registered with ServerBoot, (4) Groups for routing source → effect chains with correct node ordering, and (5) named Pdefs for each musical voice. Pdefs allow live re-evaluation per voice independently. Groups ensure effects always follow sources. Wrapping setup in callbacks guarantees correct initialization order. This architecture lets the performer reboot the server and have everything rebuild automatically — critical for recovery from crashes during performance.

Examples

See tutorial 17 for the full template: s = Server.local; s.options.outDevice_(...); ServerBoot.add(~loadBuffers); ServerTree.add(~makeSynthDefs); s.boot;

Assessment

List the four phases of setting up a SuperCollider performance piece in correct execution order. Why must buffer loading happen in a ServerBoot callback rather than directly after s.boot?

“first configure the audio server, initialize any simple global variables, then define several piece-specific functions, which handle things like reading soundfiles into buffers”
corpus · supercollider-tutorials-full-transcripts-and-code-eli-fields · chunk 54