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.