IMHO this happens because the base implementation is buggy.<br>Sending sysex has to happen as a stream, not byte per byte. So the midiout object would have to accept a list instead of a float.<br>The 1ms delay might be what korg needs to understand a sloopy message.<br>
For information: What I try to do is send MMC sysex messages for transport control  (PLAY/STOP/REC/etc).<br>Sending byte per byte would work OK with ardour but wrong with qtractor. This might be because ardour is somewhat more resilient in the interpretation of the message (just as your korg synth works with 1ms delay).<br>
Fixing the base implementation to accept list instead of float should work. Unfortunately I cannot test on OSX...<br><br><div class="gmail_quote">On 27 October 2010 10:37, Paulo Casaes <span dir="ltr">&lt;<a href="mailto:irmaosaturno@gmail.com">irmaosaturno@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Just to chime in, I was able to get midiout to send sysex data to a micro korg using midiout on Os X. What i discovered was that I had to put a 1ms delay between every byte or message being sent to midiout.<br>

<br>
p<div><div></div><div class="h5"><br>
<br>
On 27/10/2010 09:36, Martin Peach wrote:<br>
</div></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div><div></div><div class="h5">
On 2010-10-27 06:10, Enrique Vetere wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Hi.<br>
I&#39;ve been trying to use midiout but it does not work when sending sysex<br>
because it sends 1 byte at a time.<br>
Chatting with matju on #irc where he showed me the source code, I think<br>
the problem is that midiout uses ultimately sys_alsa_putmidibyte to send<br>
<br>
snd_seq_ev_set_sysex(&amp;ev,1,&amp;data)<br>
<br>
one byte at a time<br>
<br>
So we thought about writing an external that uses alsa-midi functions<br>
and he guided me the first steps.<br>
Now, the problem is that this external would need access to structure<br>
midi_handle, and variables alsa_midioutfd and alsa_nmidiout which are<br>
defined in s_midi_alsa.c (because creating and opening ALSA ports is<br>
handled there). The functions provided by s_midi are not good enough as<br>
I need to<br>
<br>
snd_seq_ev_set_sysex(&amp;ev, data_array_size,data_array)<br>
<br>
So my question is: is it possible to write such external? or I need to<br>
patch the sources?<br>
</blockquote>
<br>
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&#39;s sysex implementation didn&#39;t work properly on WIN32 either last time I checked.<br>

<br>
Martin<br>
<br></div></div>
_______________________________________________<br>
Pd-dev mailing list<br>
<a href="mailto:Pd-dev@iem.at" target="_blank">Pd-dev@iem.at</a><br>
<a href="http://lists.puredata.info/listinfo/pd-dev" target="_blank">http://lists.puredata.info/listinfo/pd-dev</a><br>
</blockquote>
<br>
<br>
_______________________________________________<br>
Pd-dev mailing list<br>
<a href="mailto:Pd-dev@iem.at" target="_blank">Pd-dev@iem.at</a><br>
<a href="http://lists.puredata.info/listinfo/pd-dev" target="_blank">http://lists.puredata.info/listinfo/pd-dev</a><br>
</blockquote></div><br>