[PATCH] winealsa.drv: Fix handling of system real time MIDI messages

Bruno Jesus 00cpxxx at gmail.com
Tue Jan 31 00:52:34 CST 2017


On Tue, Jan 31, 2017 at 4:23 AM, Austin English <austinenglish at gmail.com> wrote:
> On Tue, Jan 31, 2017 at 12:16 AM, Bruno Jesus <00cpxxx at gmail.com> wrote:
>> MIDI spec at http://www.somascape.org/midi/tech/spec.html state that system real time messages "... are each single byte messages, with no following data bytes...", currently wine is prepending SYSEX header generating invalid messages.
>>
>> A comparison before and after patch using gmidimonitor as ouput MIDI port:
>> http://alexa.pro.br/~bruno/wine/midi.png
>>
>> I believe the patch to be correct, I don't own any MIDI hardware to test but gmidimonitor seems good enough.
>
> Do wineoss / winepulse need similar fixes?

wineoss code at [1] in a quick look at [2] suggests it may be wrong
because MAYBE system real time messages are supposed to be
_TIMER_EVENT like SEQ_START_TIMER or SEQ_STOP_TIMER... Hard to tell
beucase these messages values don't match the MIDI spec.

winepulse seems to forward mid stuff to ALSA because the only time
"mid" is found is in the spec file:
winepulse.drv.spec:@ stdcall -private midMessage(long long long long
long) winealsa.drv.midMessage

[1] http://source.winehq.org/source/dlls/wineoss.drv/midi.c#1435
[2] https://github.com/torvalds/linux/blob/master/include/uapi/linux/soundcard.h

Best wishes,
Bruno



More information about the wine-devel mailing list