Thanks a lot for the answer. I've just tried put the data3 to 0 and it still crash. In fact, this error occurs also for values of data1 >= 192 (I tried 193, 194, etc.)
Yeah, but that's logical. "192" means "now I'm going to send a program change which refers to the first MIDI channel", 193 means the same for the second channel and so on up to 207. It's not only strange, but also a bit annoying for my purpose ... ;-) Yes, quite so. It should be less strange and less annoying :-). Seems to be linked to linux version ? Confirmed. The code below is what I posted to the list to demonstrate program change. This works on my Win laptop and on this machine (Demudi, stable) I get the same error that you did. (you can also insert "0 => msg.data3;" for the same results) ----------------- MidiOut mout; MidiMsg msg; mout.open(0); //refers to a program change on the first channel //add to it for following channels 192 => msg.data1; //refers to the program to be loaded 4 => msg.data2; mout.send(msg); --------------- So, erm, the Linux version lacks the undocumented feature that the Windows version has. :-) Sorry, Kas.