//Conducting with subdivisions using a global variable, //not a custom event class. Event e; dur thisBeatDur; spork ~conductor(); spork ~player1(); spork ~player2(); while(true) { 1::hour => now; } fun void conductor() { while (true) { Std.rand2f(.25,.5)::second => thisBeatDur; e.broadcast(); thisBeatDur => now; } } fun void player1() { Mandolin m => dac; while (true) { e => now; //play 2 notes within this beat 1 => m.noteOn; .5 * thisBeatDur => now; 1 => m.noteOn; } } fun void player2() { Mandolin m => dac; 500 => m.freq; while (true) { e => now; 1 => m.noteOn; } }