.7 => dac.gain; Moog m => dac; SinOsc lfo => blackhole; (32.0/3)::second => lfo.period; SndBuf kick => dac; "kick.wav" => kick.read; kick.samples() => kick.pos; SndBuf snare => dac; "snare.wav" => snare.read; snare.samples() => snare.pos; .7 => snare.rate; SndBuf hihat => dac; "hihat.wav" => hihat.read; hihat.samples() => hihat.pos; .5 => hihat.rate; .6 => hihat.gain; SndBuf open => dac; "hihat-open.wav" => open.read; open.samples() => open.pos; .75 => open.rate; .7 => open.gain; 36 => int root; 5 => int foo; 3 => int bar; -1 => int step; .1 => m.filterSweepRate; 4 => m.vibratoFreq; .5 => m.vibratoGain; .4 => m.filterQ; 1.3 => m.gain; fun void drums() { while(1) { ++step% 16 => step; if (!step) .5 => kick.rate; else 1 => kick.rate; if (!(step%4) || step == 14) 0 => kick.pos; if (!(step%3)) 0 => open.pos; else if (step%2) 0 => hihat.pos; if (step%4 == 2) 0 => snare.pos; .124::second => now; } } spork ~ drums(); while(1) { (foo << 2) % 17 => foo; root + (((foo | foo++) ^ foo++) & foo++) => Std.mtof => m.freq; .4 + (lfo.last() * .15) => m.filterQ; if (step%3) .8 => m.noteOn; .25::second => now; 1 => m.noteOff; .4 => m.afterTouch; .25::second => now; (m.filterSweepRate() * 1.25) % 1 => m.filterSweepRate; ((bar ^ ++bar ) % 21) => bar => m.vibratoFreq; }