hi,
i made an abstraction [sysexout] ;) - but i dont have hardware here to test it. so please do. g.
Martin Peach:
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
240 and 247 are in the wrong order here according to the previous messages ...
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
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
#N canvas 749 434 450 285 10; #X obj 14 -75 inlet; #N canvas 0 0 450 300 list-drip 0; #X obj 73 94 t a a; #X obj 73 251 spigot; #X obj 112 159 bang; #X obj 112 178 1; #X obj 233 159 route bang; #X obj 193 160 bang; #X obj 193 179 0; #X obj 112 124 list split 2; #X obj 242 389 list split; #X obj 309 338 list length; #X obj 309 360 >> 1; #X obj 73 270 t a a a a; #X obj 73 456 list split; #X obj 140 408 list length; #X obj 140 433 >> 1; #X obj 41 29 inlet; #X obj 300 185 outlet; #X text 83 29 Copyright 2009 by Mathieu Bouchard; #X obj 41 63 t b a; #X obj 475 129 outlet; #X text 530 131 signal end of list; #X text 391 33 made compatible with [list-drip]: fbar 2009; #X connect 0 0 1 0; #X connect 0 1 7 0; #X connect 1 0 11 0; #X connect 2 0 3 0; #X connect 3 0 1 1; #X connect 4 1 16 0; #X connect 5 0 6 0; #X connect 6 0 1 1; #X connect 7 0 2 0; #X connect 7 2 4 0; #X connect 7 2 5 0; #X connect 8 0 0 0; #X connect 9 0 10 0; #X connect 10 0 8 1; #X connect 11 0 12 0; #X connect 11 1 13 0; #X connect 11 2 8 0; #X connect 11 3 9 0; #X connect 12 1 0 0; #X connect 13 0 14 0; #X connect 14 0 12 1; #X connect 15 0 18 0; #X connect 18 0 19 0; #X connect 18 1 0 0; #X restore 14 11 pd list-drip; #X obj 14 -32 t a b b; #X msg 76 81 add2 $1; #X msg 14 81 addcomma; #X obj 14 54 t b f; #X msg 293 61 addcomma; #X obj 83 35 t b b; #X obj 14 183 midiout; #X msg 178 126 add2 247; #X msg 364 61 set 240; #X obj 394 -75 inlet; #X msg 14 150; #X text 268 179 by Georg Werner 2010; #X connect 0 0 2 0; #X connect 1 0 5 0; #X connect 1 1 7 0; #X connect 2 0 1 0; #X connect 2 1 6 0; #X connect 2 2 10 0; #X connect 3 0 12 0; #X connect 4 0 12 0; #X connect 5 0 4 0; #X connect 5 1 3 0; #X connect 6 0 12 0; #X connect 7 0 12 0; #X connect 7 1 9 0; #X connect 9 0 12 0; #X connect 10 0 12 0; #X connect 11 0 8 1; #X connect 12 0 8 0;