From: Toni Wilen Date: Sun, 13 Dec 2015 18:01:57 +0000 (+0200) Subject: Fix 64-bit MIDI out detection bug. X-Git-Tag: 3220~14 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=65a86d8b3df60379352a3195a4c9827da68b8c77;p=francis%2Fwinuae.git Fix 64-bit MIDI out detection bug. --- diff --git a/od-win32/parser.cpp b/od-win32/parser.cpp index ff646ef4..f2824b86 100644 --- a/od-win32/parser.cpp +++ b/od-win32/parser.cpp @@ -1569,11 +1569,15 @@ int enummidiports (void) MIDIOUTCAPS midiOutCaps; MIDIINCAPS midiInCaps; int i, j, num, total; + int innum, outnum; - write_log (_T("MIDI port enumeration..\n")); - num = midiOutGetNumDevs (); + outnum = midiOutGetNumDevs(); + innum = midiInGetNumDevs(); + write_log (_T("MIDI port enumeration.. IN=%d OUT=%d\n"), innum, outnum); + + num = outnum; for (i = 0; i < num + 1 && i < MAX_MIDI_PORTS - 1; i++) { - MMRESULT r = midiOutGetDevCaps (i - 1, &midiOutCaps, sizeof (midiOutCaps)); + MMRESULT r = midiOutGetDevCaps ((UINT)(i - 1), &midiOutCaps, sizeof (midiOutCaps)); if (r != MMSYSERR_NOERROR) { num = i; break; @@ -1594,8 +1598,7 @@ int enummidiports (void) } } } - - num = midiInGetNumDevs (); + num = innum; for (i = 0; i < num && i < MAX_MIDI_PORTS - 1; i++) { if (midiInGetDevCaps (i, &midiInCaps, sizeof (midiInCaps)) != MMSYSERR_NOERROR) { num = i;