I'm developing a AVStreaming driver linked with ks.sys under Windows XP. The driver has a Filter with a Midi source pin. I get the data from the hardware as a byte stream without limits. I indicate the midi data using the data structure KSMUSICFORMAT as a header for each buffer. It seems that Windows requires a complete Midi message in each buffer. So I have implemented a Midi parser which knows the size of each Midi sample and assembles the midi messages. Midi allows a special mode called "running mode", where the device sends a command e.g. 0x90 (note on) and data for several notes with out repeating the command. Now my question: Is it correct that the parser translate the following message
0x90 0x34 0x45 0x35 0x45 0x36 0x45
Buffer 1: 0x90 0x34 0x45 (note on, note 0x34, after touch 0x45)
Buffer 2: 0x90 0x35 0x45
Buffer 3: 0x90 0x36 0x45
The driver changes the data stream in this case.
If the parser works like this: Buffer 1: 0x90 0x34 0x45 (note on, note 0x34, after touch 0x45) Buffer 2: 0x35 0x45 Buffer 3: 0x36 0x45 programs like CuBase does not get the notes 0x35 and 0x36.
WDMAUDIODEV addresses: Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx Subscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe Unsubscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe Moderator: mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx
URL to WDMAUDIODEV page: http://www.wdmaudiodev.de/