---
** [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:
https://github.com/pd-l2ork/pd/commit/9f5a265
---
Sent from sourceforge.net because [email protected] 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.
_______________________________________________
Pd-dev mailing list
[email protected]
https://lists.puredata.info/listinfo/pd-dev