Home › Forums › General › Programming › Missing data in dump request
- This topic has 12 replies, 3 voices, and was last updated 11 years, 7 months ago by atom.
-
AuthorPosts
-
July 23, 2012 at 6:27 pm #664
When I do a patch dump request, the synth send the patch divided in 5 sysex blocks. The issue I’m having is that the in first dump request I do, the MidiMessageReceived method is missing the first block of data. The missing data is received as I see it in the midi monitor, but the lua script don’t see it.
The next dump requests behave normally and don’t miss any data. But if I enter edit mode or make any change to a lua method (this is a bit random, sometimes happens and sometimes not) again the next dump request miss the first block of data.
Any idea what’s going on?
July 23, 2012 at 6:41 pm #4589If the sysex is fragmented it might be something with JUCE library, i myself don’t process the sysex data at all i just pass the memory provided by the JUCE Library and pass that to LUA. It’s almost impossible for me to help you without the actual hardware, i can’t debug this in any way i can think of.
July 23, 2012 at 6:41 pm #4590"dasfaker":23s2eu10 wrote:When I do a patch dump request, the synth send the patch divided in 5 sysex blocks. The issue I’m having is that the in first dump request I do, the MidiMessageReceived method is missing the first block of data. The missing data is received as I see it in the midi monitor, but the lua script don’t see it.Any idea what’s going on?[/quote:23s2eu10]
First thing I’d check is if you’re defining the range of what you want Lua to grab.. ie:
[code:23s2eu10]programData = midiMessage:getLuaData():getRange(7,263)[/code:23s2eu10]Monstrum Media | Music, Sound & Software Design, Chicago / San Francisco listen
July 23, 2012 at 8:11 pm #4591"msepsis":lu36ppxx wrote:First thing I’d check is if you’re defining the range of what you want Lua to grab.. ie:
Code: Select all
programData = midiMessage:getLuaData():getRange(7,263)
[/quote:lu36ppxx]The problem is before that. The dump consists of one block of size 85 and other four blocks that are 140 bytes. The first thing I do is to check the size of the block received, and there is when the block of 85 bytes is not detected.
"atom":lu36ppxx wrote:If the sysex is fragmented it might be something with JUCE library, i myself don’t process the sysex data at all i just pass the memory provided by the JUCE Library and pass that to LUA. It’s almost impossible for me to help you without the actual hardware, i can’t debug this in any way i can think of.[/quote:lu36ppxx]You can send a .syx file thru midiox to simulate a dump from the synth, it happens this way too.
July 23, 2012 at 8:28 pm #4592Well i found one nasty bug that might have been causing issues with that, test that with the latest nightly. also have a look at the bug tracker, i need your input one one issue.
July 24, 2012 at 5:47 pm #4593This seems to be solved, too
July 24, 2012 at 8:10 pm #4594The problem is back
July 24, 2012 at 8:15 pm #4595Heh i didn’t do anything so what happened ?
July 24, 2012 at 8:28 pm #4596As I told before the missing block issue was a bit random. I tested a little the new rev and it didn’t happened, but after a deeper test it has happened again. But now I know when it happens. When I switch from opening a patch from a .syx (not involving midiMessageReceived) and then I open a patch from the synth (via midiMessageReceived) the first block of data is missed by the midiMessageReceived method. The following dumps are processed fine until I open again a .syx file (fine) and the open a synth patch.
July 24, 2012 at 9:12 pm #4597The question is, if you enable MIDI INput monitoring do you see all the data or is the first block missing on the monitor too ?
July 24, 2012 at 9:36 pm #4598Yes, the midi data is shown in the midi monitor, all the five blocks. But the midiMessageReceived only see the last four blocks.
September 1, 2012 at 10:14 am #4599Well, this is still unsolved. I’ve seen reports by other users that say that they need to request the patch twice to receive the dump correctly.
After more testing, I can discard the .syx thing I told before.
The first dump request always miss the first block of data. When a patch is received in a single block, it is missed entirely. In my case, the dump has 5 blocks and it miss the first.
If I then do successive dump requests, one after another, no block is missing. But if I leave some time in which the panel doesn’t receive any data (a minute maybe), the next dump request will miss the first block.
And this is true for every message (sysex, cc..) received by the panel, as I’m testing it right now. If the panel is idle for a time, the first message received is ignored by the midiMessageReceived method (but visible in the midi monitor)
September 1, 2012 at 11:09 am #4600Ok i’ll re-test this and focus on that, it’s very important we don’t miss anything. I’m about 70% done with the method Editor, i’ll get back to this once i’m done. If there is no response from me or in the Changelog please bump this topic.
-
AuthorPosts
- The forum ‘Programming’ is closed to new topics and replies.