Jerome wrote: > > That's really simply (perhaps too=3D3D3F) > > this version use write/read for sending/receiving midi data to > > hardware. > > that work, > > > > you can see result here : http://jerome.leveque.free.fr/ > > Midi=3D3D5FDrivers.zip > Oh, by the way, you should like to move the open() call in the MidiPortConsumer constructor, with only O=5FWR flag, and close() it in destructor. Same thing for MidiPortProducer but with O=5FRD flag. It will works only if all /dev/midi/* devices support to be open()'d multiple time. The mpu401 kernel module should, I guess. You will need to drop the O=5FEXCL flag however, which allow a third app to mess with *your* /dev/midi/*, which is not great. Otherwise, you will have to keep in memory a list of each /dev/midi/* opened, along his MidiPortProducer and MidiPortConsumer instances so that the midi=5Fserver can close() the device after having called Release() on both instances working on with it. In this case, the usage of O=5FEXCL flag is higly recommanded. -Philippe -- Fortune Cookie Says: Grelb's Reminder: Eighty percent of all people consider themselves to be above average drivers.