Stop/Start for instant pattern change

I found a way to have direct jump, with very complex midi processing. I wouldn’t use it myself!

SPP messages with midi controller? - #22 by sezare56

Direct Jump with SPP, pattern changes made when receiving midi notes :

1 Like

Thanks, I really appreciate you sharing!

I’m generally sending midi from my computer so complex midi processing is a little easier but I guess it ultimately comes down to how smoothly / consistently it works. Seems to work great in the video you shared

Worked like a charm. I had something to improve, I don’t remember exactly. I don’t have the Event Processor script anymore.

Not sure if it can be easier, but possible for sure. The thing is was sending different midi messages from an OT midi track to tell where to jump in the Arranger to the midi processor. And you have to understand how SPP works (1/16th step values), find a correspondance with patterns.

SPP is a midi command meant to be send in stop, intentional by design of MIDI 1.0 specs.
Elektron boxes have ever since their introduction made SPP changes felt different than intented as the boxes keep sequencing in sync and therefor make the impression as if instant changes are standard.

The actual proper way is either really stopping/restart sequencer with assignment of the next SPP beforehand or wait for the sequencer to switch. Which also says that “Chain-Behavior” is the official way to switch chain faster than a full pattern (16steps). A switch in only 2/16 STEP is as instant as it can be, depending on the general pattern speed (1x, 2x) on top of that definition. More logic would be switching in 4steps of 16 because you can not end up in 2 step shifted bar playing. Even more obvious is that the OT Arranger has the shortest pattern cycle as defined of 2 Steps. You can also not make shorter Sequences by pattern length, also intentional. So forcing switch by sending Spp+stop/pause/play/restart sequence is undefined behaviour.
This approach has the benefit that you can define what is allowed to switch “instant” and what shall end its sequence before doing so.

Technically it is no big deal because the OT has 2 global Slot lists (flex+buffers and static) which do not change at runtime, all banks of a project assign their samples from this two lists.

ps: sending a stop msg in a midi stream usually triggers ALL-NOTE-OFF on most modern synths.
ps2: ableton sends ALL-NOTE-OFF after stop by default on all open midi devices.