I’m strugling with this patch a little. The main things at the moment are.
- I need a global clock. If I reverse/slow/scrub the playback, I need when I release the button for the playback to snap back to where it would have been if i hadn’t reversed/slowed/scrubed it. This is important also because I’m going to have several different loops playing, so they will need to stay in time with each other.
- I need the line showing playback possition in the waveform~ object window to accurately represent where playback is. Currently I am multiplying the groove~ Loop Sync Output by a division of the msec length taken from the info~ object. I’m not sure if this is the best way. Also, I’m not sure how to get the number to be multiplied by to update itself when I import a sample.
If you want different loops to be in sample-accurate sync, you need to use a player object that let’s you set the playback position with an audio signal (like play~ for example).
You would then use [phasor~] or [sync~] as a master clock.
This question gets asked a _lot_, so there are already many helpful threads on the list.
About [waveform~]‘s playback position:
I don’t know bout the bpm units…but if you leave the unit in ms [line ms] (default) you only need to multiply groove’s sync out with the sample length in ms and you’ll be fine.