Finally got around to adding a CMake build system for the version I've been
working on. Also added an OSS backend (playback only for now). It should be
robust enough now to add more backends without much trouble, although I don't
imagine there being much need for more.. except maybe an OSX one.
ALSA is dlopen'd at run-time if libdl is available at build time, otherwise
it's linked with the lib and becomes a hard dependancy.
The DSound/WaveIn backend should probably be split into two, but I don't think
that's very important right now.
There's also a minimal type-safe internal thread API.
My initial testing seems to show that this works, but as always, testing and
feedback is appreciated. Only important thing left to do is get configuration
file support.
http://kcat.strangesoft.net/OpenAL.tar.bz2
Note that it requires 4-channel capable output by default. If you don't want
that, modify alcOpenDevice in Alc/ALc.c to use AL_FORMAT_STEREO16 instead of
AL_FORMAT_QUAD16.
|