from there, it makes it to line 274 and stalls as stated previously. Is line 253 = "MidiBuffer midiBuffer = null " Buffers = 8. I don't run Maple on my win7 圆4 system because it has a controller, but am running it on the XP system because it doesn't, and I needed some way to test. If we can't get to the bottom of this I will add some logging so the error codes are captured and saved. Halting on an exception would have made that impossible. I decided against it in the end as it's important that everything gets disposed while live and not during a later GC. I did consider creating a custom MidiException class and throwing an instance when a function returned non-zero. Bypassing it may get the program to the end but could eventually cause RAM access problems without a reboot, BSOD or just an entire system hang/freeze. It's very important that midiInReset is called so that the buffers can be returned by Windows, unprepared and freed - all this while the handle is still valid. If so, refactor and call the two functions separately and let me know the return result(s). Line 288: Does it get hit? If the above succeeded then it's possible that midiInPrepareHeader or midiInAddBuffer are failing on lines 285 and 286.If so, refactor that line so you can capture the result and let me know what the value is. If not, the call to midiInUnprepareHeader on line 274 may be failing. Line 276: Does it get hit? I'm suspecting not from what you describe.This should get hit 9 times - the first time SysEx is received, then once for each of the 8 buffers when midiInReset is called. Line 253 and check the value of wMsg it should be 964.Perhaps there is something going wrong for you in Callback? The buffers are returned to there which will reduce the count to 7 when the first SysEx is received, but should be re-added in the block from line 280. Every time one is used, another is assigned to take it's place unless the input is closing or resetting, so the first time line 454 is hit, there should be 8 buffers, even if you have received data. There are 8 buffers assigned when Record is called. There seems to be something a little odd. I have to suspect that there is a problem with their driver as it works fine with all my MidiMan and MAudio hardware, as well as with MidiYoke. I can't test with Maple Virtual Midi Cable as it won't run on Win 7 圆4.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |