Commit 2a91e3f9 authored by Robert Lunnon's avatar Robert Lunnon Committed by Alexandre Julliard

Preliminary audio driver for Solaris Libaudioio.

parent 7cae201e
......@@ -577,6 +577,14 @@ AC_CHECK_HEADERS(audio/audiolib.h,
NASLIBS="-laudio -lXt \$(X_LIBS) \$(XLIB)"],,
[-lXt $X_LIBS -lXext -lX11 $X_EXTRA_LIBS])])
dnl **** Check for libaudioio (which can be used to get solaris audio support) ****
AC_SUBST(AUDIOIOLIBS,"")
AC_CHECK_HEADERS(libaudioio.h,
[AC_CHECK_LIB(audioio,AudioIOGetVersion,
[AUDIOIOLIBS="-laudioio"
AC_DEFINE(HAVE_LIBAUDIOIO, 1, [Define if you have libaudioIO])])])
dnl **** Check for broken glibc mmap64 ****
AC_CACHE_CHECK( [whether mmap64 works defined as mmap], ac_cv_mmap64_works,
......@@ -922,6 +930,7 @@ AC_CHECK_HEADERS(\
float.h \
ieeefp.h \
io.h \
libaudioio.h \
libio.h \
libutil.h \
link.h \
......@@ -1412,8 +1421,9 @@ dlls/winmm/mciwave/Makefile
dlls/winmm/midimap/Makefile
dlls/winmm/wavemap/Makefile
dlls/winmm/winealsa/Makefile
dlls/winmm/winenas/Makefile
dlls/winmm/winearts/Makefile
dlls/winmm/wineaudioio/Makefile
dlls/winmm/winenas/Makefile
dlls/winmm/wineoss/Makefile
dlls/winnls/Makefile
dlls/winsock/Makefile
......
......@@ -98,6 +98,7 @@ BASEDIRS = \
winmm/wavemap \
winmm/winealsa \
winmm/winearts \
winmm/wineaudioio \
winmm/winenas \
winmm/wineoss \
winnls \
......@@ -241,6 +242,7 @@ all: \
windebug.dll$(DLLEXT) \
winealsa.drv$(DLLEXT) \
winearts.drv$(DLLEXT) \
wineaudioio.drv$(DLLEXT) \
winedos.dll$(DLLEXT) \
winemp3.acm$(DLLEXT) \
winenas.drv$(DLLEXT) \
......@@ -509,6 +511,9 @@ winealsa.drv$(DLLEXT): winmm/winealsa/winealsa.drv$(DLLEXT)
winearts.drv$(DLLEXT): winmm/winearts/winearts.drv$(DLLEXT)
$(RM) $@ && $(LN_S) winmm/winearts/winearts.drv$(DLLEXT) $@
wineaudioio.drv$(DLLEXT): winmm/wineaudioio/wineaudioio.drv$(DLLEXT)
$(RM) $@ && $(LN_S) winmm/wineaudioio/wineaudioio.drv$(DLLEXT) $@
winedos.dll$(DLLEXT): winedos/winedos.dll$(DLLEXT)
$(RM) $@ && $(LN_S) winedos/winedos.dll$(DLLEXT) $@
......@@ -636,6 +641,7 @@ version/version.dll$(DLLEXT): version
win32s/w32skrnl.dll$(DLLEXT): win32s
winmm/winealsa/winealsa.drv$(DLLEXT): winmm/winealsa
winmm/winearts/winearts.drv$(DLLEXT): winmm/winearts
winmm/wineaudioio/wineaudioio.drv$(DLLEXT): winmm/wineaudioio
winedos/winedos.dll$(DLLEXT): winedos
msacm/winemp3/winemp3.acm$(DLLEXT): msacm/winemp3
winmm/winenas/winenas.drv$(DLLEXT): winmm/winenas
......@@ -734,6 +740,7 @@ version/__install__: version.dll$(DLLEXT)
win32s/__install__: w32skrnl.dll$(DLLEXT)
winmm/winealsa/__install__: winealsa.drv$(DLLEXT)
winmm/winearts/__install__: winearts.drv$(DLLEXT)
winmm/wineaudioio/__install__: wineaudioio.drv$(DLLEXT)
winedos/__install__: winedos.dll$(DLLEXT)
msacm/winemp3/__install__: winemp3.acm$(DLLEXT)
winmm/winenas/__install__: winenas.drv$(DLLEXT)
......@@ -849,6 +856,7 @@ winmm/midimap: winmm.dll$(DLLEXT) user32.dll$(DLLEXT) advapi32.dll$(DLLEXT) kern
winmm/wavemap: msacm32.dll$(DLLEXT) winmm.dll$(DLLEXT) user32.dll$(DLLEXT) kernel32.dll$(DLLEXT)
winmm/winealsa: winmm.dll$(DLLEXT) user32.dll$(DLLEXT) kernel32.dll$(DLLEXT) ntdll.dll$(DLLEXT)
winmm/winearts: winmm.dll$(DLLEXT) user32.dll$(DLLEXT) kernel32.dll$(DLLEXT)
winmm/wineaudioio: winmm.dll$(DLLEXT) user32.dll$(DLLEXT) kernel32.dll$(DLLEXT) ntdll.dll$(DLLEXT)
winmm/winenas: winmm.dll$(DLLEXT) user32.dll$(DLLEXT) kernel32.dll$(DLLEXT)
winmm/wineoss: winmm.dll$(DLLEXT) user32.dll$(DLLEXT) kernel32.dll$(DLLEXT)
winmm: user32.dll$(DLLEXT) advapi32.dll$(DLLEXT) kernel32.dll$(DLLEXT)
......
Makefile
wineaudioio.drv.dbg.c
wineaudioio.drv.spec.c
TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ../../..
SRCDIR = @srcdir@
VPATH = @srcdir@
MODULE = wineaudioio.drv
IMPORTS = winmm user32 kernel32 ntdll
EXTRALIBS = @AUDIOIOLIBS@
LDDLLFLAGS = @LDDLLFLAGS@
SYMBOLFILE = $(MODULE).tmp.o
C_SRCS = \
audio.c \
audioio.c
@MAKE_DLL_RULES@
### Dependencies:
/* -*- tab-width: 8; c-basic-offset: 4 -*- */
/*
* Wine Driver for Libaudioio
* Derived From WineOSS
* Copyright 1999 Eric Pouech
* Modifications by Robert Lunnon 2002
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include "config.h"
#include "windef.h"
#include "winbase.h"
#include "wingdi.h"
#include "winuser.h"
#include "mmddk.h"
#ifdef HAVE_LIBAUDIOIO
static struct WINE_LIBAUDIOIO* audioio = NULL;
extern LONG LIBAUDIOIO_WaveInit(void);
extern BOOL LIBAUDIOIO_MidiInit(void);
/**************************************************************************
* LIBAUDIOIO_drvOpen [internal]
*/
static DWORD LIBAUDIOIO_drvOpen(LPSTR str)
{
if (audioio)
return 0;
/* I know, this is ugly, but who cares... */
audioio = (struct WINE_LIBAUDIOIO*)1;
return 1;
}
/**************************************************************************
* LIBAUDIOIO_drvClose [internal]
*/
static DWORD LIBAUDIOIO_drvClose(DWORD dwDevID)
{
if (audioio) {
audioio = NULL;
return 1;
}
return 0;
}
#endif
/**************************************************************************
* DriverProc
*/
LONG CALLBACK LIBAUDIOIO_DriverProc(DWORD dwDevID, HDRVR hDriv, DWORD wMsg,
DWORD dwParam1, DWORD dwParam2)
{
/* EPP TRACE("(%08lX, %04X, %08lX, %08lX, %08lX)\n", */
/* EPP dwDevID, hDriv, wMsg, dwParam1, dwParam2); */
switch(wMsg) {
#ifdef HAVE_LIBAUDIOIO
case DRV_LOAD: LIBAUDIOIO_WaveInit();
#ifdef HAVE_LIBAUDIOIO_MIDI
LIBAUDIOIO_MidiInit();
#endif
return 1;
case DRV_FREE: return 1;
case DRV_OPEN: return LIBAUDIOIO_drvOpen((LPSTR)dwParam1);
case DRV_CLOSE: return LIBAUDIOIO_drvClose(dwDevID);
case DRV_ENABLE: return 1;
case DRV_DISABLE: return 1;
case DRV_QUERYCONFIGURE: return 1;
case DRV_CONFIGURE: MessageBoxA(0, "Libaudioio MultiMedia Driver !", "Libaudioio Driver", MB_OK); return 1;
case DRV_INSTALL: return DRVCNF_RESTART;
case DRV_REMOVE: return DRVCNF_RESTART;
#endif
default:
return DefDriverProc(dwDevID, hDriv, wMsg, dwParam1, dwParam2);
}
}
@ stdcall DriverProc(long long long long long) LIBAUDIOIO_DriverProc
@ stdcall wodMessage(long long long long long) LIBAUDIOIO_wodMessage
......@@ -191,6 +191,12 @@
/* Define to 1 if you have the <jpeglib.h> header file. */
#undef HAVE_JPEGLIB_H
/* Define if you have libaudioIO */
#undef HAVE_LIBAUDIOIO
/* Define to 1 if you have the <libaudioio.h> header file. */
#undef HAVE_LIBAUDIOIO_H
/* Define if you have the curses library (-lcurses) */
#undef HAVE_LIBCURSES
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment