home/ atoms/ sc-fork-sequencing

fork schedules time-ordered Pbind launches using .wait calls inside a Routine running on a TempoClock

The {...}.fork construct runs a function in a Routine on a clock, pausing at each .wait(beats) call. This is SC’s idiomatic tool for launching multiple Pbinds sequentially with precise timing delays — for example, starting a melody 2 beats after the kick pattern. Unlike Pbind’s internal sequencing, fork operates at the ‘director’ level: it schedules when each score is handed to a player. The fork block takes an optional clock argument so all timed waits align to the same TempoClock.

Examples

t = TempoClock(76/60);
{
  Pbind(\note, Pseq([60,62,64],4), \dur,0.25).play(t);
  2.wait;
  Pbind(\note, Pseq([48,50,52],4), \dur,0.25).play(t);
}.fork(t);

Assessment

Write a fork block that starts a hi-hat pattern immediately, adds a bass line 1 beat later, and adds a melody 4 beats after the bass. All share one TempoClock at 120 BPM.

“youcanuse{ }.fork: 1// Basic fork example. Watch Post window:”
corpus · a-gentle-introduction-to-supercollider-bruno-ruviaro · chunk 5