Added aRts driver.
This commit is contained in:
parent
cc7c1c0b93
commit
9b0ba7ca2b
|
@ -78,6 +78,7 @@ Other DLLs:
|
||||||
wing/ - WinG (for games) internface
|
wing/ - WinG (for games) internface
|
||||||
winmm/ - multimedia (16 & 32 bit)
|
winmm/ - multimedia (16 & 32 bit)
|
||||||
mciXXX/ - various MCI drivers
|
mciXXX/ - various MCI drivers
|
||||||
|
winearts/ - ARTS audio driver
|
||||||
wineoss/- MM driver for OSS systems
|
wineoss/- MM driver for OSS systems
|
||||||
wavemap/- audio mapper
|
wavemap/- audio mapper
|
||||||
midimap/- midi mapper
|
midimap/- midi mapper
|
||||||
|
|
32
configure.ac
32
configure.ac
|
@ -510,6 +510,37 @@ then
|
||||||
AC_DEFINE(HAVE_OSS_MIDI, 1, [Define if you have the Open Sound system (MIDI interface)])
|
AC_DEFINE(HAVE_OSS_MIDI, 1, [Define if you have the Open Sound system (MIDI interface)])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
dnl **** Check for aRts Sound Server ****
|
||||||
|
AC_PATH_PROG(ARTSCCONFIG, artsc-config)
|
||||||
|
AC_CACHE_CHECK([for aRts Sound server],
|
||||||
|
ac_cv_c_artsserver,
|
||||||
|
if test x$ARTSCCONFIG = x -o x$ARTSCCONFIG = x'"$ARTSCCONFIG"';
|
||||||
|
then
|
||||||
|
ac_cv_c_artsserver=no
|
||||||
|
else
|
||||||
|
ARTSC_CFLAGS=`$ARTSCCONFIG --cflags`
|
||||||
|
ARTSC_LIBS=`$ARTSCCONFIG --libs`
|
||||||
|
ac_cv_c_artsserver=no
|
||||||
|
save_CFLAGS="$CFLAGS"
|
||||||
|
CFLAGS="$CFLAGS $ARTSC_CFLAGS"
|
||||||
|
AC_TRY_COMPILE([
|
||||||
|
#include <artsc.h>
|
||||||
|
],[
|
||||||
|
arts_stream_t stream;
|
||||||
|
],[
|
||||||
|
ac_cv_c_artsserver=yes
|
||||||
|
])
|
||||||
|
CFLAGS="$save_CFLAGS"
|
||||||
|
fi)
|
||||||
|
|
||||||
|
if test "$ac_cv_c_artsserver" = "yes"
|
||||||
|
then
|
||||||
|
AC_SUBST(ARTSLIBS, $ARTSC_LIBS)
|
||||||
|
AC_SUBST(ARTSINCL, $ARTSC_CFLAGS)
|
||||||
|
|
||||||
|
AC_DEFINE(HAVE_ARTS, 1, [Define if you have ARTS sound server])
|
||||||
|
fi
|
||||||
|
|
||||||
dnl **** Check for broken glibc mmap64 ****
|
dnl **** Check for broken glibc mmap64 ****
|
||||||
|
|
||||||
AC_CACHE_CHECK( [whether mmap64 works defined as mmap], ac_cv_mmap64_works,
|
AC_CACHE_CHECK( [whether mmap64 works defined as mmap], ac_cv_mmap64_works,
|
||||||
|
@ -1317,6 +1348,7 @@ dlls/winmm/mciseq/Makefile
|
||||||
dlls/winmm/mciwave/Makefile
|
dlls/winmm/mciwave/Makefile
|
||||||
dlls/winmm/midimap/Makefile
|
dlls/winmm/midimap/Makefile
|
||||||
dlls/winmm/wavemap/Makefile
|
dlls/winmm/wavemap/Makefile
|
||||||
|
dlls/winmm/winearts/Makefile
|
||||||
dlls/winmm/wineoss/Makefile
|
dlls/winmm/wineoss/Makefile
|
||||||
dlls/winnls/Makefile
|
dlls/winnls/Makefile
|
||||||
dlls/winsock/Makefile
|
dlls/winsock/Makefile
|
||||||
|
|
|
@ -87,6 +87,7 @@ SUBDIRS = \
|
||||||
winmm/mciwave \
|
winmm/mciwave \
|
||||||
winmm/midimap \
|
winmm/midimap \
|
||||||
winmm/wavemap \
|
winmm/wavemap \
|
||||||
|
winmm/winearts \
|
||||||
winmm/wineoss \
|
winmm/wineoss \
|
||||||
winnls \
|
winnls \
|
||||||
winsock \
|
winsock \
|
||||||
|
@ -207,6 +208,7 @@ all: \
|
||||||
win87em.dll$(DLLEXT) \
|
win87em.dll$(DLLEXT) \
|
||||||
winaspi.dll$(DLLEXT) \
|
winaspi.dll$(DLLEXT) \
|
||||||
windebug.dll$(DLLEXT) \
|
windebug.dll$(DLLEXT) \
|
||||||
|
winearts.drv$(DLLEXT) \
|
||||||
winedos.dll$(DLLEXT) \
|
winedos.dll$(DLLEXT) \
|
||||||
wineoss.drv$(DLLEXT) \
|
wineoss.drv$(DLLEXT) \
|
||||||
wineps.dll$(DLLEXT) \
|
wineps.dll$(DLLEXT) \
|
||||||
|
@ -440,6 +442,9 @@ version.dll$(DLLEXT) ver.dll$(DLLEXT): version/version.dll$(DLLEXT)
|
||||||
w32skrnl.dll$(DLLEXT) w32sys.dll$(DLLEXT) win32s16.dll$(DLLEXT): win32s/w32skrnl.dll$(DLLEXT)
|
w32skrnl.dll$(DLLEXT) w32sys.dll$(DLLEXT) win32s16.dll$(DLLEXT): win32s/w32skrnl.dll$(DLLEXT)
|
||||||
$(RM) $@ && $(LN_S) win32s/w32skrnl.dll$(DLLEXT) $@
|
$(RM) $@ && $(LN_S) win32s/w32skrnl.dll$(DLLEXT) $@
|
||||||
|
|
||||||
|
winearts.drv$(DLLEXT): winmm/winearts/winearts.drv$(DLLEXT)
|
||||||
|
$(RM) $@ && $(LN_S) winmm/winearts/winearts.drv$(DLLEXT) $@
|
||||||
|
|
||||||
winedos.dll$(DLLEXT): winedos/winedos.dll$(DLLEXT)
|
winedos.dll$(DLLEXT): winedos/winedos.dll$(DLLEXT)
|
||||||
$(RM) $@ && $(LN_S) winedos/winedos.dll$(DLLEXT) $@
|
$(RM) $@ && $(LN_S) winedos/winedos.dll$(DLLEXT) $@
|
||||||
|
|
||||||
|
@ -753,6 +758,10 @@ winmm/wavemap/msacm.drv$(DLLEXT): dummy msacm32.dll$(DLLEXT) winmm.dll$(DLLEXT)
|
||||||
user32.dll$(DLLEXT) kernel32.dll$(DLLEXT) ntdll.dll$(DLLEXT)
|
user32.dll$(DLLEXT) kernel32.dll$(DLLEXT) ntdll.dll$(DLLEXT)
|
||||||
@cd winmm/wavemap && $(MAKE) msacm.drv$(DLLEXT)
|
@cd winmm/wavemap && $(MAKE) msacm.drv$(DLLEXT)
|
||||||
|
|
||||||
|
winmm/winearts/winearts.drv$(DLLEXT): dummy winmm.dll$(DLLEXT) user32.dll$(DLLEXT) \
|
||||||
|
kernel32.dll$(DLLEXT) ntdll.dll$(DLLEXT)
|
||||||
|
@cd winmm/winearts && $(MAKE) winearts.drv$(DLLEXT)
|
||||||
|
|
||||||
winmm/wineoss/wineoss.drv$(DLLEXT): dummy winmm.dll$(DLLEXT) user32.dll$(DLLEXT) \
|
winmm/wineoss/wineoss.drv$(DLLEXT): dummy winmm.dll$(DLLEXT) user32.dll$(DLLEXT) \
|
||||||
kernel32.dll$(DLLEXT) ntdll.dll$(DLLEXT)
|
kernel32.dll$(DLLEXT) ntdll.dll$(DLLEXT)
|
||||||
@cd winmm/wineoss && $(MAKE) wineoss.drv$(DLLEXT)
|
@cd winmm/wineoss && $(MAKE) wineoss.drv$(DLLEXT)
|
||||||
|
|
|
@ -294,7 +294,7 @@ HRESULT WINAPI DirectSoundEnumerateA(
|
||||||
|
|
||||||
#ifdef HAVE_OSS
|
#ifdef HAVE_OSS
|
||||||
if (lpDSEnumCallback != NULL)
|
if (lpDSEnumCallback != NULL)
|
||||||
lpDSEnumCallback(NULL,"WINE DirectSound using Open Sound System",
|
lpDSEnumCallback(NULL,"WINE DirectSound",
|
||||||
"sound",lpContext);
|
"sound",lpContext);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
Makefile
|
||||||
|
winearts.drv.spec.c
|
|
@ -0,0 +1,18 @@
|
||||||
|
TOPSRCDIR = @top_srcdir@
|
||||||
|
TOPOBJDIR = ../../..
|
||||||
|
SRCDIR = @srcdir@
|
||||||
|
VPATH = @srcdir@
|
||||||
|
MODULE = winearts.drv
|
||||||
|
EXTRADEFS = @ARTSINCL@
|
||||||
|
EXTRALIBS = @ARTSLIBS@
|
||||||
|
|
||||||
|
LDDLLFLAGS = @LDDLLFLAGS@
|
||||||
|
SYMBOLFILE = $(MODULE).tmp.o
|
||||||
|
|
||||||
|
C_SRCS = \
|
||||||
|
arts.c \
|
||||||
|
audio.c
|
||||||
|
|
||||||
|
@MAKE_DLL_RULES@
|
||||||
|
|
||||||
|
### Dependencies:
|
|
@ -0,0 +1,93 @@
|
||||||
|
/* -*- tab-width: 8; c-basic-offset: 4 -*- */
|
||||||
|
/*
|
||||||
|
* Wine Driver for aRts Sound Server
|
||||||
|
* http://www.arts-project.org
|
||||||
|
*
|
||||||
|
* Copyright 2002 Chris Morgan<cmorgan@alum.wpi.edu>
|
||||||
|
* Code massively copied from Eric Pouech's OSS driver
|
||||||
|
*
|
||||||
|
* 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"
|
||||||
|
#include "arts.h"
|
||||||
|
|
||||||
|
#ifdef HAVE_ARTS
|
||||||
|
static int arts = 0;
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
* ARTS_drvOpen [internal]
|
||||||
|
*/
|
||||||
|
static DWORD ARTS_drvOpen(LPSTR str)
|
||||||
|
{
|
||||||
|
if (arts)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
/* I know, this is ugly, but who cares... */
|
||||||
|
arts = 1;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
* ARTS_drvClose [internal]
|
||||||
|
*/
|
||||||
|
static DWORD ARTS_drvClose(DWORD dwDevID)
|
||||||
|
{
|
||||||
|
if (arts) {
|
||||||
|
arts = 0;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
#endif /* #ifdef HAVE_ARTS */
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
* DriverProc (WINEARTS.@)
|
||||||
|
*/
|
||||||
|
LONG CALLBACK ARTS_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_ARTS
|
||||||
|
case DRV_LOAD: ARTS_WaveInit();
|
||||||
|
/* ARTS_MidiInit(); FIXME: no midi
|
||||||
|
support in artsc so we don't have any in the arts driver */
|
||||||
|
return 1;
|
||||||
|
case DRV_FREE: return ARTS_CloseDevice();
|
||||||
|
case DRV_OPEN: return ARTS_drvOpen((LPSTR)dwParam1);
|
||||||
|
case DRV_CLOSE: return ARTS_drvClose(dwDevID);
|
||||||
|
case DRV_ENABLE: return 1;
|
||||||
|
case DRV_DISABLE: return 1;
|
||||||
|
case DRV_QUERYCONFIGURE: return 1;
|
||||||
|
case DRV_CONFIGURE: MessageBoxA(0, "aRts MultiMedia Driver!", "aRts 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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,34 @@
|
||||||
|
/* Definition for aRts drivers : wine multimedia system
|
||||||
|
*
|
||||||
|
* Copyright 2002 Chris Morgan<cmorgan@alum.wpi.edu>
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __WINE_ARTS_H
|
||||||
|
#define __WINE_ARTS_H
|
||||||
|
|
||||||
|
#ifndef __WINE_CONFIG_H
|
||||||
|
# error You must include config.h to use this header
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_SYS_ERRNO_H
|
||||||
|
#include <sys/errno.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
extern LONG ARTS_WaveInit(void);
|
||||||
|
extern LONG ARTS_CloseDevice(void);
|
||||||
|
|
||||||
|
#endif /* __WINE_ARTS_H */
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,13 @@
|
||||||
|
name winearts
|
||||||
|
file winearts.drv
|
||||||
|
type win32
|
||||||
|
|
||||||
|
import winmm.dll
|
||||||
|
import user32.dll
|
||||||
|
import kernel32.dll
|
||||||
|
import ntdll.dll
|
||||||
|
|
||||||
|
debug_channels (wave)
|
||||||
|
|
||||||
|
@ stdcall DriverProc(long long long long long) ARTS_DriverProc
|
||||||
|
@ stdcall wodMessage(long long long long long) ARTS_wodMessage
|
|
@ -238,6 +238,7 @@ WINE REGISTRY Version 2
|
||||||
|
|
||||||
[WinMM]
|
[WinMM]
|
||||||
"Drivers" = "wineoss.drv"
|
"Drivers" = "wineoss.drv"
|
||||||
|
#"Drivers" = "winearts.drv"
|
||||||
"WaveMapper" = "msacm.drv"
|
"WaveMapper" = "msacm.drv"
|
||||||
"MidiMapper" = "midimap.drv"
|
"MidiMapper" = "midimap.drv"
|
||||||
|
|
||||||
|
|
|
@ -25,6 +25,9 @@
|
||||||
/* Define if you have the <arpa/nameser.h> header file. */
|
/* Define if you have the <arpa/nameser.h> header file. */
|
||||||
#undef HAVE_ARPA_NAMESER_H
|
#undef HAVE_ARPA_NAMESER_H
|
||||||
|
|
||||||
|
/* Define if you have ARTS sound server */
|
||||||
|
#undef HAVE_ARTS
|
||||||
|
|
||||||
/* Define to use .string instead of .ascii */
|
/* Define to use .string instead of .ascii */
|
||||||
#undef HAVE_ASM_STRING
|
#undef HAVE_ASM_STRING
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue