foxygit / doom Log in
commit d34a98b434ccccf5bedbd799ec003551f34707d8
Author:     Roman Fomin <rfomin@gmail.com>
AuthorDate: Sat Dec 17 14:19:42 2022 +0700
Commit:     GitHub <noreply@github.com>
CommitDate: Sat Dec 17 08:19:42 2022 +0100

    win midi: Fix MS GS Wavetable Synth detection in Windows XP (#1561)
---
 src/i_winmusic.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/i_winmusic.c b/src/i_winmusic.c
index 335f98f0..8eb10838 100644
--- a/src/i_winmusic.c
+++ b/src/i_winmusic.c
@@ -1188,11 +1188,12 @@ static boolean I_WIN_InitMusic(void)
     }

     // Is this device MS GS Synth?
-    if (mcaps.wMid == MM_MICROSOFT &&
-        mcaps.wPid == MM_MSFT_GENERIC_MIDISYNTH &&
-        mcaps.wTechnology == MOD_SWSYNTH)
     {
-        ms_gs_synth = MidiDevice;
+        const char pname[] = "Microsoft GS Wavetable";
+        if (!strncasecmp(pname, mcaps.szPname, sizeof(pname) - 1))
+        {
+            ms_gs_synth = MidiDevice;
+        }
     }

     mmr = midiStreamOpen(&hMidiStream, &MidiDevice, (DWORD)1,