A dll that pretends to be a DirectSound3D EAX 2 compatible sound card, but shims to OpenAL

kcat bdf5299ab4 Merge pull request #2 from Mechami/master 1 month ago
build 98584ab11d Initial check-in 8 years ago
cmake 98584ab11d Initial check-in 8 years ago
include e0443be09c Include OpenAL Soft's headers instead of using the SDK's 1 year ago
.gitignore f3c079ee3e Add a .gitignore to ignore the build directory 8 years ago
CMakeLists.txt 8248f297b1 Fixed linking for MSVC 2 months ago
buffer.c 9def9a6720 Fix for the primary fx slot being set to null 8 months ago
capture.c 1a412b93c1 Fixed issues preventing compilation under MSVC 2 months ago
chorus.c b892cb5bed Clean up some return value handling 1 year ago
debug.c 1995d2dbd4 Fix type conversion warnings for MSVC 1 year ago
dsound8.c 1a412b93c1 Fixed issues preventing compilation under MSVC 2 months ago
dsound_main.c 09a2903b02 Fix building on MinGW 2 months ago
dsound_private.h 1a412b93c1 Fixed issues preventing compilation under MSVC 2 months ago
duplex.c 1a412b93c1 Fixed issues preventing compilation under MSVC 2 months ago
eax-presets.h 8d94415153 Make a macro for the default chorus parameters 11 months ago
eax.c db424e7d35 Special-case EAX2's occlusion room ratio 10 months ago
eax.h 2f91688961 Move EAX3 declarations to a separate header 1 year ago
eax3.h ba63e578cc Combine identical type definitions 1 year ago
eax4.c 82f634c0e4 Store source send properties for all possible effect slots 8 months ago
eax4.h 164d30a24e Fix a macro typo 1 year ago
mingw.def 8248f297b1 Fixed linking for MSVC 2 months ago
msvc.def 8248f297b1 Fixed linking for MSVC 2 months ago
primary.c 82f634c0e4 Store source send properties for all possible effect slots 8 months ago
propset.c 1a412b93c1 Fixed issues preventing compilation under MSVC 2 months ago
readme.txt 194b780c5a Add a basic readme 11 months ago
reverb.c b892cb5bed Clean up some return value handling 1 year ago
version.rc ea6e048917 Add the class resources for Wine-based builds 8 years ago

readme.txt

About
=====

This project is for a DirectSound DLL replacement. It implements the
DirectSound interfaces by translating the calls to OpenAL, and fools
applications into thinking there is a hardware accelerated sound device. EAX is
also implemented (up to version 4) by using OpenAL's EFX extension, allowing
for environmental reverb with sound obstruction and occlusion effects.

Ultimately, this enables DirectSound applications to enable their DirectSound3D
acceleration path, and turn on EAX. The actual processing is being done by
OpenAL with no hardware acceleration requirement, allowing it to work on
systems where audio acceleration is not otherwise available.

Or more succinctly: it enables DirectSound3D surround sound and EAX for systems
without the requisite hardware.


Source Code
===========

To build the source, you will need CMake 2.6 or newer (you can get it from
). You can either use the CMake GUI, specifying the
directories for the source and where the build files should go, or using one of
the command-line programs, for example by first making sure to be in an empty
directory where the build files will go (such as the provided build/ sub-
directory) and running cmake with the path to the source.

Once successfully built, it should have created dsound.dll.


Usage
=====

Once built, copy dsound.dll to the same location as the desired application's
executable. You must also provide an OpenAL DLL in the same location, named as
dsoal-aldrv.dll, or else the DLL will fail to work. Some applications may need
to be configured to use DirectSound3D acceleration and EAX, but it otherwise
goes to work the next time the application is run.


Source releases, the Git repository, and Windows binaries for OpenAL Soft are
available at its homepage .
Instructions are also provided there.