MIDI queue skips sending some data on Linux
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
ALSA driver |
In Progress
|
Unknown
|
|||
Mixxx |
Fix Released
|
Medium
|
Unassigned | ||
1.7 |
Fix Released
|
High
|
RJ Skerry-Ryan |
Bug Description
In Linux (tested in Debian Squeeze and Ubuntu) using ALSA for MIDI (ALSA and OSS for sound,) with MIDI scripting, some MIDI output gets discarded (or corrupted, hence discarded) before it reaches the device, usually when signals are connected/
An example of this occurs at 2:08 in http://
This does not happen on Windows.
Possibly related: Albert found with CoreMIDI that the calls were asynchronous and he had to queue them somehow. Perhaps this applies to ALSA as well?
Changed in mixxx: | |
importance: | Undecided → High |
milestone: | none → 1.6.2 |
status: | New → Confirmed |
description: | updated |
description: | updated |
Changed in mixxx: | |
importance: | High → Medium |
milestone: | 1.7.0-moving → none |
status: | Confirmed → New |
Changed in alsa-driver: | |
status: | Unknown → In Progress |
Changed in mixxx: | |
status: | Confirmed → Incomplete |
Changed in mixxx: | |
status: | Incomplete → Fix Released |
This also an issue with the SCS.1 series since so much data is sent to them. Testing with the SCS.1m using FFADO's test-scs utility (in their trunk,) the VU meters on the mixer don't work (they just light the bottom LED) and when the init function asks the device to report all of its knob positions, hardly any of them take effect, and one is just plain wrong (deck 1 pitch jumps to max) which suggests that Mixxx's ALSA implementation also can't handle too much data on the input side either.
In addition, Mixxx doesn't connect its MIDI output to the SCS.1m (yet it does with the SCS.3d and other USB devices. I had to manually connect it using qjackctl's ALSA tab.)
I'm convinced bug 374665 is related to this as well.
None of this is a problem on Windows. In short, midiobjectalsaseq needs to be gone over with a fine-toothed comb, and I don't have the experience or knowledge to do it. Unless Albert's PortMIDI implementation will be ready soon...