I was wondering how Ctrlr buffers MIDI SysEx messages that can be processed from
“Called when a panel receives a midi message”.
I have noticed that, in my Korg DS-8 and 707 panels, reading the patchdump data from the synth sometimes works perfectly and sometimes it doesn’t.
How are the incoming MIDI SysEx data buffered? How can I clean the MIDI SysEx buffer before requesting a SysEx dump, to get a cleaner and more reliable SysEx dump? How can I read and filter SysEx dumps that are constructed from more than one 0xf0…0xf7 SysEx blocks?
I have also much trouble handling a bigger bankdump in my panel. It seems Ctrlr uses a sysex messagebuffer with a size of 256 bytes. (That’s what I see in the Midi Monitor tool) Everytime I try to catch a bankdump ( for my DS8 this is 7550 bytes ) only +/- 380 bytes are read by my Ctrlr lua code.
Is there a way to increase the size of this Midi SysEx input buffer?
Also: I am trying to send a 7550 bytes DataBlock via MIDI to my synth. It fails, where the smaller single patchdumps are functioning correctly.
I guess what I need here is a way to slow down my MIDI SysEx dump and/or to split it in smaller packages with small time intervals between them?
Any help or suggestions?
(See my latest Korg DS-8 panel version 20150223b in the download section if you want to see the lua code I’m currently using)