Yeah, thereās some subtle corner cases on this.
Obviously , the main reason it āflawlesslyā works between Elektron devices is, as a single brand they explicitly test it, and of course know ( internally) how much lead time they require.
The thing is different synths, need more or less time to switch presets ( some are almost instant, some are pretty slow)
Then we have to look at whatās possible.
If the transport is stopped, then the sequencer can only send āearlyā if it is the master, if itās slaves to something else ā¦ by the time itās told to start - itās too late.
However, I guess the main use case is changing patterns during performanceā¦.
Here we have to bare in mind , the time marches on regardless.
So the if you have no sync, so immediate switching ā¦ the sequencer cannot send early. Itās too late already.
If you have sync on, eg 1 bar then IF you donāt switch patterns too close to that point ā¦ then it should work.
Eg letās say ( for illustrative purposes only , I know itās much less! ) it takes 1 second for a device to change patterns ā¦ then if you switch patterns 1/2 second , the sequencer cannot send really enough ā¦ since itās going to sync on the bar still.
In practice , If you approach Squarp, I suspect they could do something, within these constraints ( basically itāll get sent early IF pattern change gets āqueuedā)
I guess that early time will also have to be per track, since as above , it could be very different depending on synth/sequencer your targeting.
Definitely worth raising a feature request for and talking through with them , as implications go beyond Elektron devices.
as an aside, and not entirely related , but I wonder if Squarp start supporting track latency ( offsets), then this might be a good opportunity to look at this to.