uClock icon indicating copy to clipboard operation
uClock copied to clipboard

Add track-based callback with shuffle per track

Open grayxr opened this issue 1 year ago • 2 comments

I created an issue with a feature request for essentially doing a track-based callback and shuffle while still tethered to the main clock, so as not to generate multiple instances of uClock and having to synchronize them.

This allows track-based sequencers which use uClock to have track-based control over step counting and shuffle settings. This enables things like applying microtiming/shuffle on steps for individual tracks, rather than microtiming/shuffle on steps for a pattern as a whole.

grayxr avatar Sep 08 '24 21:09 grayxr

Another thing that would be nice is the ability for any negative shuffle amount on the first step to be triggered on the next bar of the pattern. So like, if the clock is running, and if the first step has a negative shuffle, trigger it the next time around.

I have noticed an issue sometimes when placing a negative shuffle on a step next to an adjacent step that has a positive shuffle, it seems to throw the timing off entirely. I can probably record an example at some point. Not really sure I can find the issue in the current code.

grayxr avatar Sep 09 '24 01:09 grayxr

Ok, I think I fixed the issues mentioned in my comment above. I will apply it to the standard non-track-based API as well.

grayxr avatar Sep 10 '24 02:09 grayxr

Hi @grayxr ,

Thank you for this contribution! i will try to review and make some tests asap on this PR.

midilab avatar Nov 16 '24 08:11 midilab

Hi @grayxr ,

I saw another branch with multitrack shuffle implementation. Is there any significant difference that's worth integrating into this one for a later PR merge?

Also, could you please change the target merge repository from midilab:main to midilab:develop? Don't mind about the conflicts; I will resolve them.

My idea is to merge your multitrack shuffle code with the original global shuffle API for easier and cleaner setup.

midilab avatar Jul 27 '25 08:07 midilab

multitrack shuffle merged with part of your code to a one integrated API for single and multitrack at develop branch. Soon to be merged into main for release.

midilab avatar Sep 25 '25 07:09 midilab