Ogre Video and Audio Plugins  master
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Modules Pages
OgreOggSound::OgreOggSoundManager Class Reference

Sound Manager: Manages all sounds for an application. More...

#include <OgreOggSoundManager.h>

Inheritance diagram for OgreOggSound::OgreOggSoundManager:

Public Member Functions

 OgreOggSoundManager ()
 
 ~OgreOggSoundManager ()
 
bool createListener ()
 
bool init (const std::string &deviceName="", unsigned int maxSources=100, unsigned int queueListSize=100, Ogre::SceneManager *scnMgr=0)
 
const ALCdevice * getOpenALDevice ()
 
const ALCcontext * getOpenALContext ()
 
void pauseOpenALDevice ()
 
void resumeOpenALDevice ()
 
void setMasterVolume (ALfloat vol)
 
void setSceneManager (Ogre::SceneManager *sMan)
 
Ogre::SceneManagergetSceneManager ()
 
unsigned int getNumSounds () const
 
ALfloat getMasterVolume ()
 
OgreOggISoundcreateSound (const Ogre::String &name, const Ogre::String &file, bool stream=false, bool loop=false, bool preBuffer=false, Ogre::SceneManager *scnMgr=0, bool immediate=false)
 
OgreOggISoundgetSound (const Ogre::String &name)
 
const Ogre::StringVector getSoundList () const
 
bool hasSound (const Ogre::String &name)
 
void setGlobalPitch (float pitch)
 
const float getGlobalPitch () const
 
void stopAllSounds ()
 
void pauseAllSounds ()
 
void muteAllSounds ()
 
void unmuteAllSounds ()
 
void addSoundToResume (OgreOggISound *sound)
 
void resumeAllPausedSounds ()
 
void destroyAllSounds ()
 
void destroySound (const Ogre::String &name="")
 
void destroySound (OgreOggISound *sound)
 
void _destroyTemporarySoundImpl (OgreOggISound *sound)
 
void _destroyTemporarySound (OgreOggISound *sound)
 
bool _requestSoundSource (OgreOggISound *sound=0)
 
bool _releaseSoundSource (OgreOggISound *sound=0)
 
bool _releaseSharedBuffer (const Ogre::String &sName, ALuint &buffer)
 
bool _registerSharedBuffer (const Ogre::String &sName, ALuint &buffer, OgreOggISound *parent=0)
 
void setDistanceModel (ALenum value)
 
const ALenum getDistanceModel () const
 
void setDopplerFactor (float factor=1.f)
 
float getDopplerFactor ()
 
void setSpeedOfSound (float speed=363.f)
 
float getSpeedOfSound ()
 
void fadeMasterVolume (float time, bool fadeIn)
 
const Ogre::StringVector getDeviceList () const
 
OgreOggListenergetListener ()
 
int getNumSources () const
 
void update (float fTime=0.f)
 
void setResourceGroupName (const Ogre::String &group)
 
Ogre::String getResourceGroupName () const
 
bool hasEFXSupport ()
 
bool hasEAXSupport ()
 
void setEFXDistanceUnits (float unit=3.3f)
 
bool createEFXFilter (const Ogre::String &eName, ALint type, ALfloat gain=1.0, ALfloat hfGain=1.0, ALfloat lfGain=1.0)
 
bool createEFXEffect (const Ogre::String &eName, ALint type, EFXEAXREVERBPROPERTIES *props=0)
 
bool setEFXSoundProperties (const Ogre::String &sName, float airAbsorption=0.f, float roomRolloff=0.f, float coneOuterHF=0.f)
 
bool setEFXEffectParameter (const Ogre::String &eName, ALint effectType, ALenum attrib, ALfloat param)
 
bool setEFXEffectParameter (const Ogre::String &eName, ALint type, ALenum attrib, ALfloat *params=0)
 
bool setEFXEffectParameter (const Ogre::String &eName, ALint type, ALenum attrib, ALint param)
 
bool setEFXEffectParameter (const Ogre::String &eName, ALint type, ALenum attrib, ALint *params=0)
 
int getMaxAuxiliaryEffectSlots ()
 
int getMaxAuxiliaryEffectSends ()
 
int getNumberOfCreatedEffectSlots ()
 
bool createEFXSlot ()
 
bool attachEffectToSound (const Ogre::String &sName, ALuint slotID, const Ogre::String &effect="", const Ogre::String &filter="")
 
bool detachEffectFromSound (const Ogre::String &sName, ALuint slotID)
 
bool attachFilterToSound (const Ogre::String &sName, const Ogre::String &filter="")
 
bool detachFilterFromSound (const Ogre::String &sName)
 
bool _setEFXSoundPropertiesImpl (OgreOggISound *sound=0, float airAbsorption=0.f, float roomRolloff=0.f, float coneOuterHF=0.f)
 
bool _attachEffectToSoundImpl (OgreOggISound *sound=0, ALuint slot=255, const Ogre::String &effect="", const Ogre::String &filter="")
 
bool _detachEffectFromSoundImpl (OgreOggISound *sound=0, ALuint slotID=255)
 
bool _attachFilterToSoundImpl (OgreOggISound *sound=0, const Ogre::String &filter="")
 
bool _detachFilterFromSoundImpl (OgreOggISound *sound=0)
 
bool isEffectSupported (ALint effectID)
 
OgreOggSoundRecordcreateRecorder ()
 
OgreOggSoundRecordgetRecorder ()
 
bool isRecordingAvailable () const
 
const RecordDeviceListgetCaptureDeviceList ()
 
- Public Member Functions inherited from Ogre::Singleton< OgreOggSoundManager >
 Singleton (void)
 
 ~Singleton (void)
 

Static Public Attributes

static const Ogre::String OGREOGGSOUND_VERSION_STRING
 

Private Member Functions

OgreOggISound_createSoundImpl (Ogre::SceneManager *scnMgr, const Ogre::String &name, const Ogre::String &file, bool stream=false, bool loop=false, bool preBuffer=false, bool immediate=false)
 
void _loadSoundImpl (OgreOggISound *sound, const Ogre::String &file, bool prebuffer)
 
void _destroySoundImpl (OgreOggISound *sound=0)
 
void _releaseSoundImpl (OgreOggISound *sound=0)
 
void _removeFromLists (OgreOggISound *sound=0)
 
void _stopAllSoundsImpl ()
 
void _setGlobalPitchImpl ()
 
void _pauseAllSoundsImpl ()
 
void _resumeAllPausedSoundsImpl ()
 
void _destroyAllSoundsImpl ()
 
int _createSourcePool ()
 
sharedAudioBuffer_getSharedBuffer (const Ogre::String &sName)
 
Ogre::DataStreamPtr _openStream (const Ogre::String &file) const
 
void _releaseAll ()
 
void _checkFeatureSupport ()
 
void _checkExtensionSupport ()
 
bool _checkEFXSupport ()
 
void _determineAuxEffectSlots ()
 
ALuint _getEFXFilter (const Ogre::String &fName)
 
ALuint _getEFXEffect (const Ogre::String &eName)
 
ALuint _getEFXSlot (int slotID=0)
 
bool _setEAXReverbProperties (EFXEAXREVERBPROPERTIES *pEFXEAXReverb, ALuint uiEffect)
 
bool _attachEffectToSlot (ALuint slot, ALuint effect)
 
void _reactivateQueuedSounds ()
 
void _reactivateQueuedSoundsImpl ()
 
void _enumDevices ()
 
OgreOggListener_createListener ()
 
void _destroyListener ()
 

Static Private Member Functions

static Ogre::Real _calculateDistanceToListener (OgreOggISound *sound, const Ogre::Vector3 &listenerPos)
 

Private Attributes

LocklessQueue< OgreOggISound * > * mSoundsToDestroy
 
ALCdevice * mDevice
 
ALCcontext * mContext
 
ALfloat mOrigVolume
 
SoundMap mSoundMap
 
ActiveList mActiveSounds
 
ActiveList mPausedSounds
 
ActiveList mSoundsToReactivate
 
ActiveList mWaitingSounds
 
SourceList mSourcePool
 
FeatureList mEFXSupportList
 
SharedBufferList mSharedBuffers
 
Ogre::Real mFadeTime
 
Ogre::Real mFadeTimer
 
bool mFadeIn
 
bool mFadeVolume
 
ALCchar * mDeviceStrings
 
SourceList mSources
 
unsigned int mMaxSources
 
float mGlobalPitch
 
OgreOggSoundRecordmRecorder
 
RecordDeviceList mRecordDeviceList
 
bool mEFXSupport
 
LPALGENEFFECTS alGenEffects
 
LPALDELETEEFFECTS alDeleteEffects
 
LPALISEFFECT alIsEffect
 
LPALEFFECTI alEffecti
 
LPALEFFECTIV alEffectiv
 
LPALEFFECTF alEffectf
 
LPALEFFECTFV alEffectfv
 
LPALGETEFFECTI alGetEffecti
 
LPALGETEFFECTIV alGetEffectiv
 
LPALGETEFFECTF alGetEffectf
 
LPALGETEFFECTFV alGetEffectfv
 
LPALGENFILTERS alGenFilters
 
LPALDELETEFILTERS alDeleteFilters
 
LPALISFILTER alIsFilter
 
LPALFILTERI alFilteri
 
LPALFILTERIV alFilteriv
 
LPALFILTERF alFilterf
 
LPALFILTERFV alFilterfv
 
LPALGETFILTERI alGetFilteri
 
LPALGETFILTERIV alGetFilteriv
 
LPALGETFILTERF alGetFilterf
 
LPALGETFILTERFV alGetFilterfv
 
LPALGENAUXILIARYEFFECTSLOTS alGenAuxiliaryEffectSlots
 
LPALDELETEAUXILIARYEFFECTSLOTS alDeleteAuxiliaryEffectSlots
 
LPALISAUXILIARYEFFECTSLOT alIsAuxiliaryEffectSlot
 
LPALAUXILIARYEFFECTSLOTI alAuxiliaryEffectSloti
 
LPALAUXILIARYEFFECTSLOTIV alAuxiliaryEffectSlotiv
 
LPALAUXILIARYEFFECTSLOTF alAuxiliaryEffectSlotf
 
LPALAUXILIARYEFFECTSLOTFV alAuxiliaryEffectSlotfv
 
LPALGETAUXILIARYEFFECTSLOTI alGetAuxiliaryEffectSloti
 
LPALGETAUXILIARYEFFECTSLOTIV alGetAuxiliaryEffectSlotiv
 
LPALGETAUXILIARYEFFECTSLOTF alGetAuxiliaryEffectSlotf
 
LPALGETAUXILIARYEFFECTSLOTFV alGetAuxiliaryEffectSlotfv
 
bool mEAXSupport
 
int mEAXVersion
 
bool mXRamSupport
 
EffectList mFilterList
 
EffectList mEffectList
 
SourceList mEffectSlotList
 
ALint mNumEffectSlots
 
ALint mNumSendsPerSource
 
ALenum mXRamSize
 
ALenum mXRamFree
 
ALenum mXRamAuto
 
ALenum mXRamHardware
 
ALenum mXRamAccessible
 
ALenum mCurrentXRamMode
 
ALint mXRamSizeMB
 
ALint mXRamFreeMB
 
Ogre::String mResourceGroupName
 
Ogre::SceneManagermSceneMgr
 
OgreOggListenermListener
 

Friends

class OgreOggSoundFactory
 
class OgreOggISound
 

Additional Inherited Members

- Static Public Member Functions inherited from Ogre::Singleton< OgreOggSoundManager >
static T & getSingleton (void)
 
static T * getSingletonPtr (void)
 

Detailed Description

Sound Manager: Manages all sounds for an application.

Constructor & Destructor Documentation

◆ OgreOggSoundManager()

OgreOggSound::OgreOggSoundManager::OgreOggSoundManager ( )

Creates a manager for all sounds within the application.

◆ ~OgreOggSoundManager()

OgreOggSound::OgreOggSoundManager::~OgreOggSoundManager ( )

Destroys this manager.

Remarks
Destroys all sound objects and thread if defined. Cleans up all OpenAL objects, buffers and devices and closes down the audio device.

Member Function Documentation

◆ _attachEffectToSlot()

bool OgreOggSound::OgreOggSoundManager::_attachEffectToSlot ( ALuint  slot,
ALuint  effect 
)
private

Attaches a created effect to an Auxiliary slot

Parameters
slotSlot ID
effectEffect ID

◆ _attachEffectToSoundImpl()

bool OgreOggSound::OgreOggSoundManager::_attachEffectToSoundImpl ( OgreOggISound sound = 0,
ALuint  slot = 255,
const Ogre::String effect = "",
const Ogre::String filter = "" 
)

Attaches an effect to a sound

Remarks
Currently sound must have a source attached prior to this call.
Parameters
soundSound pointer
slotSlot ID
effectName of effect as defined when created
filterName of filter as defined when created

◆ _attachFilterToSoundImpl()

bool OgreOggSound::OgreOggSoundManager::_attachFilterToSoundImpl ( OgreOggISound sound = 0,
const Ogre::String filter = "" 
)

Attaches a filter to a sound

Remarks
Currently sound must have a source attached prior to this call.
Parameters
soundSound pointer
filterName of filter as defined when created

◆ _calculateDistanceToListener()

static Ogre::Real OgreOggSound::OgreOggSoundManager::_calculateDistanceToListener ( OgreOggISound sound,
const Ogre::Vector3 listenerPos 
)
staticprivate

Calculates the distance a sound is from the specified listener position.

◆ _checkEFXSupport()

bool OgreOggSound::OgreOggSoundManager::_checkEFXSupport ( )
private

Checks for EFX hardware support

◆ _checkExtensionSupport()

void OgreOggSound::OgreOggSoundManager::_checkExtensionSupport ( )
private

Checks and Logs a list of supported extensions

Remarks
Queries OpenAL for the supported extentions and lists them with the LogManager.

◆ _checkFeatureSupport()

void OgreOggSound::OgreOggSoundManager::_checkFeatureSupport ( )
private

Checks and Logs a list of supported features

Remarks
Queries OpenAL for various supported features and lists them with the LogManager.

◆ _createListener()

OgreOggListener* OgreOggSound::OgreOggSoundManager::_createListener ( )
private

Creates a listener object.

◆ _createSoundImpl()

OgreOggISound* OgreOggSound::OgreOggSoundManager::_createSoundImpl ( Ogre::SceneManager scnMgr,
const Ogre::String name,
const Ogre::String file,
bool  stream = false,
bool  loop = false,
bool  preBuffer = false,
bool  immediate = false 
)
private

Creates a single sound object (implementation).

Remarks
Creates and inits a single sound object, depending on passed parameters this function will create a static/streamed sound. Each sound must have a unique name within the manager.
Parameters
scnMgrPointer to creator
nameUnique name of sound
fileAudio file path string or "BUFFER" for memory buffer sound (OgreOggStreamBufferSound)
streamFlag indicating if the sound sound be streamed.
loopFlag indicating if the file should loop.
preBufferFlag indicating if a source should be attached at creation.
immediateOptional flag to indicate creation should occur immediately and not be passed to background thread for queueing.
Can be used to overcome the random creation time which might not be acceptable (MULTI-THREADED ONLY)

◆ _createSourcePool()

int OgreOggSound::OgreOggSoundManager::_createSourcePool ( )
private

Creates a pool of OpenAL sources for playback.

Remarks
Attempts to create a pool of source objects which allow simultaneous audio playback. The number of sources will be clamped to either the hardware maximum or [mMaxSources], whichever comes first.

◆ _destroyAllSoundsImpl()

void OgreOggSound::OgreOggSoundManager::_destroyAllSoundsImpl ( )
private

Destroys all sounds.

◆ _destroyListener()

void OgreOggSound::OgreOggSoundManager::_destroyListener ( )
private

Destroys a listener object.

◆ _destroySoundImpl()

void OgreOggSound::OgreOggSoundManager::_destroySoundImpl ( OgreOggISound sound = 0)
private

Destroys a single sound.

Remarks
Destroys a single sound object.
Parameters
soundSound object to destroy.

◆ _destroyTemporarySound()

void OgreOggSound::OgreOggSoundManager::_destroyTemporarySound ( OgreOggISound sound)

Destroys a temporary sound.

Remarks
Internal use only.
Parameters
soundSound to destroy.

◆ _destroyTemporarySoundImpl()

void OgreOggSound::OgreOggSoundManager::_destroyTemporarySoundImpl ( OgreOggISound sound)

Destroys a temporary sound implementation

Remarks
Internal use only.
Parameters
soundSound to destroy.

◆ _detachEffectFromSoundImpl()

bool OgreOggSound::OgreOggSoundManager::_detachEffectFromSoundImpl ( OgreOggISound sound = 0,
ALuint  slotID = 255 
)

Detaches all effects from a sound

Remarks
Currently sound must have a source attached prior to this call.
Parameters
soundSound pointer
slotIDSlot ID

◆ _detachFilterFromSoundImpl()

bool OgreOggSound::OgreOggSoundManager::_detachFilterFromSoundImpl ( OgreOggISound sound = 0)

Detaches all filters from a sound

Remarks
Currently sound must have a source attached prior to this call.
Parameters
soundSound pointer

◆ _determineAuxEffectSlots()

void OgreOggSound::OgreOggSoundManager::_determineAuxEffectSlots ( )
private

Checks for EAX effect support

◆ _enumDevices()

void OgreOggSound::OgreOggSoundManager::_enumDevices ( )
private

Enumerates audio devices.

Remarks
Gets a list of audio devices available.

◆ _getEFXEffect()

ALuint OgreOggSound::OgreOggSoundManager::_getEFXEffect ( const Ogre::String eName)
private

Gets a specified EFX Effect

Parameters
eNameName of effect as defined when created.

◆ _getEFXFilter()

ALuint OgreOggSound::OgreOggSoundManager::_getEFXFilter ( const Ogre::String fName)
private

Gets a specified EFX filter

Parameters
fNameName of filter as defined when created.

◆ _getEFXSlot()

ALuint OgreOggSound::OgreOggSoundManager::_getEFXSlot ( int  slotID = 0)
private

Gets a specified EFX Effect slot

Parameters
slotIDIndex of auxiliary effect slot

◆ _getSharedBuffer()

sharedAudioBuffer* OgreOggSound::OgreOggSoundManager::_getSharedBuffer ( const Ogre::String sName)
private

Gets a shared audio buffer

Remarks
Returns a previously loaded shared buffer reference if available. NOTE:- Increments a reference count so releaseSharedBuffer() must be called when buffer is no longer used.
Parameters
sNameName of audio file

◆ _loadSoundImpl()

void OgreOggSound::OgreOggSoundManager::_loadSoundImpl ( OgreOggISound sound,
const Ogre::String file,
bool  prebuffer 
)
private

Implementation of sound loading

Parameters
soundSound pointer.
fileName of sound file.
prebufferPrebuffer flag.

◆ _openStream()

Ogre::DataStreamPtr OgreOggSound::OgreOggSoundManager::_openStream ( const Ogre::String file) const
private

Opens the specified file as a new data stream.

Parameters
fileThe path to the resource file to open.

◆ _pauseAllSoundsImpl()

void OgreOggSound::OgreOggSoundManager::_pauseAllSoundsImpl ( )
private

Pauses all currently playing sounds.

◆ _reactivateQueuedSounds()

void OgreOggSound::OgreOggSoundManager::_reactivateQueuedSounds ( )
private

Re-activates any sounds which had their source stolen.

◆ _reactivateQueuedSoundsImpl()

void OgreOggSound::OgreOggSoundManager::_reactivateQueuedSoundsImpl ( )
private

Re-activates any sounds which had their source stolen, implementation methods.

Remarks
When all sources are in use, the sounds begin to give up their source objects to higher priority sounds.
When this happens the lower priority sound is queued ready to re-play when a source becomes available again, this function checks this queue and tries to re-play those sounds.
Only affects sounds which were originally playing when forced to give up their source object.

◆ _registerSharedBuffer()

bool OgreOggSound::OgreOggSoundManager::_registerSharedBuffer ( const Ogre::String sName,
ALuint &  buffer,
OgreOggISound parent = 0 
)

Registers a shared audio buffer

Remarks
Internal function - SHOULD NOT BE CALLED BY USER CODE
Its possible to share audio buffer data among many sources so this function registers an audio buffer as 'sharable', meaning if a the same audio file is created more then once, it will simply use the original buffer data instead of creating/loading the same data again.
Parameters
sNameName of audio file
bufferOpenAL buffer ID holding audio data
parentSound from where to copy the properties: Buffers, PlayTime, Format

◆ _releaseAll()

void OgreOggSound::OgreOggSoundManager::_releaseAll ( )
private

Releases all sounds and buffers

Remarks
Release all sounds and their associated OpenAL objects from the system.

◆ _releaseSharedBuffer()

bool OgreOggSound::OgreOggSoundManager::_releaseSharedBuffer ( const Ogre::String sName,
ALuint &  buffer 
)

Releases a shared audio buffer

Remarks
Internal function - SHOULD NOT BE CALLED BY USER CODE
Each shared audio buffer is reference counted so destruction is handled correctly, this function merely decrements the reference count, only destroying when no sounds are referencing buffer.
Parameters
sNameName of audio file
bufferBuffer ID

◆ _releaseSoundImpl()

void OgreOggSound::OgreOggSoundManager::_releaseSoundImpl ( OgreOggISound sound = 0)
private

Destroys a single sound.

Remarks
Destroys a single sound object.
Parameters
soundSound to destroy.

◆ _releaseSoundSource()

bool OgreOggSound::OgreOggSoundManager::_releaseSoundSource ( OgreOggISound sound = 0)

Release a sounds source.

Remarks
Internal function - SHOULD NOT BE CALLED BY USER CODE
Releases a specified sounds source object back to the system, allowing it to be re-used by another sound.
Parameters
soundSound pointer.

◆ _removeFromLists()

void OgreOggSound::OgreOggSoundManager::_removeFromLists ( OgreOggISound sound = 0)
private

Removes references of a sound from all possible internal lists.

Remarks
Various lists exist to manage numerous states of a sound, this function exists to remove a sound object from any/all lists it has previously been added to.
Parameters
soundSound to destroy.

◆ _requestSoundSource()

bool OgreOggSound::OgreOggSoundManager::_requestSoundSource ( OgreOggISound sound = 0)

Requests a free source object.

Remarks
Internal function - SHOULD NOT BE CALLED BY USER CODE
Retrieves a free source object and attaches it to the specified sound object. Internally checks for any currently available sources, then checks stopped sounds and finally prioritised sounds.
Parameters
soundSound pointer.

◆ _resumeAllPausedSoundsImpl()

void OgreOggSound::OgreOggSoundManager::_resumeAllPausedSoundsImpl ( )
private

Resumes all previously playing sounds.

◆ _setEAXReverbProperties()

bool OgreOggSound::OgreOggSoundManager::_setEAXReverbProperties ( EFXEAXREVERBPROPERTIES *  pEFXEAXReverb,
ALuint  uiEffect 
)
private

Sets EAX reverb properties using a specified present

Parameters
pEFXEAXReverbPointer to converted EFXEAXREVERBPROPERTIES structure object
uiEffectEffect ID

◆ _setEFXSoundPropertiesImpl()

bool OgreOggSound::OgreOggSoundManager::_setEFXSoundPropertiesImpl ( OgreOggISound sound = 0,
float  airAbsorption = 0.f,
float  roomRolloff = 0.f,
float  coneOuterHF = 0.f 
)

Sets extended properties on a specified sounds source

Remarks
Tries to set EFX extended source properties.
Parameters
soundName of sound.
airAbsorptionAbsorption factor for air.
roomRolloffRoom rolloff factor.
coneOuterHFCone outer gain factor for High frequencies.

◆ _setGlobalPitchImpl()

void OgreOggSound::OgreOggSoundManager::_setGlobalPitchImpl ( )
private

Applys global pitch.

◆ _stopAllSoundsImpl()

void OgreOggSound::OgreOggSoundManager::_stopAllSoundsImpl ( )
private

Stops all currently playing sounds.

◆ addSoundToResume()

void OgreOggSound::OgreOggSoundManager::addSoundToResume ( OgreOggISound sound)

Add single sound to list of sounds resumed on resumeAllPausedSounds call.

Remarks
Do not pause sound or check play/pause state. Only add to list of sounds to resume.
Parameters
soundSound pointer.

◆ attachEffectToSound()

bool OgreOggSound::OgreOggSoundManager::attachEffectToSound ( const Ogre::String sName,
ALuint  slotID,
const Ogre::String effect = "",
const Ogre::String filter = "" 
)

Attaches an effect to a sound

Remarks
Currently sound must have a source attached prior to this call.
Parameters
sNameName of sound
slotIDID of the EFX slot where the sound will be attached along with the effect
effectName of effect as defined when created
filterName of filter as defined when created

◆ attachFilterToSound()

bool OgreOggSound::OgreOggSoundManager::attachFilterToSound ( const Ogre::String sName,
const Ogre::String filter = "" 
)

Attaches a filter to a sound

Remarks
Currently sound must have a source attached prior to this call. (Does nothing without EAX or EFX support)
Parameters
sNameName of sound
filterName of filter as defined when created

◆ createEFXEffect()

bool OgreOggSound::OgreOggSoundManager::createEFXEffect ( const Ogre::String eName,
ALint  type,
EFXEAXREVERBPROPERTIES *  props = 0 
)

Creates a specified EFX effect

Remarks
Creates a specified EFX effect if hardware supports it. Optional reverb preset structure can be passed which will be applied to the effect. See eax-util.h for list of presets.
Parameters
eNameName for effect.
typeSee OpenAL docs for available effects.
propsLegacy structure describing a preset reverb effect. (See efx-presets.h)

◆ createEFXFilter()

bool OgreOggSound::OgreOggSoundManager::createEFXFilter ( const Ogre::String eName,
ALint  type,
ALfloat  gain = 1.0,
ALfloat  hfGain = 1.0,
ALfloat  lfGain = 1.0 
)

Creates a specified EFX filter

Remarks
Creates a specified EFX filter if hardware supports it.
Parameters
eNamename for the filter.
typePossible types: AL_FILTER_LOWPASS, AL_FILTER_HIGHPASS, AL_FILTER_BANDPASS.
gainGain of the allowed frequency band. Range: [0.0, 1.0]
hfGainDesired gain for filtered high frequencies (only affects lowpass and bandpass filters). Range: [0.0, 1.0]
lfGainDesired gain for filtered low frequencies (only affects highpass and bandpass filters). Range: [0.0, 1.0]

◆ createEFXSlot()

bool OgreOggSound::OgreOggSoundManager::createEFXSlot ( )

Creates an EFX slot

Remarks
Creates an EFX slot if the hardware supports it.

◆ createListener()

bool OgreOggSound::OgreOggSoundManager::createListener ( )

Creates a listener object for the system

Remarks
Only needed when SceneManager->clearScene() or similar is used, which destroys the listener object automatically without the manager knowing. You can therefore use this function to recreate a listener object for the system.

◆ createRecorder()

OgreOggSoundRecord* OgreOggSound::OgreOggSoundManager::createRecorder ( )

Creates recording class to manage device recording

◆ createSound()

OgreOggISound* OgreOggSound::OgreOggSoundManager::createSound ( const Ogre::String name,
const Ogre::String file,
bool  stream = false,
bool  loop = false,
bool  preBuffer = false,
Ogre::SceneManager scnMgr = 0,
bool  immediate = false 
)

Creates a single sound object.

Remarks
Plugin specific version of createSound, uses createMovableObject() to instantiate a sound automatically registered with the supplied SceneManager, allows OGRE to automatically cleanup/manage this sound. Each sound must have a unique name within the manager.
Parameters
nameUnique name of sound
fileAudio file path string or "BUFFER" for memory buffer sound (OgreOggStreamBufferSound)
streamFlag indicating if the sound sound be streamed.
loopFlag indicating if the file should loop.
preBufferFlag indicating if a source should be attached at creation.
scnMgrPointer to SceneManager this sound belongs - 0 defaults to first SceneManager defined.
immediateOptional flag to indicate creation should occur immediately and not be passed to background thread for queueing.
Can be used to overcome the random creation time which might not be acceptable (MULTI-THREADED ONLY)

◆ destroyAllSounds()

void OgreOggSound::OgreOggSoundManager::destroyAllSounds ( )

Destroys all sounds within manager.

◆ destroySound() [1/2]

void OgreOggSound::OgreOggSoundManager::destroySound ( const Ogre::String name = "")

Destroys a single sound.

Remarks
Destroys a single sound object.
Parameters
nameSound name to destroy.

◆ destroySound() [2/2]

void OgreOggSound::OgreOggSoundManager::destroySound ( OgreOggISound sound)

Destroys a single sound.

Remarks
Destroys a single sound object.
Parameters
soundSound to destroy.

◆ detachEffectFromSound()

bool OgreOggSound::OgreOggSoundManager::detachEffectFromSound ( const Ogre::String sName,
ALuint  slotID 
)

Detaches all effects from a sound

Remarks
Currently sound must have a source attached prior to this call. (Does nothing without EAX or EFX support)
Parameters
sNameName of sound
slotIDID of the EFX slot where the sound was attached in the call to attachEffectToSound()

◆ detachFilterFromSound()

bool OgreOggSound::OgreOggSoundManager::detachFilterFromSound ( const Ogre::String sName)

Detaches all filters from a sound

Remarks
Currently sound must have a source attached prior to this call.
Parameters
sNameName of sound

◆ fadeMasterVolume()

void OgreOggSound::OgreOggSoundManager::fadeMasterVolume ( float  time,
bool  fadeIn 
)

Fades master volume in/out

Remarks
Allows fading of in/out of alls sounds

◆ getCaptureDeviceList()

const RecordDeviceList& OgreOggSound::OgreOggSoundManager::getCaptureDeviceList ( )

Gets a list of strings with the names of the available capture devices

◆ getDeviceList()

const Ogre::StringVector OgreOggSound::OgreOggSoundManager::getDeviceList ( ) const

Gets a list of device strings

Remarks
Creates a list of available audio device strings

◆ getDistanceModel()

const ALenum OgreOggSound::OgreOggSoundManager::getDistanceModel ( ) const

Gets the distance model.

Remarks
Gets the global distance attenuation algorithm used by all sounds in the system.
Parameters
valueALenum value of distance model.

◆ getDopplerFactor()

float OgreOggSound::OgreOggSoundManager::getDopplerFactor ( )

Gets doppler factor.

Remarks
Gets the global doppler factor which affects attenuation for all sounds
Parameters
factorFactor scale (>0).

◆ getGlobalPitch()

const float OgreOggSound::OgreOggSoundManager::getGlobalPitch ( ) const
inline

Gets the current global pitch.

◆ getListener()

OgreOggListener* OgreOggSound::OgreOggSoundManager::getListener ( )
inline

Returns pointer to listener.

◆ getMasterVolume()

ALfloat OgreOggSound::OgreOggSoundManager::getMasterVolume ( )

Gets the current global volume for all sounds

◆ getMaxAuxiliaryEffectSends()

int OgreOggSound::OgreOggSoundManager::getMaxAuxiliaryEffectSends ( )
inline

Gets the maximum number of Auxiliary Effect Sends per source

Remarks
Returns how many simultaneous effects can be applied to any one source object.

◆ getMaxAuxiliaryEffectSlots()

int OgreOggSound::OgreOggSoundManager::getMaxAuxiliaryEffectSlots ( )
inline

Gets the maximum number of Auxiliary Effect Slots detected for the OpenAL device on initialization

Remarks
Returns how many simultaneous effects can be applied at the same time to the Output Mix.

◆ getNumberOfCreatedEffectSlots()

int OgreOggSound::OgreOggSoundManager::getNumberOfCreatedEffectSlots ( )

Gets the number of currently created Auxiliary Effect slots

Remarks
Returns number of slots created and available for effects/filters.

◆ getNumSounds()

unsigned int OgreOggSound::OgreOggSoundManager::getNumSounds ( ) const
inline

Gets number of currently created sounds

◆ getNumSources()

int OgreOggSound::OgreOggSoundManager::getNumSources ( ) const
inline

Returns number of sources created.

◆ getOpenALContext()

const ALCcontext* OgreOggSound::OgreOggSoundManager::getOpenALContext ( )
inline

Gets the OpenAL context pointer

◆ getOpenALDevice()

const ALCdevice* OgreOggSound::OgreOggSoundManager::getOpenALDevice ( )
inline

Gets the OpenAL device pointer

◆ getRecorder()

OgreOggSoundRecord* OgreOggSound::OgreOggSoundManager::getRecorder ( )
inline

Gets recording class created to manage device recording

◆ getResourceGroupName()

Ogre::String OgreOggSound::OgreOggSoundManager::getResourceGroupName ( ) const

Returns user defined search group name

◆ getSceneManager()

Ogre::SceneManager* OgreOggSound::OgreOggSoundManager::getSceneManager ( )
inline

Gets the default SceneManager for creation of sound objects

◆ getSound()

OgreOggISound* OgreOggSound::OgreOggSoundManager::getSound ( const Ogre::String name)

Gets a named sound.

Remarks
Returns a named sound object if defined, NULL otherwise.
Parameters
nameSound name.

◆ getSoundList()

const Ogre::StringVector OgreOggSound::OgreOggSoundManager::getSoundList ( ) const

Gets list of created sounds.

Remarks
Returns a vector of sound name strings.

◆ getSpeedOfSound()

float OgreOggSound::OgreOggSoundManager::getSpeedOfSound ( )

Gets speed of sound.

Remarks
Gets the global speed of sound used in the attenuation algorithm which affects all sounds.
Parameters
speedSpeed (m/s).

◆ hasEAXSupport()

bool OgreOggSound::OgreOggSoundManager::hasEAXSupport ( )
inline

Returns EAX support status.

◆ hasEFXSupport()

bool OgreOggSound::OgreOggSoundManager::hasEFXSupport ( )
inline

Returns EFX support status.

◆ hasSound()

bool OgreOggSound::OgreOggSoundManager::hasSound ( const Ogre::String name)

Returns whether named sound exists.

Remarks
Checks sound map for a named sound.
Parameters
nameSound name.

◆ init()

bool OgreOggSound::OgreOggSoundManager::init ( const std::string &  deviceName = "",
unsigned int  maxSources = 100,
unsigned int  queueListSize = 100,
Ogre::SceneManager scnMgr = 0 
)

Initialises the audio device.

Remarks
Attempts to initialise the audio device for sound playback. Internally some logging is done to list features supported as well as creating a pool of sources from which sounds can be attached and played.
Parameters
deviceNameAudio device string to open, will use default device if not found.
maxSourcesMaximum number of sources to allocate (optional)
queueListSizeDesired size of queue list (optional | Multi-threaded ONLY)
scnMgrSceneManager to use in order create sounds (If no manager specified, uses the first one)

◆ isEffectSupported()

bool OgreOggSound::OgreOggSoundManager::isEffectSupported ( ALint  effectID)

Returns whether a specified effect is supported

Parameters
effectIDOpenAL effect/filter id. (AL_EFFECT... | AL_FILTER...)

◆ isRecordingAvailable()

bool OgreOggSound::OgreOggSoundManager::isRecordingAvailable ( ) const

Returns whether a capture device is available

◆ muteAllSounds()

void OgreOggSound::OgreOggSoundManager::muteAllSounds ( )
inline

Mutes all sounds.

◆ pauseAllSounds()

void OgreOggSound::OgreOggSoundManager::pauseAllSounds ( )

Pauses all currently playing sounds.

◆ pauseOpenALDevice()

void OgreOggSound::OgreOggSoundManager::pauseOpenALDevice ( )

Pauses the OpenAL device

Remarks
This function allows applications to pause a playback device. The main purpose of this is to silence output, stop processing, and allow the audio hardware to go into a low-power mode. On a mobile device, for instance, apps may want to silence output and not waste battery life with unneeded processing when in the background.
Note
Uses the ALC_SOFT_pause_device extension which is available in OpenAL Soft (https://openal-soft.org/openal-extensions/SOFT_pause_device.txt)

◆ resumeAllPausedSounds()

void OgreOggSound::OgreOggSoundManager::resumeAllPausedSounds ( )

Resumes all previously playing sounds.

◆ resumeOpenALDevice()

void OgreOggSound::OgreOggSoundManager::resumeOpenALDevice ( )

Resumes previously paused OpenAL device

Remarks
This function allows applications to resume a paused playback device.
Note
Uses the ALC_SOFT_pause_device extension which is available in OpenAL Soft (https://openal-soft.org/openal-extensions/SOFT_pause_device.txt)

◆ setDistanceModel()

void OgreOggSound::OgreOggSoundManager::setDistanceModel ( ALenum  value)

Sets distance model.

Remarks
Sets the global distance attenuation algorithm used by all sounds in the system.
Parameters
valueALenum value of distance model.

◆ setDopplerFactor()

void OgreOggSound::OgreOggSoundManager::setDopplerFactor ( float  factor = 1.f)

Sets doppler factor.

Remarks
Sets the global doppler factor which affects attenuation for all sounds
Parameters
factorFactor scale (>0).

◆ setEFXDistanceUnits()

void OgreOggSound::OgreOggSoundManager::setEFXDistanceUnits ( float  unit = 3.3f)

Sets the distance units of measurement for EFX effects.

Remarks
Parameters
unitUnits (meters).

◆ setEFXEffectParameter() [1/4]

bool OgreOggSound::OgreOggSoundManager::setEFXEffectParameter ( const Ogre::String eName,
ALint  effectType,
ALenum  attrib,
ALfloat  param 
)

Sets a specified paremeter on an effect

Remarks
Tries to set a parameter value on a specified effect. Returns true/false.
Parameters
eNameName of effect.
effectTypeSee OpenAL docs for available effects.
attribParameter value to alter.
paramFloat value to set.

◆ setEFXEffectParameter() [2/4]

bool OgreOggSound::OgreOggSoundManager::setEFXEffectParameter ( const Ogre::String eName,
ALint  type,
ALenum  attrib,
ALfloat *  params = 0 
)

Sets a specified paremeter on an effect

Remarks
Tries to set a parameter value on a specified effect. Returns true/false.
Parameters
eNameName of effect.
typeSee OpenAL docs for available effects.
attribParameter value to alter.
paramsVector pointer of float values to set.

◆ setEFXEffectParameter() [3/4]

bool OgreOggSound::OgreOggSoundManager::setEFXEffectParameter ( const Ogre::String eName,
ALint  type,
ALenum  attrib,
ALint *  params = 0 
)

Sets a specified paremeter on an effect

Remarks
Tries to set a parameter value on a specified effect. Returns true/false.
Parameters
eNameName of effect.
typeSee OpenAL docs for available effects.
attribParameter value to alter.
paramsVector pointer of integer values to set.

◆ setEFXEffectParameter() [4/4]

bool OgreOggSound::OgreOggSoundManager::setEFXEffectParameter ( const Ogre::String eName,
ALint  type,
ALenum  attrib,
ALint  param 
)

Sets a specified paremeter on an effect

Remarks
Tries to set a parameter value on a specified effect. Returns true/false.
Parameters
eNameName of effect.
typeSee OpenAL docs for available effects.
attribParameter value to alter.
paramInteger value to set.

◆ setEFXSoundProperties()

bool OgreOggSound::OgreOggSoundManager::setEFXSoundProperties ( const Ogre::String sName,
float  airAbsorption = 0.f,
float  roomRolloff = 0.f,
float  coneOuterHF = 0.f 
)

Sets extended properties on a specified sounds source

Remarks
Tries to set EFX extended source properties.
Parameters
sNameName of sound.
airAbsorptionAbsorption factor for air.
roomRolloffRoom rolloff factor.
coneOuterHFCone outer gain factor for High frequencies.

◆ setGlobalPitch()

void OgreOggSound::OgreOggSoundManager::setGlobalPitch ( float  pitch)

Sets the pitch of all sounds.

Remarks
Sets the pitch modifier applied to all sounds.
Parameters
pitchNew pitch for all sounds (positive value)

◆ setMasterVolume()

void OgreOggSound::OgreOggSoundManager::setMasterVolume ( ALfloat  vol)

Sets the global volume for all sounds

Parameters
volGlobal attenuation for all sounds.

◆ setResourceGroupName()

void OgreOggSound::OgreOggSoundManager::setResourceGroupName ( const Ogre::String group)

Sets a resource group name to search for all sounds first.

Remarks
A speed improvement to skip the cost of searching all resource locations/groups when creating sounds. Will default to searching all groups if sound is not found.
Parameters
groupName of OGRE ResourceGroup.

◆ setSceneManager()

void OgreOggSound::OgreOggSoundManager::setSceneManager ( Ogre::SceneManager sMan)
inline

Sets the default SceneManager for creation of sound objects

◆ setSpeedOfSound()

void OgreOggSound::OgreOggSoundManager::setSpeedOfSound ( float  speed = 363.f)

Sets speed of sound.

Remarks
Sets the global speed of sound used in the attenuation algorithm, affects all sounds.
Parameters
speedSpeed (m/s).

◆ stopAllSounds()

void OgreOggSound::OgreOggSoundManager::stopAllSounds ( )

Stops all currently playing sounds.

◆ unmuteAllSounds()

void OgreOggSound::OgreOggSoundManager::unmuteAllSounds ( )
inline

Un mutes all sounds.

◆ update()

void OgreOggSound::OgreOggSoundManager::update ( float  fTime = 0.f)

Updates system.

Remarks
Iterates all sounds and updates them.
Parameters
fTimeElapsed frametime.

Friends And Related Function Documentation

◆ OgreOggISound

friend class OgreOggISound
friend

◆ OgreOggSoundFactory

friend class OgreOggSoundFactory
friend

Member Data Documentation

◆ alAuxiliaryEffectSlotf

LPALAUXILIARYEFFECTSLOTF OgreOggSound::OgreOggSoundManager::alAuxiliaryEffectSlotf
private

◆ alAuxiliaryEffectSlotfv

LPALAUXILIARYEFFECTSLOTFV OgreOggSound::OgreOggSoundManager::alAuxiliaryEffectSlotfv
private

◆ alAuxiliaryEffectSloti

LPALAUXILIARYEFFECTSLOTI OgreOggSound::OgreOggSoundManager::alAuxiliaryEffectSloti
private

◆ alAuxiliaryEffectSlotiv

LPALAUXILIARYEFFECTSLOTIV OgreOggSound::OgreOggSoundManager::alAuxiliaryEffectSlotiv
private

◆ alDeleteAuxiliaryEffectSlots

LPALDELETEAUXILIARYEFFECTSLOTS OgreOggSound::OgreOggSoundManager::alDeleteAuxiliaryEffectSlots
private

◆ alDeleteEffects

LPALDELETEEFFECTS OgreOggSound::OgreOggSoundManager::alDeleteEffects
private

◆ alDeleteFilters

LPALDELETEFILTERS OgreOggSound::OgreOggSoundManager::alDeleteFilters
private

◆ alEffectf

LPALEFFECTF OgreOggSound::OgreOggSoundManager::alEffectf
private

◆ alEffectfv

LPALEFFECTFV OgreOggSound::OgreOggSoundManager::alEffectfv
private

◆ alEffecti

LPALEFFECTI OgreOggSound::OgreOggSoundManager::alEffecti
private

◆ alEffectiv

LPALEFFECTIV OgreOggSound::OgreOggSoundManager::alEffectiv
private

◆ alFilterf

LPALFILTERF OgreOggSound::OgreOggSoundManager::alFilterf
private

◆ alFilterfv

LPALFILTERFV OgreOggSound::OgreOggSoundManager::alFilterfv
private

◆ alFilteri

LPALFILTERI OgreOggSound::OgreOggSoundManager::alFilteri
private

◆ alFilteriv

LPALFILTERIV OgreOggSound::OgreOggSoundManager::alFilteriv
private

◆ alGenAuxiliaryEffectSlots

LPALGENAUXILIARYEFFECTSLOTS OgreOggSound::OgreOggSoundManager::alGenAuxiliaryEffectSlots
private

◆ alGenEffects

LPALGENEFFECTS OgreOggSound::OgreOggSoundManager::alGenEffects
private

◆ alGenFilters

LPALGENFILTERS OgreOggSound::OgreOggSoundManager::alGenFilters
private

◆ alGetAuxiliaryEffectSlotf

LPALGETAUXILIARYEFFECTSLOTF OgreOggSound::OgreOggSoundManager::alGetAuxiliaryEffectSlotf
private

◆ alGetAuxiliaryEffectSlotfv

LPALGETAUXILIARYEFFECTSLOTFV OgreOggSound::OgreOggSoundManager::alGetAuxiliaryEffectSlotfv
private

◆ alGetAuxiliaryEffectSloti

LPALGETAUXILIARYEFFECTSLOTI OgreOggSound::OgreOggSoundManager::alGetAuxiliaryEffectSloti
private

◆ alGetAuxiliaryEffectSlotiv

LPALGETAUXILIARYEFFECTSLOTIV OgreOggSound::OgreOggSoundManager::alGetAuxiliaryEffectSlotiv
private

◆ alGetEffectf

LPALGETEFFECTF OgreOggSound::OgreOggSoundManager::alGetEffectf
private

◆ alGetEffectfv

LPALGETEFFECTFV OgreOggSound::OgreOggSoundManager::alGetEffectfv
private

◆ alGetEffecti

LPALGETEFFECTI OgreOggSound::OgreOggSoundManager::alGetEffecti
private

◆ alGetEffectiv

LPALGETEFFECTIV OgreOggSound::OgreOggSoundManager::alGetEffectiv
private

◆ alGetFilterf

LPALGETFILTERF OgreOggSound::OgreOggSoundManager::alGetFilterf
private

◆ alGetFilterfv

LPALGETFILTERFV OgreOggSound::OgreOggSoundManager::alGetFilterfv
private

◆ alGetFilteri

LPALGETFILTERI OgreOggSound::OgreOggSoundManager::alGetFilteri
private

◆ alGetFilteriv

LPALGETFILTERIV OgreOggSound::OgreOggSoundManager::alGetFilteriv
private

◆ alIsAuxiliaryEffectSlot

LPALISAUXILIARYEFFECTSLOT OgreOggSound::OgreOggSoundManager::alIsAuxiliaryEffectSlot
private

◆ alIsEffect

LPALISEFFECT OgreOggSound::OgreOggSoundManager::alIsEffect
private

◆ alIsFilter

LPALISFILTER OgreOggSound::OgreOggSoundManager::alIsFilter
private

◆ mActiveSounds

ActiveList OgreOggSound::OgreOggSoundManager::mActiveSounds
private

◆ mContext

ALCcontext* OgreOggSound::OgreOggSoundManager::mContext
private

◆ mCurrentXRamMode

ALenum OgreOggSound::OgreOggSoundManager::mCurrentXRamMode
private

◆ mDevice

ALCdevice* OgreOggSound::OgreOggSoundManager::mDevice
private

OpenAL device objects

◆ mDeviceStrings

ALCchar* OgreOggSound::OgreOggSoundManager::mDeviceStrings
private

◆ mEAXSupport

bool OgreOggSound::OgreOggSoundManager::mEAXSupport
private

EAX Support

◆ mEAXVersion

int OgreOggSound::OgreOggSoundManager::mEAXVersion
private

◆ mEffectList

EffectList OgreOggSound::OgreOggSoundManager::mEffectList
private

◆ mEffectSlotList

SourceList OgreOggSound::OgreOggSoundManager::mEffectSlotList
private

◆ mEFXSupport

bool OgreOggSound::OgreOggSoundManager::mEFXSupport
private

EFX Support

◆ mEFXSupportList

FeatureList OgreOggSound::OgreOggSoundManager::mEFXSupportList
private

◆ mFadeIn

bool OgreOggSound::OgreOggSoundManager::mFadeIn
private

◆ mFadeTime

Ogre::Real OgreOggSound::OgreOggSoundManager::mFadeTime
private

Fading vars

◆ mFadeTimer

Ogre::Real OgreOggSound::OgreOggSoundManager::mFadeTimer
private

◆ mFadeVolume

bool OgreOggSound::OgreOggSoundManager::mFadeVolume
private

◆ mFilterList

EffectList OgreOggSound::OgreOggSoundManager::mFilterList
private

◆ mGlobalPitch

float OgreOggSound::OgreOggSoundManager::mGlobalPitch
private

◆ mListener

OgreOggListener* OgreOggSound::OgreOggSoundManager::mListener
private

Listener pointer

◆ mMaxSources

unsigned int OgreOggSound::OgreOggSoundManager::mMaxSources
private

◆ mNumEffectSlots

ALint OgreOggSound::OgreOggSoundManager::mNumEffectSlots
private

◆ mNumSendsPerSource

ALint OgreOggSound::OgreOggSoundManager::mNumSendsPerSource
private

◆ mOrigVolume

ALfloat OgreOggSound::OgreOggSoundManager::mOrigVolume
private

◆ mPausedSounds

ActiveList OgreOggSound::OgreOggSoundManager::mPausedSounds
private

◆ mRecordDeviceList

RecordDeviceList OgreOggSound::OgreOggSoundManager::mRecordDeviceList
private

◆ mRecorder

OgreOggSoundRecord* OgreOggSound::OgreOggSoundManager::mRecorder
private

◆ mResourceGroupName

Ogre::String OgreOggSound::OgreOggSoundManager::mResourceGroupName
private

◆ mSceneMgr

Ogre::SceneManager* OgreOggSound::OgreOggSoundManager::mSceneMgr
private

◆ mSharedBuffers

SharedBufferList OgreOggSound::OgreOggSoundManager::mSharedBuffers
private

◆ mSoundMap

SoundMap OgreOggSound::OgreOggSoundManager::mSoundMap
private

Sound lists

◆ mSoundsToDestroy

LocklessQueue<OgreOggISound*>* OgreOggSound::OgreOggSoundManager::mSoundsToDestroy
private

◆ mSoundsToReactivate

ActiveList OgreOggSound::OgreOggSoundManager::mSoundsToReactivate
private

◆ mSourcePool

SourceList OgreOggSound::OgreOggSoundManager::mSourcePool
private

◆ mSources

SourceList OgreOggSound::OgreOggSoundManager::mSources
private

◆ mWaitingSounds

ActiveList OgreOggSound::OgreOggSoundManager::mWaitingSounds
private

◆ mXRamAccessible

ALenum OgreOggSound::OgreOggSoundManager::mXRamAccessible
private

◆ mXRamAuto

ALenum OgreOggSound::OgreOggSoundManager::mXRamAuto
private

◆ mXRamFree

ALenum OgreOggSound::OgreOggSoundManager::mXRamFree
private

◆ mXRamFreeMB

ALint OgreOggSound::OgreOggSoundManager::mXRamFreeMB
private

◆ mXRamHardware

ALenum OgreOggSound::OgreOggSoundManager::mXRamHardware
private

◆ mXRamSize

ALenum OgreOggSound::OgreOggSoundManager::mXRamSize
private

◆ mXRamSizeMB

ALint OgreOggSound::OgreOggSoundManager::mXRamSizeMB
private

◆ mXRamSupport

bool OgreOggSound::OgreOggSoundManager::mXRamSupport
private

◆ OGREOGGSOUND_VERSION_STRING

const Ogre::String OgreOggSound::OgreOggSoundManager::OGREOGGSOUND_VERSION_STRING
static

The documentation for this class was generated from the following file: