On 06/09/2012 01:07 PM, Clemens Ladisch wrote:
I just modified Mixxx's SCS.1d script to work with your custom sysex messages and tested with your latest patch. The .1d doesn't actually work 100% with this since Mixxx never receives some of the standard MIDI messages amid all of the sysex ones, and it's much worse when the platter is spinning and sending the tons of messages it does. This could be due to PortMIDI's lack of a callback mechanism, forcing Mixxx to poll it every 1ms because it's much more difficult to reproduce the problem using amidi -d.
That's possible. However, at 4 KB, ALSA's buffer should be big enough for those messages.
Yes, I subsequently found out that it was a bug in Mixxx's PortMIDI code. I've corrected that and it works much better now. (Nothing like a demanding device to ferret out bugs, eh?)
As soon as I start the JACK server to handle the audio interface on the SCS.1m, the ALSA driver stops sending MIDI for that device unless I stop JACK and power-cycle the device. Its last words are: F0 00 01 60 48 53 53 0F 03 00 03 00 00 0B 01 F7
This is a ping response (tag F3). Apparently, Jack's FFADO driver reinitializes the device and registers its own address for received packets. Since it does _not_ handle MIDI messages, it really should not do this.
I think the test-scs program uses JACK-MIDI, so that might be why. But test-scs is obsoleted by your driver. I'm CC'ing the FFADO-devel list so they can take a look.
Sincerely, Sean M. Pappalardo "D.J. Pegasus" Mixxx Developer - Controller Specialist