| It's not necessarily trivial problem. If you're doing it on a grid (ala step sequencer), you can do it with a task/routine/etc that stops at every grid point and checks to see if there's an event there - if it's only a few grid points a second, no big deal. You're right about patterns starting over - the internal properties of patterns don't seem to be intended to be modified during playback. Even in cases where it looks like you're changing a pattern, what's usually happening is you're just swapping a new one in (hence the restarting). If you want arbitrary time precision and the ability to add/subtract/move events on the fly, you've pretty much got to build your own scheduler / event list. I've got some code that does this - haven't touched it in a while, but it's fairly well tested and fast even for lots of events. And - the playback speed is variable, which is nice. I can provide this if you're interested. - Scott On Sep 22, 2010, at 9:28 AM, Andrea Valle wrote:
|