Re: Patch Dump vbscript by Fozzie : questions

Home Forums General Panels, Components, Macros Patch Dump vbscript by Fozzie : questions Re: Patch Dump vbscript by Fozzie : questions

#2856
fozzie
Participant
  • Topics: 1
  • Replies: 24
  • Total: 25

Fozzie is back <img loading=” title=”Smile” />

You are right on the idea of how I convert the patch dump sysex string into CC messages (as the first part in the script). This is indeed the easy part, but obviously only works for parameters that have an assigned CC number. Luckily, the CC and sysex implementation of the MWXT is quite consistent, therefore it is possible to make these conversions. SInce the first 7 bytes in the sysex patch dump are not related to parameter values (but to manufacturer ID, model number, etc), the index begins at the 8th byte in the patch dump, takes its value and puts it in the corresponding CC message as the value byte. The real work is in getting the order of the bytes in the patch dump sysex message translated correctly into the correct CC message. I’ll have a look at the midi implementation of the blofeld later, I don’t know at this moment whether it is set up in a similar way.

After dealing with all parameters that have a CC assigned, the only way to get the other parameters to update correctly on the MWXT is to make short sysex parameter change messages. In my script, I use the same system as for the CC messages, only now it is a bit more complex since the sysex string is a 10 byte message. Since there are more than 127 parameters assigned in the MWXT sysex implementation, there is a byte in the sysex string that is 0 for parameters 0-127 and 1 for parameters 128-255. To accomodate for this, I split the sysex script part into two parts. To make the complete sysex strings, the trick was to get the index bytes sorted that ‘select’ the parameter and to couple it to the correct value byte from the patch dump (similar to the CC part to combine the right value to the right CC#).

That is all the script does, it takes all the parameter value bytes that are in the patch dump and puts them into the correct CC messages and sysex parameter changes messages. There is a 10 millisecond delay between each message to prevent a midi overflow (mox.sleep (10)), it cycles through all cc’s and sysex parameter changes in 3 for-to loops.
Hope this helps, let me know if you have more questions. I’ll have a look at the blofeld midi implementation to see if a similar setup is possible.

Ctrlr