//Number 11 //Chuck a day 2009 //by Scott Hewitt //www.ablelemon.co.uk/chuckaday //main called function function void drum (dur beat, int max, float dec){ Shakers s => dac; Std.rand2(0, 128) => s.objects; dec => s.decay; <<< s.objects() >>>; for (0 => int i; i < max; i++){ 1 => s.noteOn; beat => now; 0 => s.noteOff; <<< me.id() >>>; } } 0.5 => float decc; 500::ms => dur gap; 5 => int hits; spork ~ drum(gap, hits, decc); gap * hits => now; 400::ms => gap; 5 => hits; spork ~ drum(gap, hits, decc); spork ~ drum(500::ms, 24, decc); gap * hits => now; 300::ms => gap; 5 => hits; spork ~ drum(gap, hits, decc); gap * hits => now; 200::ms => gap; 10 => hits; spork ~ drum(gap, hits, decc); gap * hits => now; 100::ms => gap; 10 => hits; spork ~ drum(gap, hits, decc); 1000::ms => now; 0.6 => decc; 1764::ms => gap; 10 => hits; spork ~ drum(gap, hits, decc); spork ~ drum(0.5 * gap, hits, decc); spork ~ drum(0.7 * gap, hits, 0.4); 500::ms => gap; 10 => hits; spork ~ drum(gap, hits, decc); gap * hits => now; 0.7 => decc; 400::ms => gap; spork ~ drum(gap, hits, decc); gap * hits => now; 300::ms => gap; spork ~ drum(gap, hits, decc); gap * hits => now; 0.8 => decc; 200::ms => gap; spork ~ drum(gap, hits, decc); gap * hits => now; 5000::ms => now;