I agree it's a bug. So far I've done a simple c program that outputs the sysex correctly, so I would be able to patch. The thing is that if we keep midiout object we need to change it's interface (because it would have to accept a list instead of a float). So maybe better to create a new object sysexout?
PS: On the other hand I need some help building/configuring, I open another thread... On 27 October 2010 09:36, Martin Peach <[email protected]> wrote: > On 2010-10-27 06:10, Enrique Vetere wrote: > >> Hi. >> I've been trying to use midiout but it does not work when sending sysex >> because it sends 1 byte at a time. >> Chatting with matju on #irc where he showed me the source code, I think >> the problem is that midiout uses ultimately sys_alsa_putmidibyte to send >> >> snd_seq_ev_set_sysex(&ev,1,&data) >> >> one byte at a time >> >> So we thought about writing an external that uses alsa-midi functions >> and he guided me the first steps. >> Now, the problem is that this external would need access to structure >> midi_handle, and variables alsa_midioutfd and alsa_nmidiout which are >> defined in s_midi_alsa.c (because creating and opening ALSA ports is >> handled there). The functions provided by s_midi are not good enough as >> I need to >> >> snd_seq_ev_set_sysex(&ev, data_array_size,data_array) >> >> So my question is: is it possible to write such external? or I need to >> patch the sources? >> > > IMHO this is a bug, so you should patch the source, then submit the patch > to the tracker. Also it seems to bug differently on different OSs, only > linux uses alsa. Pd's sysex implementation didn't work properly on WIN32 > either last time I checked. > > Martin >
_______________________________________________ Pd-dev mailing list [email protected] http://lists.puredata.info/listinfo/pd-dev
