Yes, why not just send a list though?
It seems that in WinXP [midiout] sends 247(start sysex) followed by 240(end sysex), the intervening message doesn't get transmitted. Also if the message contains numbers > 127 then more bytes get transmitted, not good.
Also as lists seem to be easier to generate than comma separated messages, and a list already has its buffer allocated, there is no need to reserve 1000 or so bytes just in case. Maybe someone should add a list method to [midiout]?
Maybe rename it to [sysexout] and skip the need to put 247 and 240 in every message...
Martin
cyrille henry wrote:
martin.peach@sympatico.ca a écrit :
On linux with alsa midi, sysex output works this way:
bang | [t b b b b] | | | | [247( [123( [88( [240( |_____|_____|____| | | [midiout]
this is the same than : [240, 88, 123, 247( (with coma)
c
That is, banging all the values separately into [midiout] during one message time slot. (Note the message is written backwards since the first byte to transmit is the sysex status byte, 240) Banging them in one at a time manually only sends one byte, banging them in as a list stops [midiout] from working until you reopen the patch.
Martin
Pd-dev mailing list Pd-dev@iem.at http://lists.puredata.info/listinfo/pd-dev