SuperCollider: language and server basics
Learning objectives
- learner can navigate SC's language/server split and evaluate code blocks with feedback
- learner can use the object/message model, enclosures, variables and functions
- learner can record the server's live output
Capstone — one whole task that evidences the objectives
Set up a SuperCollider session: boot the server, evaluate a parenthesised code block that defines a function and variables using message syntax, read the Post window feedback, and record a few seconds of server output to disk.
Prerequisite modules
Every SuperCollider set — whether you perform in sclang directly or drive scsynth from TidalCycles or FoxDot later — begins the same way: boot the server, evaluate code, watch the feedback, and (if you want a take to keep) hit record. This module builds that whole session ritual into muscle memory, because on stage there is no time to wonder why nothing sounds (server not booted) or where the error went (Post window buried).
The arc starts fully supported: with the IDE open, boot the server and confirm the green status bar, leaning on the two-process language/server split to understand what just happened. Next, evaluate single lines and read what the Post window echoes back — the “primary feedback channel” concept is your JIT pointer whenever output confuses you. Then grow to multi-line work: wrap lines in outer parentheses per the code-block procedure, declare var and ~ names using the variable-scoping concept, and package behaviour as curly-brace functions called with .value. Message syntax (receiver.message(args)) and the four enclosure types are exercised on every single line, so they stop being syntax and become reflex. Finally, the recording procedure (s.record / s.stopRecording) closes the loop, capturing the server’s live output exactly as heard. The capstone repeats this whole chain unsupported.
Each required atom is a gate: skip any one and the capstone stalls — no boot, no block evaluation, no readable feedback, no recorded file. The supporting set widens the picture rather than gating it: functional-notation equivalence and left-to-right precedence prepare you to read community code without surprises, arrays, conditionals and nesting preview the next modules, and the historical atoms explain why this one platform anchors so much of live coding.
Atoms in this module
Required — these gate the capstone
Supporting — enrichment, not gating
Part of curricula
- Live Coder — zero to performing live-coded music — Generative Systems & the SuperCollider Stack required
Unlocks — modules that require this one