[PD-dev] [pure-data:bugs] #1272 midiout not working correctly on ALSA

Albert Graef agraef at users.sf.net
Sun Oct 16 19:17:55 CEST 2016


** [bugs:#1272] midiout not working correctly on ALSA**

**Status:** open
**Group:** v0.47
**Created:** Sun Oct 16, 2016 05:17 PM UTC by Albert Graef
**Last Updated:** Sun Oct 16, 2016 05:17 PM UTC
**Owner:** Miller Puckette

This has been there forever, and affects all Linux systems when using ALSA MIDI devices.

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.

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:


Sent from sourceforge.net because pd-dev at lists.iem.at is subscribed to https://sourceforge.net/p/pure-data/bugs/

To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/pure-data/admin/bugs/options.  Or, if this is a mailing list, you can unsubscribe from the mailing list.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-dev/attachments/20161016/515a7430/attachment.html>

More information about the Pd-dev mailing list