[PD-dev] [pure-data:bugs] #1272 midiout not working correctly on ALSA
agraef at users.sf.net
Sun Oct 16 19:17:55 CEST 2016
** [bugs:#1272] midiout not working correctly on ALSA**
**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...
More information about the Pd-dev