(disclaimer, I’m an amateur programmer, so fully expect this is pilot error)
So, my MKS-50 sends 3 different sysex dumps when you change a Patch on the unit. Annoyingly it doesn’t respond to any request sysex, so this is the only way you can get a dump.
I’d like to be able to parse the patch names from two of the dumps using patch.onResponse, but I can’t seem to separate them because responseId always equals zero.
I did some simple code to test:
function patch.onResponse (device, responseId, sysexBlock)
local blockLength = sysexBlock:getLength()
print ("responseId = " … responseId)
print (“sysex message " … blockLength … " bytes long.”)
end
why do you use patch.onResponse instead of the response you can add under the 3 different dump requests? Surely the headers of these 3 responses are also different from on another? And the parsing will be much easier. I mean , I expect the SysEx responses of an MKS-50 to be rather straightforward, not like an XV5080 or a TG77
Sure I parse the patch names from the dumps the easy way but I want to display them on screen everytime a dump is received which I have to do in LUA, and I can’t tell the dumps apart there. Unless I’m missing something?
I have been rather busy recently. I will take a look at it tonight. Yes, the response Id should returned and it should be a unique ID identifying the sysex response message.