I’ve done some sysex parsing. You cannot just assume a byte position within the sysex dump. I’ve seen sysex messages where messages have different length thus a need to branch (have a logic) the parsing. If we were able to providee JSON/js file to Dan with a definition of a sysex preset dump (ONLY Single preset)
Here is how it could work (MDP Midi designer pro)
1. Make sure that js can be called from within APP if not then JSON is other option (like this http://will.thimbleby.net/script/)
2. Establish function prototypes (interfaces) that would ensure that MDP sends and gets EXPECTED structures: Example
function parsesysex (msg string,layoutcontrols)
sysex.log (‘send debugging message to a regular midi log')
// perse message here loops etc long execution will be punished
for each control in layoltcontrols
output.add(control.name,value)
set success so in the case of interruption MDP knows whether the message was parsed in full or partially
throw exception {
if error throw exception (parsing error, short message etc)
}
return output
}
3. MDP then parses the key/value function to the each control on layout
4. MDP throws an error to the log if there was problem with parsing
5. MDP interrupts the execution should the execution take more than 2-3 seconds
6. MDP can provide success message to log to say: “successfully set 34 values"
7. The source would be set in the type of the control
7b. this subControl could be executed from the Patch changer
The json/js file could be zipped so that it can be emailed as templates are sent.
8. MDP would know where to put this file
Let me know what do you think