- Implement WIDM_OPEN, WIDM_CLOSE, WIDM_PREPARE, WIDM_UNPREPARE, WIDM_RESET for wave...
authorJohannes Anderwald <johannes.anderwald@reactos.org>
Tue, 6 Oct 2009 08:47:27 +0000 (08:47 +0000)
committerJohannes Anderwald <johannes.anderwald@reactos.org>
Tue, 6 Oct 2009 08:47:27 +0000 (08:47 +0000)
- Original code by Silverblade

svn path=/trunk/; revision=43311

reactos/lib/drivers/sound/mmebuddy/wave/widMessage.c

index e3e5a49..d364297 100644 (file)
@@ -53,6 +53,42 @@ widMessage(
                                                    Parameter2);
             break;
         }
+        case WIDM_OPEN :
+        {
+            Result = MmeOpenWaveDevice(WAVE_IN_DEVICE_TYPE,
+                                       DeviceId,
+                                       (LPWAVEOPENDESC) Parameter1,
+                                       Parameter2,
+                                       (DWORD*) PrivateHandle);
+            break;
+        }
+
+        case WIDM_CLOSE :
+        {
+            Result = MmeCloseDevice(PrivateHandle);
+
+            break;
+        }
+
+        case WIDM_PREPARE :
+        {
+            /* TODO: Do we need to pass 2nd parameter? */
+            Result = MmePrepareWaveHeader(PrivateHandle, Parameter1);
+            break;
+        }
+
+        case WIDM_UNPREPARE :
+        {
+            Result = MmeUnprepareWaveHeader(PrivateHandle, Parameter1);
+            break;
+        }
+
+        case WIDM_RESET :
+        {
+            /* Stop playback, reset position to zero */
+            Result = MmeResetWavePlayback(PrivateHandle);
+            break;
+        }
     }
 
     SND_TRACE(L"widMessage returning MMRESULT %d\n", Result);