I have been messing around with audio, and I wrote a new sound API that bypasses the BRL audio driver class. This is a compact API that is very close to OpenAL, but it is much easier to use, with automatic initialization and hardware checks.
Features:
-3D spatialization
-Doppler effect
-EAX hardware effects that are easy to use
http://leadwerks.com/mod/leadwerks.mod/audio.mod
The position, velocity, and matrix commands accept a byte pointer, so you can pass a float array, float pointer, or an object and it will all work.
Usage:
To turn on EAX, do this:
You can check to see if EAX is supported with EAXSupported().
Features:
-3D spatialization
-Doppler effect
-EAX hardware effects that are easy to use
http://leadwerks.com/mod/leadwerks.mod/audio.mod
The position, velocity, and matrix commands accept a byte pointer, so you can pass a float array, float pointer, or an object and it will all work.
Usage:
Local sound:TSound Local source:TSource sound=TSound.Load("FlashlightSwitch.wav") source=TSource.Create(sound,1) source.play() SetListenerMatrix([1.0,0.0,0.0,0.0, 0.0,1.0,0.0,0.0, 0.0,0.0,1.0,0.0, 0.0,0.0,0.0,1.0]) Delay 2000 source.pause() source.play()
To turn on EAX, do this:
EAXEffect EAX_SEWERPIPE
You can check to see if EAX is supported with EAXSupported().