t
38
MIDI is a serial protocol. This means that by design, you can’t send multiple messages at exactly the same time; they’ll always be sent one after the other
In most cases, this is not a huge issue, but it’s not ideal for the kind of tight step sequencing with “parameter locking” that Elektron wants to provide in its products. You don’t want the “NOTE ON” to be followed by a “CUTOFF TO 15” and only after that set the “RESONANCE TO 100” and only then the “PWM TO 32”. You want all of that to happen at (almost) exactly the same instant, especially if you throw in even more parameter changes.
Now, when you write a MIDI sequencer, it would make sense to use data structures that reflect the serial nature of the MIDI protocol. However, you’d probably use a different architecture and different data structures when you’re designing a step sequencer that’s going to have to support a huge number of parameter changes that need to be triggered at exactly the same time.
This is probably the design choice /mr refers to above.
Note that it’s not impossible to translate between these two models, but that does take additional development work, and it would take some care to get the best possible result (e.g. you need to send the parameter changes before the note on, but ideally a bit ahead on time so that the timing of the note on message is still tight, etc.)