[L2Ork-dev] MIDI bugs and fixes

Albert Graef aggraef at gmail.com
Mon Jun 13 19:51:12 UTC 2016


Hi Ico,

I just sent you another pull request which fixes midiout on ALSA:

https://github.com/pd-l2ork/pd/pull/36

It's a really long-standing bug, and has been in every Pd version in Linux
as long as I can remember. The previous implementation of
sys_alsa_putmidibyte() in s_midi_alsa.c is broken -- it just spits out
malformed 1-byte "sysex" messages for each byte that goes into midiout. You
can see that if you run the cyclone/seq-help.pd patch and hook it up to
kmidimon or qmidiroute to watch the MIDI output. My new implementation does
the necessary buffering and parsing using the appropriate ALSA routines to
emit proper MIDI messages. It also works fine with system realtime and
exclusive messages.

I don't foresee any adverse effects from this changeset, as it just fixes
some functionality which wasn't working at all previously.

Is there some kind soul who would take care of submitting this upstream so
that vanilla Pd gets fixed as well? I don't have the time to do that myself
right now.

Talking about long-standing MIDI bugs in Pd, there's another one which I
haven't fixed yet although it's probably easy to do. The bendin object
produces an unsigned value range of 0 thru 16383, while the bendout object
expects a signed range of -8192 thru +8191. Which means that you have to
translate the values when routing pitch bends from MIDI input to MIDI
output. Again, you can observe that with Kmidimon on Linux or MidiMonitor
on the Mac, and it affects all different Pd flavors (vanilla, extended,
l2ork). I recall that I talked to Miller about this a few years ago, but
then forgot to follow up on it. Am I the only one to notice this? I can't
believe that. :)

Anyway, I'm not sure whether it actually makes sense to still fix the
bendin/bendout issue at this point, as there's probably a gazillion patches
out there which assume this behavior. Maybe there's even a rationale behind
it?

Opinions?

Albert

-- 
Dr. Albert Gr"af
Computer Music Research Group, JGU Mainz, Germany
Email:  aggraef at gmail.com
WWW:    https://plus.google.com/+AlbertGraef
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://disis.music.vt.edu/pipermail/l2ork-dev/attachments/20160613/4825d4ca/attachment.html>


More information about the L2Ork-dev mailing list