[PATCH 3/3] winealsa.drv: send MIDI events to port subscribers

Andrew Eikum aeikum at codeweavers.com
Wed Feb 12 12:16:25 CST 2020


From: Jacek Konieczny <jajcus at jajcus.net>

This way changes to the port connections made by other applications will be
honoured.

Signed-off-by: Jacek Konieczny <jajcus at jajcus.net>
Signed-off-by: Andrew Eikum <aeikum at codeweavers.com>
---
 dlls/winealsa.drv/midi.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/dlls/winealsa.drv/midi.c b/dlls/winealsa.drv/midi.c
index 879d48d824b..f2fe6307bb2 100644
--- a/dlls/winealsa.drv/midi.c
+++ b/dlls/winealsa.drv/midi.c
@@ -871,7 +871,7 @@ static DWORD modData(WORD wDevID, DWORD dwParam)
             snd_seq_ev_clear(&event);
             snd_seq_ev_set_direct(&event);
             snd_seq_ev_set_source(&event, port_out);
-            snd_seq_ev_set_dest(&event, MidiOutDev[wDevID].addr.client, MidiOutDev[wDevID].addr.port);
+            snd_seq_ev_set_subs(&event);
 	    
 	    switch (evt & 0xF0) {
 	    case MIDI_CMD_NOTE_OFF:
@@ -1040,8 +1040,7 @@ static DWORD modLongData(WORD wDevID, LPMIDIHDR lpMidiHdr, DWORD dwSize)
 	snd_seq_ev_clear(&event);
 	snd_seq_ev_set_direct(&event);
 	snd_seq_ev_set_source(&event, port_out);
-	snd_seq_ev_set_dest(&event, MidiOutDev[wDevID].addr.client, MidiOutDev[wDevID].addr.port);
-	TRACE("destination %d:%d\n", MidiOutDev[wDevID].addr.client, MidiOutDev[wDevID].addr.port);
+	snd_seq_ev_set_subs(&event);
 	snd_seq_ev_set_sysex(&event, lpMidiHdr->dwBufferLength + len_add, lpNewData ? lpNewData : lpData);
         EnterCriticalSection(&midiSeqLock);
 	snd_seq_event_output_direct(midiSeq, &event);
-- 
2.25.0




More information about the wine-devel mailing list