// Listing 9.13 cowbell.ck plays only on last eighth note of measures, conducted by BPM // cowbell.ck // on the fly drumming with global BPM conducting SndBuf cow => dac; 0.3 => cow.gain; me.dir(-1)+"/audio/cowbell_01.wav" => cow.read; // make a conductor for our tempo // this is set and updated elsewhere BPM tempo; while (1) { // update our basic beat each measure tempo.eighthNote => dur eighth; // (1) Synchronizes on eighth notes. // play measure of eighths for (0 => int beat; beat < 8; beat++) { // (2) Measure is 8 total eighth notes. // but only play on the last 8th if (beat == 7) { // (3) Plays only on the last eighth note. 0 => cow.pos; } eighth => now; // (4) Advance time by eighth. } }