<div class="markdown_content"><hr/>
<p><strong> <a class="alink" href="https://sourceforge.net/p/pure-data/bugs/1272/">[bugs:#1272]</a> midiout not working correctly on ALSA</strong></p>
<p><strong>Status:</strong> open<br/>
<strong>Group:</strong> v0.47<br/>
<strong>Created:</strong> Sun Oct 16, 2016 05:17 PM UTC by Albert Graef<br/>
<strong>Last Updated:</strong> Sun Oct 16, 2016 05:17 PM UTC<br/>
<strong>Owner:</strong> Miller Puckette</p>
<p>This has been there forever, and affects all Linux systems when using ALSA MIDI devices.</p>
<p>sys_alsa_putmidibyte() in s_midi_alsa.c outputs individual bytes instead of complete MIDI messages. You can clearly see this, e.g., when sending a sysex message from Pd to an ALSA MIDI output and looking at the results in kmidimon. Instead of a proper sysex message you'll get a sequence of (malformed) single-byte messages.</p>
<p>You can't just output single bytes of a multi-byte MIDI message with snd_seq_event_output_direct(), this only works with single-byte (such as system realtime) messages. The proper way to do this, so that it works with any MIDI message, is to use snd_midi_event_encode_byte() and output the message when it's complete. The following fix is from the pd-l2ork repo, but it should apply cleanly on the current pure-data master branch:<br/>
<a href="https://github.com/pd-l2ork/pd/commit/9f5a265" rel="nofollow">https://github.com/pd-l2ork/pd/commit/9f5a265</a></p>
<hr/>
<p>Sent from sourceforge.net because pd-dev@lists.iem.at is subscribed to <a href="https://sourceforge.net/p/pure-data/bugs/">https://sourceforge.net/p/pure-data/bugs/</a></p>
<p>To unsubscribe from further messages, a project admin can change settings at <a href="https://sourceforge.net/p/pure-data/admin/bugs/options.">https://sourceforge.net/p/pure-data/admin/bugs/options.</a>  Or, if this is a mailing list, you can unsubscribe from the mailing list.</p></div>