cAudio
2.3.0
3d Audio Engine
|
Public Types | |
enum | Events { ON_INIT, ON_UPDATE, ON_RELEASE, ON_SOURCECREATE, ON_DECODERREGISTER, ON_DATASOURCEREGISTER } |
Public Member Functions | |
virtual bool | initialize (const char *deviceName=0x0, int outputFrequency=-1, int eaxEffectSlots=4) |
Initializes the manager. More... | |
virtual void | shutDown () |
Shuts the manager down, cleaning up audio sources in the process. Does not clean up decoders, data sources, or event handlers. | |
virtual void | update () |
If threading is disabled, you must call this function every frame to update the playback buffers of audio sources. Otherwise it should not be called. | |
virtual IAudioSource * | getSoundByName (const char *name) |
Returns an Audio Source by its "name" and NULL if the name is not found. More... | |
virtual void | releaseAllSources () |
Releases ALL Audio Sources (but does not shutdown the manager) | |
virtual void | release (IAudioSource *source) |
Releases a single Audio Source, removing it from the manager. More... | |
virtual IAudioSource * | play2D (const char *filename, bool playLooped=false, bool startPaused=false) |
Creates an Audio Source object using the highest priority data source that has the referenced filename. More... | |
virtual IAudioSource * | play3D (const char *filename, cVector3 position, bool playLooped=false, bool startPaused=false) |
Creates an Audio Source object using the highest priority data source that has the referenced filename. More... | |
virtual void | setMasterVolume (float vol) |
Sets master volume. (valid range [0 - 1.0]) | |
virtual float | getMasterVolume () const |
Get the master volume. | |
virtual void | setSpeedOfSound (float speed) |
Set Speed of Sound (for doppler computations) | |
virtual float | getSpeedOfSound () const |
Get Speed of Sound (for doppler computations) | |
virtual void | setDopplerFactor (float factor) const |
Set Doppler Factor. | |
virtual float | getDopplerFactor () const |
Get Doppler Factor. | |
virtual void | stopAllSounds () |
Stops all playing sounds. | |
virtual IAudioSource * | create (const char *name, const char *filename, bool stream=false) |
Creates an Audio Source object using the highest priority data source that has the referenced filename. More... | |
virtual IAudioSource * | createFromMemory (const char *name, const char *data, size_t length, const char *extension) |
Creates an Audio Source from a memory buffer using a specific audio codec. More... | |
virtual IAudioSource * | createFromRaw (const char *name, const char *data, size_t length, unsigned int frequency, AudioFormats format) |
Creates an Audio Source from raw audio data in a memory buffer. More... | |
virtual IAudioSource * | createFromAudioBuffer (const char *name, AudioCaptureBuffer *pBiffer, unsigned int frequency, AudioFormats format) |
Creates an Audio Source from AudioCaptureBuffer in a memory buffer. More... | |
virtual IAudioBuffer * | createBuffer (const char *filename) |
Creates a Audio Sample using the highest priority data source that has the referenced filename. More... | |
virtual IAudioSource * | createStatic (IAudioBuffer *buffer) |
Creates an Audio Source from an Audio Buffer object (see createAudioBuffer()) More... | |
virtual bool | registerAudioDecoder (IAudioDecoderFactory *factory, const char *extension) |
Register an Audio Decoder. More... | |
virtual void | unRegisterAudioDecoder (const char *extension) |
Unregister a previously registered Audio Decoder. More... | |
virtual bool | isAudioDecoderRegistered (const char *extension) |
Returns whether an audio decoder is currently registered for this file type. More... | |
virtual IAudioDecoderFactory * | getAudioDecoderFactory (const char *extension) |
Returns a registered audio decoder factory. More... | |
virtual void | unRegisterAllAudioDecoders () |
Unregisters all attached Audio Decoders. More... | |
virtual bool | registerDataSource (IDataSourceFactory *factory, const char *name, int priority) |
Registers a data source with this manager. More... | |
virtual void | unRegisterDataSource (const char *name) |
Removes a previously registered data source. More... | |
virtual bool | isDataSourceRegistered (const char *name) |
Returns whether a data source is currently registered under a certain name. More... | |
virtual IDataSourceFactory * | getDataSourceFactory (const char *name) |
Returns a previously registered data source factory. More... | |
virtual void | unRegisterAllDataSources () |
Removes all previously registered data sources. More... | |
virtual void | registerEventHandler (IManagerEventHandler *handler) |
Registers a new event handler with the manager. More... | |
virtual void | unRegisterEventHandler (IManagerEventHandler *handler) |
Unregisters a previously registered event handler from the manager. More... | |
virtual void | unRegisterAllEventHandlers () |
Unregisters all previously registered event handlers from the manager. More... | |
virtual IListener * | getListener () |
Returns the interface for the listener. | |
virtual bool | isUpdateThreadRunning () |
Returns if the thread used to update all Audio Managers is running. More... | |
virtual cAudioMutex * | getMutex () |
![]() | |
void * | operator new (size_t size, const char *file, int line, const char *function) |
void * | operator new (size_t size) |
void * | operator new (size_t size, void *pointer) |
void * | operator new[] (size_t size, const char *file, int line, const char *function) |
void * | operator new[] (size_t size) |
void | operator delete (void *pointer) |
void | operator delete (void *pointer, void *) |
void | operator delete (void *pointer, const char *, int, const char *) |
void | operator delete[] (void *pointer) |
void | operator delete[] (void *pointer, const char *, int, const char *) |
Protected Member Functions | |
virtual void | run () |
IAudioSource * | createAudioSource (IAudioDecoder *decoder, const cAudioString &audioName, const cAudioString &dataSource) |
Definition at line 23 of file cAudioManager.h.
|
virtual |
Creates an Audio Source object using the highest priority data source that has the referenced filename.
name | Name of the audio source. |
filename | Path to the file to load audio data from. |
stream | Whether to stream the audio data or load it all into a memory buffer at the start. You should consider using streaming for really large sound files. |
Implements cAudio::IAudioManager.
Definition at line 306 of file cAudioManager.cpp.
|
virtual |
Creates a Audio Sample using the highest priority data source that has the referenced filename.
filename | Path to the file to load audio data from. |
Implements cAudio::IAudioManager.
Definition at line 402 of file cAudioManager.cpp.
|
virtual |
Creates an Audio Source from AudioCaptureBuffer in a memory buffer.
name | Name of the audio source. |
AudioCaptureBuffer | Pointer to a AudioCaptureBuffer in memory to load the data from. |
frequency | Frequency (or sample rate) of the audio data. |
format | Format of the audio data. |
Implements cAudio::IAudioManager.
Definition at line 371 of file cAudioManager.cpp.
|
virtual |
Creates an Audio Source from a memory buffer using a specific audio codec.
name | Name of the audio source. |
data | Pointer to a buffer in memory to load the data from. |
length | Length of the data buffer. |
extension | Extension for the audio codec of the data in the memory buffer. |
Implements cAudio::IAudioManager.
Definition at line 344 of file cAudioManager.cpp.
|
virtual |
Creates an Audio Source from raw audio data in a memory buffer.
name | Name of the audio source. |
data | Pointer to a buffer in memory to load the data from. |
length | Length of the data buffer. |
frequency | Frequency (or sample rate) of the audio data. |
format | Format of the audio data. |
Implements cAudio::IAudioManager.
Definition at line 376 of file cAudioManager.cpp.
|
virtual |
Creates an Audio Source from an Audio Buffer object (see createAudioBuffer())
buffer | The buffer to play, or NULL to create an empty static source |
Implements cAudio::IAudioManager.
Definition at line 440 of file cAudioManager.cpp.
|
virtual |
Returns a registered audio decoder factory.
extension | Extension for the audio decoder to return. |
Implements cAudio::IAudioManager.
Definition at line 478 of file cAudioManager.cpp.
|
virtual |
Returns a previously registered data source factory.
name | Name of the data source to return. |
Implements cAudio::IAudioManager.
Definition at line 544 of file cAudioManager.cpp.
|
virtual |
Returns an Audio Source by its "name" and NULL if the name is not found.
name | Name of the audio source to retrieve. |
Implements cAudio::IAudioManager.
Definition at line 650 of file cAudioManager.cpp.
|
virtual |
Initializes the manager.
deviceName | Name of the device to create this manager for. |
outputFrequency | Frequency of the output audio or -1 for the device default. |
eaxEffectSlots | Number of EFX effect slots to request. Has no effect if EFX is not supported or compiled out. |
Implements cAudio::IAudioManager.
Definition at line 29 of file cAudioManager.cpp.
|
virtual |
Returns whether an audio decoder is currently registered for this file type.
extension | Extension for the audio decoder to check for. |
Implements cAudio::IAudioManager.
Definition at line 470 of file cAudioManager.cpp.
|
virtual |
Returns whether a data source is currently registered under a certain name.
name | Name of the data source to check for. |
Implements cAudio::IAudioManager.
Definition at line 536 of file cAudioManager.cpp.
|
virtual |
Returns if the thread used to update all Audio Managers is running.
Note: Will always return false if threading is disabled. The library automatically shuts down the thread if no Audio Managers exist and will restart the thread on creation of a new manager.
Implements cAudio::IAudioManager.
Definition at line 151 of file cAudioManager.cpp.
|
virtual |
Creates an Audio Source object using the highest priority data source that has the referenced filename.
name | Name of the audio source. |
playLooped | if the sound is looped a IAudioSource is returned |
startPaused | if false the sound plays asap |
Implements cAudio::IAudioManager.
Definition at line 167 of file cAudioManager.cpp.
|
virtual |
Creates an Audio Source object using the highest priority data source that has the referenced filename.
name | Name of the audio source. |
position | The start position of the sound. |
playLooped | if the sound is looped a IAudioSource is returned |
startPaused | if false the sound plays asap |
Implements cAudio::IAudioManager.
Definition at line 196 of file cAudioManager.cpp.
|
virtual |
Register an Audio Decoder.
factory | Pointer to the factory instance to use. |
extension | Extension of the audio codec to register this decoder under. For example, .wav for a RIFF/wav decoder. |
Implements cAudio::IAudioManager.
Definition at line 449 of file cAudioManager.cpp.
|
virtual |
Registers a data source with this manager.
Use this function to provide access to a custom resource manager, zip archive, vfs, or any other place you'd like to get audio files from.
factory | Pointer to the data source factory to register. |
name | Name for the data source (ie. Zip Archive or FileSystem) |
priority | Determines what order data sources are asked for a file. The higher the priority, the sooner they are asked. cAudio stops looking for a file as soon as any data source returns it. |
Implements cAudio::IAudioManager.
Definition at line 501 of file cAudioManager.cpp.
|
virtual |
Registers a new event handler with the manager.
handler | Pointer to an event handler instance to register. |
Implements cAudio::IAudioManager.
Definition at line 563 of file cAudioManager.cpp.
|
virtual |
Releases a single Audio Source, removing it from the manager.
source | Pointer to the source to release. |
Implements cAudio::IAudioManager.
Definition at line 701 of file cAudioManager.cpp.
|
virtual |
Unregisters all attached Audio Decoders.
Note that all current sound sources will still continue to use any currently allocated decoders. Will NOT delete any user added factory instance, you must do that yourself.
Implements cAudio::IAudioManager.
Definition at line 490 of file cAudioManager.cpp.
|
virtual |
Removes all previously registered data sources.
Note that sound sources will still continue to use any currently allocated sources, so you may not be able to close an open zip/archive file handle until they are done. Will NOT delete any user added factory instance, you must do that yourself.
Implements cAudio::IAudioManager.
Definition at line 556 of file cAudioManager.cpp.
|
virtual |
Unregisters all previously registered event handlers from the manager.
Note: Will not delete your event handler, you must take care of that yourself.
Implements cAudio::IAudioManager.
Definition at line 579 of file cAudioManager.cpp.
|
virtual |
Unregister a previously registered Audio Decoder.
Note that all current sound sources will still continue to use any currently allocated decoders. Will NOT delete any user added factory instance, you must do that yourself.
extension | Extension for the audio decoder to remove. |
Implements cAudio::IAudioManager.
Definition at line 458 of file cAudioManager.cpp.
|
virtual |
Removes a previously registered data source.
Note that sound sources will still continue to use any currently allocated sources, so you may not be able to close an open zip/archive file handle until they are done. Will NOT delete any user added factory instance, you must do that yourself.
name | Name of the data source to unregister. |
Implements cAudio::IAudioManager.
Definition at line 513 of file cAudioManager.cpp.
|
virtual |
Unregisters a previously registered event handler from the manager.
Note: Will not delete your event handler, you must take care of that yourself.
handler | Pointer to the event handler to remove. |
Implements cAudio::IAudioManager.
Definition at line 571 of file cAudioManager.cpp.