MIDI In support set 2 (4/7)

Emmanuel Maillard mahanuu at free.fr
Thu Apr 26 16:21:31 CDT 2007


Changelog :
- implement MIDIIn_Start and MIDIIn_Stop

-------------- next part --------------
From b650aff192414aea34006f0c0529b31f98515289 Mon Sep 17 00:00:00 2001
From: Emmanuel Maillard <mahanuu at free.fr>
Date: Thu, 26 Apr 2007 22:54:57 +0200
Subject: [PATCH] - implement MIDIIn_Start and MIDIIn_Stop

---
 dlls/winecoreaudio.drv/midi.c |   28 +++++++++++++++++++++++++++-
 1 files changed, 27 insertions(+), 1 deletions(-)

diff --git a/dlls/winecoreaudio.drv/midi.c b/dlls/winecoreaudio.drv/midi.c
index bb48f1b..37d5903 100644
--- a/dlls/winecoreaudio.drv/midi.c
+++ b/dlls/winecoreaudio.drv/midi.c
@@ -675,6 +675,30 @@ static DWORD MIDIIn_GetNumDevs(void)
     return MIDIIn_NumDevs;
 }
 
+static DWORD MIDIIn_Start(WORD wDevID)
+{
+    TRACE("%d\n", wDevID);
+
+    if (wDevID >= MIDIIn_NumDevs) {
+        WARN("bad device ID : %d\n", wDevID);
+	return MMSYSERR_BADDEVICEID;
+    }
+    sources[wDevID].state = 1;
+    sources[wDevID].startTime = GetTickCount();
+    return MMSYSERR_NOERROR;
+}
+
+static DWORD MIDIIn_Stop(WORD wDevID)
+{
+    TRACE("%d\n", wDevID);
+    if (wDevID >= MIDIIn_NumDevs) {
+        WARN("bad device ID : %d\n", wDevID);
+	return MMSYSERR_BADDEVICEID;
+    }
+    sources[wDevID].state = 0;
+    return MMSYSERR_NOERROR;
+}
+
 /*
  * MIDI In Mach message handling
  */
@@ -811,9 +835,11 @@ DWORD WINAPI CoreAudio_midMessage(UINT w
             return MIDIIn_GetDevCaps(wDevID, (LPMIDIINCAPSW) dwParam1, dwParam2);
         case MIDM_GETNUMDEVS:
             return MIDIIn_GetNumDevs();
-
         case MIDM_START:
+            return MIDIIn_Start(wDevID);
         case MIDM_STOP:
+            return MIDIIn_Stop(wDevID);
+
         case MIDM_RESET:
         default:
             TRACE("Unsupported message\n");
-- 
1.4.4



More information about the wine-patches mailing list