A SuperCollider startup file auto-loads SynthDefs and buffers on server boot for live-coding readiness
The startup.scd file (placed in the SC Extensions or startup location) is evaluated at SC launch. Wrapping boot code in s.waitForBoot({ ... }) ensures SynthDefs are added and buffers loaded as soon as the server comes online. A well-designed startup file provides a battery of general-purpose SynthDefs (kick \k, buffer playback \b, oscillators \sin, \saw, \pul) and a recursive buffer loading utility that populates a dictionary b from a folder tree. This enables immediate performance: after opening SC, the performer can start making sound within seconds using pre-loaded vocabulary.
Examples
s.waitForBoot({ SynthDef(\k, { ... }).add; b = ~makeBuffers.('/path/to/samples/', ()); });
Assessment
What is the advantage of using s.waitForBoot in a startup file rather than evaluating s.boot and then SynthDef definitions on separate lines? Describe one scenario where the separate-line approach fails.