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?