>Hi Jerome, > >> Test it and tell me if that work with your computer. > >I used Be's midi_server and libmidi2.so and started PatchBay. I also >used the VirtualMidi driver because I don't have a driver for my >soundcard. The PatchBay screen correctly shows the endpoints that >the midi_server makes, and the endpoints that your program makes. So >I hooked up a MidiKeyboard program and InternalMidi, and connected >them to the VirtualMidi buses. Then I started playing. But after a >few key presses, my whole system froze up. The midi_server was going >nuts, and kept on sending many many MIDI events to the endpoints. I >had to reset my computer to make it work again ;-) (I did not check >whether this also happens without your app.) I don't know this is the answer of your problem but VirtualMidi create device in /dev/midi/* or just create BMidiEndPoint, if it don't that won't work because our code send data to *file* that represent hardware EndPoint. But I will try to download VirtualMidi and see if that work with my computer. >I haven't studied the MIDI driver protocol enough to comment on your >code, but I do have a little suggestion about the thread. In the >MidiPortProducer constructor, you fill in a Poducer_Thread_Data >structure, and you pass that to spawn_thread. I understand why you >are doing this, but there is a much simpler solution. I suggest you >do it like this: That really a better idea I will made it. A+ Jerome