- Topics: 11
- Replies: 66
- Total: 77
You need to read the manual for the device, and find the section for Program Dumps or Bulk Dumps or something similar, and see how the data is structured there.[/quote:2md8iofx]
mate, could you please clarify what values should I use for that ranges?
programData = midiMessage:getLuaData():getRange(Value01,Value02)
programNumber = midiMessage:getLuaData():getRange(Value03,Value04)[/code:2md8iofx]
As I’ve already posted text from manual says
In the Program Dump Messages, the Data Bytes contain the actual Program settings.
â€¢ The patch data is viewed as a bit stream where the different parameters only use as many bits as necessary for their actual format. All parameters are oriented with the most significant bit first. An 8-bit checksum is calculated over the entire data block and stored as the last 8 bits of the file. The checksum is calculated by adding all data Bytes together. Since a MIDI SysEx data Byte can only contain 7 bits, the bit stream is 8 to 7 bit converted to fit the MIDI format.
â€¢ A complete Patch (Program) Dump, including SysEx header and data, is transmitted in 261 Bytes. See page 156. (There is a big table which shows controls like OSC, Lfo and etc – Link to PDF https://dl.dropbox.com/u/4202790/docs/C … l_v1.2.pdf) [/quote:2md8iofx]
So as far as I understand I should add SysEx size 261 into code like this. am i right?
[code:2md8iofx] s = midiMessage:getSize()
if s == 261 then
if dump_send ~= nil then
if dump_send == 1 then
— console("received program data")
PatchDataLoaded = midiMessage:getLuaData()
dump_send = 0
Now for values Program Data and Patch Data – I dunnot what values show be used there.