I’ve discovered that my 1010music Bluebox doesn’t respond well to bulk MIDI data dumps. It appears to recognise a certain number of them, then ignore the rest. Changing the MS time in the settings doesn’t help.
I’m wondering if it’s possible to create a Lua function to send all current controller values but at a forced interval. Basically ‘send current’ but baked into the preset as a button and associated Lua script. Maybe this will solve my problem!
Any tips to get me started would be gratefully received!
What kind of MIDI bulk dumps are you talking about? The regular definition of a ‘large MIDI bulk dump’ is one single Sysex message with a lot of bytes in the payload. So, in your case, it’s sysex? One message? How many bytes?
Sorry, I’m using the wrong terminology. It’s not sysex, it’s just a lot of MIDI CC sent at once. Not sure about byte size but it’s up to 160 separate messages.
I’ve done tests and the Bluebox responds up to a certain number of messages then seems to ignore the rest. I’m pretty sure if I could force an interval between each message being sent it would work. I know there’s an option to set this via the E1 app but it makes no difference in this case.
Basically the thinking of a button in my preset that gets all the control values and sends them at specified MS intervals.
I understood. Under what circumstances does your preset send a lot of MIDI CC changes at once ? What was the maximum setting you tried with ms when you decided that it did not help?
Can you send a link to your preset as well?
It’s when the preset loads or I tap ‘Send Current’, then it sends all the current values (presumably). I tried with various settings up to the full 1000ms.
It’s a preset for a mixer, so snapshots are really useful, hence why I want to be able to rely on the bulk MIDI send.
random thought – didn’t some one (or some ones) post preset examples of the Electra One generating LFOs?
Since LFOs are time-based and are sending out MIDI CC info, maybe you can use the core ideas in there to generate your blocks of MIDI CCs with consistent delays…
Basically think of it as “send a block of CC data every LFO cycle” or something like that.
Note that in a lot of the older gear I’ve worked on, the MIDI docs often mention a need of 10 to 20 ms between large blocks of data to give the CPU time to process it.
The BlueBox device is newer, but no idea what kind of processor and clock is in it.
That’s a good idea for a starting point, thanks. I don’t know the Bluebox tech specs either but it seems logical that with a big enough delay it will behave with long lists of incoming MIDI.
I’m not sure my E1 is actually delaying anything when I tweak that setting in the preset. 1000ms (the max setting) is a second which would mean it would take well over a minute to send everything in my list, but it’s basically instantaneous. Unless I’m misunderstanding what that setting does.
The way that the Electra One handles MIDI is interesting. The actual MIDI transmission/reception appears to take place in a separate process, so things like the delay(milliseconds) call doesn’t impact the MIDI transmission the way you might think. @martin can do into the gory details if necessary.
I know that when I’m trying to indicate to the user there’s a bulk transmission being received, it works as expected using the timer.onTick() … to a degree. Once the transmission is received, the Electra One acts like it’s done even though it is still processing the data in the background and feeding the resulting sysexBlock to the Lua code I use to parse things.
I’m not in my studio, so just looking ‘theoretically’ at the preset:
Suggestion: functions like volSlider and panSlider are actually behaving as formatters: add them rather as a Formatter to each control, not as a Function.
Another suggestion : I see you use two channels, but both are named Bluebox. Better to give them distinct names, for instance Bluebox1 and Bluebox2
Page 7 raises my eyebrows; there are CC functions in there with numbers 122 to 127. But these are numbers reserved for very specific predefined MIDI purposes. Are you sure the Device has given them those numbers as fixed assignment ? Because that behaviour is outside the MIDI agreements, and any other device receiving those, will starting doing unexpected things.
Hey! Thanks for the thoughts. I’ll investigate the formatter/function thing. I realise it’s a preset that’s very specific to my particular setup so it’s kind of quirky. In terms of the layout and CC numbers, etc, it’s all working as I need it to (Bluebox doesn’t follow any of the defined CC functions). There’s no doubt room for refinements and it’s a work in progress, but the top of my to-do list is the load/send current MIDI dump issue.
Hi, I just checked your preset in my studio, and from the send perspective, I believe your preset to be allright. And indeed it does not respond to the ms setting to make it slow down. According to me that’s a bug, and you should report it as such. I can’t think of an easy way to circumvent it. You might think about changing all controls to virtual controls, but then you’d have to build a function around midi.onControlChange for processing incoming MIDI messages, and a function around parameterMap.onChange for processing control changes, ensuring the second one is not invoked by incoming changes from the first one.
And in the second one, you’d have to built in a timer that only prevent one midi send to be executed per tick you define.