This class manages all 3D sounds. More...
#include <audio3d.h>
Public Member Functions | |
virtual | ~SoundManager (void) throw () |
virtual id_t | createListener (void)=0 |
creates a listener and provides the ID back. | |
virtual void | updateListener (IN id_t listenerId, IN const point3d_t &position, IN const point3d_t &facing, IN const point3d_t &up)=0 |
caller can move the specified listener to the given position and orientation. | |
virtual bool | removeListener (IN id_t listenerId)=0 |
remove the listener with the given ID | |
virtual id_t | createSound (IN id_t listenerId, IN const char *filename, IN float baseVolume)=0 |
create a sound that can be heard by the given listener | |
virtual void | updateSound (IN id_t soundId, IN const point3d_t &position)=0 |
move the specified sound to a new location (cannot change spaces) | |
virtual bool | removeSound (IN id_t soundId)=0 |
remove the sound with the given ID | |
virtual void | updateSounds (void)=0 |
update all volume and panning levels based on current positions | |
Static Public Member Functions | |
static smart_ptr< SoundManager > | create (IN const char *device_name, IN const char *parameters) |
This class manages all 3D sounds.
To use this class:
This class is NOT threadsafe. If you need synchronization, add it in a higher layer. Make sure only one thread ever accesses this object!
Definition at line 82 of file audio3d.h.
audio3d::SoundManager::~SoundManager | ( | void | ) | throw () [virtual] |
Definition at line 40 of file audio3d.cpp.