Poor's mention that he was working on a metronome reminded me that I still hadn't published mine. Then I dug it up and realized that I never published it because it was still too crappy. But it turns out the Timeout code I wrote for that thread was just what it needed! So now it's about done, save a nasty sample-rounding issue. Because of Kassen's remark about me posting things to my site but not the mailing list, I'm linking it here: http://alltom.com/pages/cyclone It's a metronome that lets you change its tempo on the fly, using it for timing like // wake me up at BEAT X cyc.at(X) => now; or // wake me up X BEATS from now cyc.wait(X) => now; although the second one is not recommended for situations when there are multiple shreds because of the sample-rounding bug I mentioned before. ChucK's timing accuracy for raising events (nearest sample) isn't good enough, I think, though I haven't actually narrowed the problem down yet... I hope it's useful nonetheless! -- Tom Lieber http://AllTom.com/