Re: [PATCH] winealsa.drv: Fix handling of system real time MIDI messages
On Tue, Jan 31, 2017 at 12:16 AM, Bruno Jesus <00cpxxx(a)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? -- -Austin GPG: 14FB D7EA A041 937B
On Tue, Jan 31, 2017 at 4:23 AM, Austin English <austinenglish(a)gmail.com> wrote:
On Tue, Jan 31, 2017 at 12:16 AM, Bruno Jesus <00cpxxx(a)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
participants (2)
-
Austin English -
Bruno Jesus