winmm test caps patch

Robert Reif reif at earthlink.net
Thu May 13 18:08:08 CDT 2004


Print human readable capabilities flag.
-------------- next part --------------
Index: dlls/winmm/tests/wave.c
===================================================================
RCS file: /home/wine/wine/dlls/winmm/tests/wave.c,v
retrieving revision 1.21
diff -u -r1.21 wave.c
--- dlls/winmm/tests/wave.c	13 May 2004 19:41:53 -0000	1.21
+++ dlls/winmm/tests/wave.c	13 May 2004 23:02:46 -0000
@@ -192,6 +192,43 @@
     return msg;
 }
 
+static const char * wave_out_caps(DWORD dwSupport)
+{
+    static char msg[1024];
+    int first = TRUE;
+    msg[0] = 0;
+    if (dwSupport & WAVECAPS_PITCH) {
+        strcat(msg, "WAVECAPS_PITCH");
+        first = FALSE;
+    }
+    if (dwSupport & WAVECAPS_PLAYBACKRATE) {
+        if (!first) strcat(msg, " ");
+        strcat(msg, "WAVECAPS_PLAYBACKRATE");
+        first = FALSE;
+    }
+    if (dwSupport & WAVECAPS_VOLUME) {
+        if (!first) strcat(msg, " ");
+        strcat(msg, "WAVECAPS_VOLUME");
+        first = FALSE;
+    }
+    if (dwSupport & WAVECAPS_LRVOLUME) {
+        if (!first) strcat(msg, " ");
+        strcat(msg, "WAVECAPS_LRVOLUME");
+        first = FALSE;
+    }
+    if (dwSupport & WAVECAPS_SYNC) {
+        if (!first) strcat(msg, " ");
+        strcat(msg, "WAVECAPS_SYNC");
+        first = FALSE;
+    }
+    if (dwSupport & WAVECAPS_SAMPLEACCURATE) {
+        if (!first) strcat(msg, " ");
+        strcat(msg, "WAVECAPS_SAMPLEACCURATE");
+        first = FALSE;
+    }
+    return msg;
+}
+
 static void wave_out_test_deviceOut(int device, int format, DWORD flags, LPWAVEOUTCAPS pcaps)
 {
     WAVEFORMATEX wfx;
@@ -334,11 +371,11 @@
             name=strdup("not supported");
         }
 
-        trace("  %d: \"%s\" (%s) %d.%d (%d:%d): channels=%d formats=%05lx support=%04lx\n",
+        trace("  %d: \"%s\" (%s) %d.%d (%d:%d): channels=%d formats=%05lx support=%04lx(%s)\n",
               d,caps.szPname,(name?name:"failed"),caps.vDriverVersion >> 8,
               caps.vDriverVersion & 0xff,
               caps.wMid,caps.wPid,
-              caps.wChannels,caps.dwFormats,caps.dwSupport);
+              caps.wChannels,caps.dwFormats,caps.dwSupport,wave_out_caps(caps.dwSupport));
         free(name);
 
         for (f=0;f<NB_WIN_FORMATS;f++) {


More information about the wine-patches mailing list