The missing part for winearts, wineaudioio, winejack and winenas.
Index: dlls/winmm/winearts/Makefile.in
===================================================================
RCS file: /home/wine/wine/dlls/winmm/winearts/Makefile.in,v
retrieving revision 1.5
diff -u -r1.5 Makefile.in
--- dlls/winmm/winearts/Makefile.in 17 May 2002 03:37:15 -0000 1.5
+++ dlls/winmm/winearts/Makefile.in 23 Mar 2003 11:10:30 -0000
@@ -5,7 +5,7 @@
MODULE = winearts.drv
IMPORTS = winmm user32 kernel32
EXTRAINCL = @ARTSINCL@
-EXTRALIBS = @ARTSLIBS@
+EXTRALIBS = @ARTSLIBS@ $(LIBUUID)
LDDLLFLAGS = @LDDLLFLAGS@
SYMBOLFILE = $(MODULE).tmp.o
Index: dlls/winmm/winearts/audio.c
===================================================================
RCS file: /home/wine/wine/dlls/winmm/winearts/audio.c,v
retrieving revision 1.10
diff -u -r1.10 audio.c
--- dlls/winmm/winearts/audio.c 23 Jan 2003 22:51:04 -0000 1.10
+++ dlls/winmm/winearts/audio.c 23 Mar 2003 11:10:34 -0000
@@ -154,6 +154,8 @@
static WINE_WAVEOUT WOutDev [MAX_WAVEOUTDRV];
static DWORD wodDsCreate(UINT wDevID, PIDSDRIVER* drv);
+static DWORD wodDsDesc(UINT wDevID, PDSDRIVERDESC desc);
+static DWORD wodDsGuid(UINT wDevID, LPGUID pGuid);
/* These strings used only for tracing */
static const char *wodPlayerCmdString[] = {
@@ -1382,7 +1384,9 @@
case WODM_RESTART: return wodRestart (wDevID);
case WODM_RESET: return wodReset (wDevID);
- case DRV_QUERYDSOUNDIFACE: return wodDsCreate(wDevID, (PIDSDRIVER*)dwParam1);
+ case DRV_QUERYDSOUNDIFACE: return wodDsCreate (wDevID, (PIDSDRIVER*)dwParam1);
+ case DRV_QUERYDSOUNDDESC: return wodDsDesc (wDevID, (PDSDRIVERDESC)dwParam1);
+ case DRV_QUERYDSOUNDGUID: return wodDsGuid (wDevID, (LPGUID)dwParam1);
default:
FIXME("unknown message %d!\n", wMsg);
}
@@ -1399,6 +1403,20 @@
MESSAGE("This sound card's driver does not support direct access\n");
MESSAGE("The (slower) DirectSound HEL mode will be used instead.\n");
return MMSYSERR_NOTSUPPORTED;
+}
+
+static DWORD wodDsDesc(UINT wDevID, PDSDRIVERDESC desc)
+{
+ memset(desc, 0, sizeof(*desc));
+ strcpy(desc->szDesc, "Wine aRts DirectSound Driver");
+ strcpy(desc->szDrvName, "winearts.drv");
+ return MMSYSERR_NOERROR;
+}
+
+static DWORD wodDsGuid(UINT wDevID, LPGUID pGuid)
+{
+ memcpy(pGuid, &DSDEVID_DefaultPlayback, sizeof(GUID));
+ return MMSYSERR_NOERROR;
}
#else /* !HAVE_ARTS */
Index: dlls/winmm/wineaudioio/audio.c
===================================================================
RCS file: /home/wine/wine/dlls/winmm/wineaudioio/audio.c,v
retrieving revision 1.3
diff -u -r1.3 audio.c
--- dlls/winmm/wineaudioio/audio.c 17 Aug 2002 00:43:18 -0000 1.3
+++ dlls/winmm/wineaudioio/audio.c 23 Mar 2003 11:10:41 -0000
@@ -176,6 +176,11 @@
static WINE_WAVEIN WInDev [MAX_WAVEINDRV ];
static DWORD wodDsCreate(UINT wDevID, PIDSDRIVER* drv);
+static DWORD widDsCreate(UINT wDevID, PIDSCDRIVER* drv);
+static DWORD wodDsDesc(UINT wDevID, PDSDRIVERDESC desc);
+static DWORD widDsDesc(UINT wDevID, PDSDRIVERDESC desc);
+static DWORD wodDsGuid(UINT wDevID, LPGUID pGuid);
+static DWORD widDsGuid(UINT wDevID, LPGUID pGuid);
/*======================================================================*
* Low level WAVE implementation *
@@ -1242,7 +1247,9 @@
case WODM_RESTART: return wodRestart (wDevID);
case WODM_RESET: return wodReset (wDevID);
- case DRV_QUERYDSOUNDIFACE: return wodDsCreate(wDevID, (PIDSDRIVER*)dwParam1);
+ case DRV_QUERYDSOUNDIFACE: return wodDsCreate (wDevID, (PIDSDRIVER*)dwParam1);
+ case DRV_QUERYDSOUNDDESC: return wodDsDesc (wDevID, (PDSDRIVERDESC)dwParam1);
+ case DRV_QUERYDSOUNDGUID: return wodDsGuid (wDevID, (LPGUID)dwParam1);
default:
FIXME("unknown message %d!\n", wMsg);
}
@@ -1503,8 +1510,8 @@
TRACE("(%p,%p)\n",iface,pDesc);
pDesc->dwFlags = DSDDESC_DOMMSYSTEMOPEN | DSDDESC_DOMMSYSTEMSETFORMAT |
DSDDESC_USESYSTEMMEMORY | DSDDESC_DONTNEEDPRIMARYLOCK;
- strcpy(pDesc->szDesc,"WineOSS DirectSound Driver");
- strcpy(pDesc->szDrvName,"wineoss.drv");
+ strcpy(pDesc->szDesc,"Wine AudioIO DirectSound Driver");
+ strcpy(pDesc->szDrvName,"wineaudioio.drv");
pDesc->dnDevNode = WOutDev[This->wDevID].waveDesc.dnDevNode;
pDesc->wVxdId = 0;
pDesc->wReserved = 0;
@@ -1676,6 +1683,20 @@
return MMSYSERR_NOERROR;
}
+static DWORD wodDsDesc(UINT wDevID, PDSDRIVERDESC desc)
+{
+ memset(desc, 0, sizeof(*desc));
+ strcpy(desc->szDesc, "Wine LIBAUDIOIO DirectSound Driver");
+ strcpy(desc->szDrvName, "wineaudioio.drv");
+ return MMSYSERR_NOERROR;
+}
+
+static DWORD wodDsGuid(UINT wDevID, LPGUID pGuid)
+{
+ memcpy(pGuid, &DSDEVID_DefaultPlayback, sizeof(GUID));
+ return MMSYSERR_NOERROR;
+}
+
/*======================================================================*
* Low level WAVE IN implementation *
*======================================================================*/
@@ -2259,10 +2280,39 @@
case WIDM_RESET: return widReset (wDevID);
case WIDM_START: return widStart (wDevID);
case WIDM_STOP: return widStop (wDevID);
+ case DRV_QUERYDSOUNDIFACE: return widDsCreate (wDevID, (PIDSCDRIVER*)dwParam1);
+ case DRV_QUERYDSOUNDDESC: return widDsDesc (wDevID, (PDSDRIVERDESC)dwParam1);
+ case DRV_QUERYDSOUNDGUID: return widDsGuid (wDevID, (LPGUID)dwParam1);
default:
FIXME("unknown message %u!\n", wMsg);
}
return MMSYSERR_NOTSUPPORTED;
+}
+
+/*======================================================================*
+ * Low level DSOUND capture implementation *
+ *======================================================================*/
+static DWORD widDsCreate(UINT wDevID, PIDSDRIVER* drv)
+{
+ /* we can't perform memory mapping as we don't have a file stream
+ interface with arts like we do with oss */
+ MESSAGE("This sound card's driver does not support direct access\n");
+ MESSAGE("The (slower) DirectSound HEL mode will be used instead.\n");
+ return MMSYSERR_NOTSUPPORTED;
+}
+
+static DWORD widDsDesc(UINT wDevID, PDSDRIVERDESC desc)
+{
+ memset(desc, 0, sizeof(*desc));
+ strcpy(desc->szDesc, "Wine LIBAUDIOIO DirectSound Driver");
+ strcpy(desc->szDrvName, "wineaudioio.drv");
+ return MMSYSERR_NOERROR;
+}
+
+static DWORD wodDsGuid(UINT wDevID, LPGUID pGuid)
+{
+ memcpy(pGuid, &DSDEVID_DefaultCapture, sizeof(GUID));
+ return MMSYSERR_NOERROR;
}
#else /* HAVE_LIBAUDIOIO */
Index: dlls/winmm/winejack/audio.c
===================================================================
RCS file: /home/wine/wine/dlls/winmm/winejack/audio.c,v
retrieving revision 1.3
diff -u -r1.3 audio.c
--- dlls/winmm/winejack/audio.c 23 Jan 2003 22:51:04 -0000 1.3
+++ dlls/winmm/winejack/audio.c 23 Mar 2003 11:10:46 -0000
@@ -177,9 +177,12 @@
static WINE_WAVEIN WInDev [MAX_WAVEINDRV ];
static DWORD wodDsCreate(UINT wDevID, PIDSDRIVER* drv);
+static DWORD wodDsDesc(UINT wDevID, PDSDRIVERDESC desc);
+static DWORD wodDsGuid(UINT wDevID, LPGUID pGuid);
+
static LPWAVEHDR wodHelper_PlayPtrNext(WINE_WAVEOUT* wwo);
static DWORD wodHelper_NotifyCompletions(WINE_WAVEOUT* wwo, BOOL force);
-
+
static int JACK_OpenDevice(WINE_WAVEOUT* wwo);
#if JACK_CLOSE_HACK
@@ -1554,6 +1557,8 @@
case WODM_RESET: return wodReset(wDevID);
case DRV_QUERYDSOUNDIFACE: return wodDsCreate(wDevID, (PIDSDRIVER*)dwParam1);
+ case DRV_QUERYDSOUNDDESC: return wodDsDesc(wDevID, (PDSDRIVERDESC)dwParam1);
+ case DRV_QUERYDSOUNDGUID: return wodDsGuid(wDevID, (LPGUID)dwParam1);
default:
FIXME("unknown message %d!\n", wMsg);
}
@@ -1594,6 +1599,20 @@
MESSAGE("This sound card's driver does not support direct access\n");
MESSAGE("The (slower) DirectSound HEL mode will be used instead.\n");
return MMSYSERR_NOTSUPPORTED;
+}
+
+static DWORD wodDsDesc(UINT wDevID, PDSDRIVERDESC desc)
+{
+ memset(desc, 0, sizeof(*desc));
+ strcpy(desc->szDesc, "Wine jack DirectSound Driver");
+ strcpy(desc->szDrvName, "winejack.drv");
+ return MMSYSERR_NOERROR;
+}
+
+static DWORD wodDsGuid(UINT wDevID, LPGUID pGuid)
+{
+ memcpy(pGuid, &DSDEVID_DefaultPlayback, sizeof(GUID));
+ return MMSYSERR_NOERROR;
}
/*======================================================================*
Index: dlls/winmm/winenas/audio.c
===================================================================
RCS file: /home/wine/wine/dlls/winmm/winenas/audio.c,v
retrieving revision 1.8
diff -u -r1.8 audio.c
--- dlls/winmm/winenas/audio.c 23 Jan 2003 22:51:04 -0000 1.8
+++ dlls/winmm/winenas/audio.c 23 Mar 2003 11:10:50 -0000
@@ -185,6 +185,8 @@
static WINE_WAVEOUT WOutDev [MAX_WAVEOUTDRV];
static DWORD wodDsCreate(UINT wDevID, PIDSDRIVER* drv);
+static DWORD wodDsDesc(UINT wDevID, PDSDRIVERDESC desc);
+static DWORD wodDsGuid(UINT wDevID, LPGUID pGuid);
/* NASFUNC */
@@ -1254,7 +1256,9 @@
case WODM_RESTART: return wodRestart (wDevID);
case WODM_RESET: return wodReset (wDevID);
- case DRV_QUERYDSOUNDIFACE: return wodDsCreate(wDevID, (PIDSDRIVER*)dwParam1);
+ case DRV_QUERYDSOUNDIFACE: return wodDsCreate (wDevID, (PIDSDRIVER*)dwParam1);
+ case DRV_QUERYDSOUNDDESC: return wodDsDesc (wDevID, (PDSDRIVERDESC)dwParam1);
+ case DRV_QUERYDSOUNDGUID: return wodDsGuid (wDevID, (LPGUID)dwParam1);
default:
FIXME("unknown message %d!\n", wMsg);
}
@@ -1271,6 +1275,20 @@
MESSAGE("This sound card s driver does not support direct access\n");
MESSAGE("The (slower) DirectSound HEL mode will be used instead.\n");
return MMSYSERR_NOTSUPPORTED;
+}
+
+static DWORD wodDsDesc(UINT wDevID, PDSDRIVERDESC desc)
+{
+ memset(desc, 0, sizeof(*desc));
+ strcpy(desc->szDesc, "Wine NAS DirectSound Driver");
+ strcpy(desc->szDrvName, "winenas.drv");
+ return MMSYSERR_NOERROR;
+}
+
+static DWORD wodDsGuid(UINT wDevID, LPGUID pGuid)
+{
+ memcpy(pGuid, &DSDEVID_DefaultPlayback, sizeof(GUID));
+ return MMSYSERR_NOERROR;
}
static int nas_init(void) {