mirror of
https://github.com/reactos/wine.git
synced 2024-11-24 12:20:07 +00:00
Added aRts driver.
This commit is contained in:
parent
cc7c1c0b93
commit
9b0ba7ca2b
@ -78,6 +78,7 @@ Other DLLs:
|
||||
wing/ - WinG (for games) internface
|
||||
winmm/ - multimedia (16 & 32 bit)
|
||||
mciXXX/ - various MCI drivers
|
||||
winearts/ - ARTS audio driver
|
||||
wineoss/- MM driver for OSS systems
|
||||
wavemap/- audio 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)])
|
||||
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 ****
|
||||
|
||||
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/midimap/Makefile
|
||||
dlls/winmm/wavemap/Makefile
|
||||
dlls/winmm/winearts/Makefile
|
||||
dlls/winmm/wineoss/Makefile
|
||||
dlls/winnls/Makefile
|
||||
dlls/winsock/Makefile
|
||||
|
@ -87,6 +87,7 @@ SUBDIRS = \
|
||||
winmm/mciwave \
|
||||
winmm/midimap \
|
||||
winmm/wavemap \
|
||||
winmm/winearts \
|
||||
winmm/wineoss \
|
||||
winnls \
|
||||
winsock \
|
||||
@ -207,6 +208,7 @@ all: \
|
||||
win87em.dll$(DLLEXT) \
|
||||
winaspi.dll$(DLLEXT) \
|
||||
windebug.dll$(DLLEXT) \
|
||||
winearts.drv$(DLLEXT) \
|
||||
winedos.dll$(DLLEXT) \
|
||||
wineoss.drv$(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)
|
||||
$(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)
|
||||
$(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)
|
||||
@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) \
|
||||
kernel32.dll$(DLLEXT) ntdll.dll$(DLLEXT)
|
||||
@cd winmm/wineoss && $(MAKE) wineoss.drv$(DLLEXT)
|
||||
|
@ -294,7 +294,7 @@ HRESULT WINAPI DirectSoundEnumerateA(
|
||||
|
||||
#ifdef HAVE_OSS
|
||||
if (lpDSEnumCallback != NULL)
|
||||
lpDSEnumCallback(NULL,"WINE DirectSound using Open Sound System",
|
||||
lpDSEnumCallback(NULL,"WINE DirectSound",
|
||||
"sound",lpContext);
|
||||
#endif
|
||||
|
||||
|
2
dlls/winmm/winearts/.cvsignore
Normal file
2
dlls/winmm/winearts/.cvsignore
Normal file
@ -0,0 +1,2 @@
|
||||
Makefile
|
||||
winearts.drv.spec.c
|
18
dlls/winmm/winearts/Makefile.in
Normal file
18
dlls/winmm/winearts/Makefile.in
Normal file
@ -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:
|
93
dlls/winmm/winearts/arts.c
Normal file
93
dlls/winmm/winearts/arts.c
Normal file
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
34
dlls/winmm/winearts/arts.h
Normal file
34
dlls/winmm/winearts/arts.h
Normal file
@ -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 */
|
1429
dlls/winmm/winearts/audio.c
Normal file
1429
dlls/winmm/winearts/audio.c
Normal file
File diff suppressed because it is too large
Load Diff
13
dlls/winmm/winearts/winearts.drv.spec
Normal file
13
dlls/winmm/winearts/winearts.drv.spec
Normal file
@ -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]
|
||||
"Drivers" = "wineoss.drv"
|
||||
#"Drivers" = "winearts.drv"
|
||||
"WaveMapper" = "msacm.drv"
|
||||
"MidiMapper" = "midimap.drv"
|
||||
|
||||
|
@ -25,6 +25,9 @@
|
||||
/* Define if you have the <arpa/nameser.h> header file. */
|
||||
#undef HAVE_ARPA_NAMESER_H
|
||||
|
||||
/* Define if you have ARTS sound server */
|
||||
#undef HAVE_ARTS
|
||||
|
||||
/* Define to use .string instead of .ascii */
|
||||
#undef HAVE_ASM_STRING
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user