Rotate array with Dswitch1 + Demand sequence of wrapping boundaries

this is way beyond my math / programming knowledge. In the meantime you could use maxOverlap = currentEventDuration + (numChannels - 1) which ensures the phase wont get distorted with a bit of overlap capabilities but you cant use the full possible overlap available with numChannels if currentEventDuration > 1.

This shows the limitations of the round robin method. I guess the “overdubbing the future” approach from this thread could solve that. I will try to come up with a single sample writing and reading solution in gen~ where you could plugin an arbitrary signal for multichannel expansion and export that to SC. But this will take some time.