Martijn wrote: > One thing I never quite understood is the 'atomic' flag. IIRC the MIDI > message callbacks are only called for data with atomic == 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 is 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 this: 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 the SysEx manually. Not very convenient, and as you say, most applications will probably ignore this. -Matthijs