This has been hurting my head for a long time also, I usually use my Squarp Pyramid as to dish out program changes and usually have a dedicated track for doing this, I leave it muted during pattern one for example and unmute it just before moving to pattern two so it sends out the program change. I have to be pretty “on it” to execute this and it means I’m so focussed that I can’t be tweaking other things live during these moments.
I’m now working on a new set and thought I’d use Octatrack, Digitone and Digitakt together, OT as master. And yes, what a headache with the late changes!!!
I’ve tried allsorts of ways of doing this and on reading your suggestion of changing the M.LEN to 64 and CH.LEN as 16, everything changes bang on time and not a bar late. This completely throws all my lovely poly rhythms out which is a huge pain as I use them a lot!
I tried setting the M.LEN to 1024 and it doesn’t work, I’d usually in my other setup have M.LEN as INF. So why oh why will M.LEN 64 be the magic number? No idea here!
Another strange strange thing is that if my patterns are all on for example A02 and I stop the machines playing and change OT to pattern A01. DT and DN are still on A02, and if I play from their own play buttons, that pattern continues. But, if I then press play on OT with A01 active, everything instantly jumps to A01 with no prior cue.
I swear this is a bug that has been swept aside, or perhaps it is so weird, it’s hard to describe to Electron.
Try it out and see if you get the same, sure there’s no reason M.LEN has to be 64 for instant changes, my understanding is CH.LEN is the length that occurs before a "CH"ange and M.LEN is the Master LENgth of the pattern, ie, with M.LEN as 64, everything is in sync, but still changes according to CH.LEN.
Does that all make sense?