Re: Midi2 handling of SysEx data
"Matthijs Hollemans" <[email protected]> Sun, 1 Feb 2004 14:33:25 +0100
| Newsgroups | gmane.os.openbeos.midi |
|---|---|
| Organization | All Your Software |
| Message-ID | <02c601c3e8c7$f8950ec0$2101a8c0@sputnik> |
Martijn wrote: > One thing I never quite understood is the 'atomic' flag. IIRC the MIDI > message callbacks are only called for data with atomic =3D=3D true, as = you > are doing here also. For large SysEx messages it would make sense to > send them non-atomically, but this causes them to be ignored by most > (probably all) applications... Yes, BMidiLocalConsumer::Data() only calls the hook functions if atomic i= s true. If you want to send a non-atomic message, you have to override Data= () to process it yourself. There is no protocol for doing that, so it would only work within your own application, I suppose. If I had to guess for the reason there is an atomic flag, it would be thi= s: the Midi Kit doesn't allow SysEx messages to be interleaved by real-time messages. That is inherent to its design and very hard to fix. By sending the SysEx non-atomically you can fake this, but you have to reconstruct t= he SysEx manually. Not very convenient, and as you say, most applications wi= ll probably ignore this. -Matthijs