Spinning Topp Logo BlackTopp Studios
inc
Public Types | Public Member Functions | Protected Attributes | List of all members
Mezzanine::Audio::AudioManager Class Referenceabstract

This is the base manager class for the Audio subsystem and it's operations. More...

#include <audiomanager.h>

+ Inheritance diagram for Mezzanine::Audio::AudioManager:
+ Collaboration diagram for Mezzanine::Audio::AudioManager:

Public Types

typedef DecoderFactoryContainer::const_iterator ConstDecoderFactoryIterator
 Const Iterator type for iDecoderFactory instances stored by this class.
 
typedef std::map< Audio::Encoding, iDecoderFactory * > DecoderFactoryContainer
 Basic container type for iDecoderFactory storage by this class.
 
typedef DecoderFactoryContainer::iterator DecoderFactoryIterator
 Iterator type for iDecoderFactory instances stored by this class.
 
- Public Types inherited from Mezzanine::ManagerBase
enum  ManagerType {
  MT_Undefined = 0, MT_AudioManager = 1, MT_AnimationManager = 2, MT_CollisionShapeManager = 3,
  MT_CompositorManager = 4, MT_GraphicsManager = 5, MT_EventManager = 6, MT_InputManager = 7,
  MT_LogManager = 8, MT_MaterialManager = 9, MT_MeshManager = 10, MT_NetworkManager = 11,
  MT_ResourceManager = 12, MT_ScriptingManager = 13, MT_TextureManager = 14, MT_UIManager = 15,
  MT_ActorManager = 101, MT_AreaEffectManager = 102, MT_DebrisManager = 103, MT_PagingManager = 104,
  MT_PhysicsManager = 105, MT_SceneManager = 106, MT_SoundScapeManager = 107, MT_TerrainManager = 108,
  MT_VehicleManager = 109, MT_UserCreated = 512
}
 A listing of Manager Types. More...
 
- Public Types inherited from Mezzanine::ObjectSettingsHandler
typedef SettingFilesContainer::const_iterator ConstSettingFilesIterator
 Const Iterator type for ObjectSettingGroup instances stored by this class.
 
typedef SettingGroupContainer::const_iterator ConstSettingGroupIterator
 Const Iterator type for ObjectSettingGroup instances stored by this class.
 
typedef std::map< String, ObjectSettingFile * > SettingFilesContainer
 Basic container type for ObjectSettingFile storage by this class.
 
typedef SettingFilesContainer::iterator SettingFilesIterator
 Iterator type for ObjectSettingGroup instances stored by this class.
 
typedef std::map< String, ObjectSettingGroup * > SettingGroupContainer
 Basic container type for ObjectSettingGroup storage by this class.
 
typedef SettingGroupContainer::iterator SettingGroupIterator
 Iterator type for ObjectSettingGroup instances stored by this class.
 
typedef std::vector< ObjectSettingGroup * > SettingGroupVector
 Convenience typedef for Load method returns.
 

Public Member Functions

 AudioManager ()
 Class Constructor.
 
 AudioManager (const XML::Node &XMLNode)
 XML constructor. More...
 
virtual ~AudioManager ()
 Class Destructor. More...
 
virtual void _RegisterSoundScapeManager (Audio::SoundScapeManager *Manager)=0
 Notifies this AudioManager of the creation of a new SoundScapeManager. More...
 
virtual void _UnregisterSoundScapeManager (Audio::SoundScapeManager *Manager)=0
 Notifies this AudioManager of the destruction of a SoundScapeManager. More...
 
void AddDecoderFactory (iDecoderFactory *ToBeAdded)
 Adds a iDecoderFactory to this manager allowing the playback of new types of sound formats. More...
 
virtual iSoundCreateAmbientSound ()
 Creates a blank Ambient iSound without a stream attached to it. More...
 
virtual iSoundCreateAmbientSound (Resource::DataStreamPtr Stream, const Audio::Encoding Encode)
 Creates a new Ambient iSound from a custom stream that is encoded. More...
 
virtual iSoundCreateAmbientSound (Resource::DataStreamPtr Stream, const UInt32 Frequency, const Audio::BitConfig Config)
 Creates a new Ambient iSound from a custom stream that is unencoded. More...
 
virtual iSoundCreateAmbientSound (const String &FileName, const String &Group)
 Creates a new Ambient iSound from a file. More...
 
virtual iSoundCreateAmbientSound (const String &StreamName, Char8 *Buffer, const UInt32 Length, const Audio::Encoding Encode)
 Creates a new Ambient iSound from a memory buffer that is encoded. More...
 
virtual iSoundCreateAmbientSound (const String &StreamName, Char8 *Buffer, const UInt32 Length, const UInt32 Frequency, const Audio::BitConfig Config)
 Creates a new Ambient iSound from a memory buffer that is unencoded. More...
 
virtual iSoundCreateDialogSound ()
 Creates a blank Dialog iSound without a stream attached to it. More...
 
virtual iSoundCreateDialogSound (Resource::DataStreamPtr Stream, const Audio::Encoding Encode)
 Creates a new Dialog iSound from a custom stream that is encoded. More...
 
virtual iSoundCreateDialogSound (Resource::DataStreamPtr Stream, const UInt32 Frequency, const Audio::BitConfig Config)
 Creates a new Dialog iSound from a custom stream that is unencoded. More...
 
virtual iSoundCreateDialogSound (const String &FileName, const String &Group)
 Creates a new Dialog iSound from a file. More...
 
virtual iSoundCreateDialogSound (const String &StreamName, Char8 *Buffer, const UInt32 Length, const Audio::Encoding Encode)
 Creates a new Dialog iSound from a memory buffer that is encoded. More...
 
virtual iSoundCreateDialogSound (const String &StreamName, Char8 *Buffer, const UInt32 Length, const UInt32 Frequency, const Audio::BitConfig Config)
 Creates a new Dialog iSound from a memory buffer that is unencoded. More...
 
virtual iSoundCreateEffectSound ()
 Creates a blank Effect iSound without a stream attached to it. More...
 
virtual iSoundCreateEffectSound (Resource::DataStreamPtr Stream, const Audio::Encoding Encode)
 Creates a new Effect iSound from a custom stream that is encoded. More...
 
virtual iSoundCreateEffectSound (Resource::DataStreamPtr Stream, const UInt32 Frequency, const Audio::BitConfig Config)
 Creates a new Effect iSound from a custom stream that is unencoded. More...
 
virtual iSoundCreateEffectSound (const String &FileName, const String &Group)
 Creates a new Effect iSound from a file. More...
 
virtual iSoundCreateEffectSound (const String &StreamName, Char8 *Buffer, const UInt32 Length, const Audio::Encoding Encode)
 Creates a new Effect iSound from a memory buffer that is encoded. More...
 
virtual iSoundCreateEffectSound (const String &StreamName, Char8 *Buffer, const UInt32 Length, const UInt32 Frequency, const Audio::BitConfig Config)
 Creates a new Effect iSound from a memory buffer that is unencoded. More...
 
virtual iSoundCreateMusicSound ()
 Creates a blank Music iSound without a stream attached to it. More...
 
virtual iSoundCreateMusicSound (Resource::DataStreamPtr Stream, const Audio::Encoding Encode)
 Creates a new Music iSound from a custom stream that is encoded. More...
 
virtual iSoundCreateMusicSound (Resource::DataStreamPtr Stream, const UInt32 Frequency, const Audio::BitConfig Config)
 Creates a new Music iSound from a custom stream that is unencoded. More...
 
virtual iSoundCreateMusicSound (const String &FileName, const String &Group)
 Creates a new Music iSound from a file. More...
 
virtual iSoundCreateMusicSound (const String &StreamName, Char8 *Buffer, const UInt32 Length, const Audio::Encoding Encode)
 Creates a new Music iSound from a memory buffer that is encoded. More...
 
virtual iSoundCreateMusicSound (const String &StreamName, Char8 *Buffer, const UInt32 Length, const UInt32 Frequency, const Audio::BitConfig Config)
 Creates a new Music iSound from a memory buffer that is unencoded. More...
 
virtual iRecorderCreateRecorder ()=0
 Creates a new iRecorder. More...
 
virtual iSoundCreateSound (const UInt16 Type)=0
 Creates a blank iSound without a stream attached to it. More...
 
virtual iSoundCreateSound (const UInt16 Type, Resource::DataStreamPtr Stream, const Audio::Encoding Encode)=0
 Creates a new iSound from a custom stream that is encoded. More...
 
virtual iSoundCreateSound (const UInt16 Type, Resource::DataStreamPtr Stream, const UInt32 Frequency, const Audio::BitConfig Config)=0
 Creates a new iSound from a custom stream that is unencoded. More...
 
virtual iSoundCreateSound (const UInt16 Type, const String &FileName, const String &Group)=0
 Creates a new iSound from a file. More...
 
virtual iSoundCreateSound (const UInt16 Type, const String &StreamName, Char8 *Buffer, const UInt32 Length, const Audio::Encoding Encode)=0
 Creates a new iSound from a memory buffer that is encoded. More...
 
virtual iSoundCreateSound (const UInt16 Type, const String &StreamName, Char8 *Buffer, const UInt32 Length, const UInt32 Frequency, const Audio::BitConfig Config)=0
 Creates a new iSound from a memory buffer that is unencoded. More...
 
Boole DecoderFactoryExists (const Audio::Encoding Format)
 Checks if a iDecoderFactory is already registered with this manager. More...
 
virtual void Deinitialize ()=0
 Removes this manager from any necessary configuration so it can be safely disposed of. More...
 
void DestroyAllDecoderFactories ()
 Destroys all registered iDecoderFactory instances.
 
virtual void DestroyAllRecorders ()=0
 Destroys all iRecorder instances being stored by this manager.
 
virtual void DestroyAllSounds ()=0
 Deletes all stored iSound instances.
 
void DestroyDecoderFactory (iDecoderFactory *ToBeDestroyed)
 Destroy a registered iDecoderFactory. More...
 
void DestroyDecoderFactory (const Encoding Format)
 Destroy a registered iDecoderFactory. More...
 
virtual void DestroyRecorder (iRecorder *ToBeDestroyed)=0
 Destroys a iRecorder instance by pointer. More...
 
virtual void DestroySound (iSound *ToBeDestroyed)=0
 Deletes a iSound. More...
 
virtual Real GetAmbientVolume () const
 Gets the currently set Ambient volume. More...
 
virtual Whole GetAvailablePlaybackDeviceCount () const =0
 Gets the number of available playback devices. More...
 
virtual String GetAvailablePlaybackDeviceName (const Whole &Index) const =0
 Gets the name of an available playback device by index. More...
 
virtual UInt32 GetAvailableRecordingDeviceCount ()=0
 Gets the number of currently available recording devices. More...
 
virtual String GetAvailableRecordingDeviceName (const UInt32 Index)=0
 Gets the name of an available recording device by index. More...
 
virtual iBufferUpdate2DWorkUnitGetBufferUpdate2DWork ()=0
 Gets the work unit responsible for updating the buffers of sounds. More...
 
virtual String GetCurrentPlaybackDeviceName () const =0
 Gets the name of the playback device currently in use. More...
 
iDecoderFactoryGetDecoderFactory (const Audio::Encoding Format)
 Gets an iDecoderFactory by it's supported Audio::Encoding. More...
 
virtual String GetDefaultPlaybackDeviceName () const =0
 Gets the name of the default playback device. More...
 
virtual String GetDefaultRecordingDeviceName ()=0
 Gets the name of the default recording device. More...
 
virtual Real GetDialogVolume () const
 Gets the currently set Dialog volume. More...
 
virtual iEffectFilterCleanWorkUnitGetEffectFilterCleanWork ()=0
 Gets the work unit responsible for cleaning all effects and filters. More...
 
virtual iEffectsHandlerGetEffectsHandler () const =0
 Gets the handler responsible for audio effects. More...
 
virtual Real GetEffectVolume () const
 Gets the currently set Effect volume. More...
 
virtual ManagerType GetInterfaceType () const
 This returns the type of this manager. More...
 
virtual Real GetMasterVolume () const =0
 Gets the currently set Master volume. More...
 
virtual MusicPlayerGetMusicPlayer () const =0
 Gets the music player for this audio subsystem. More...
 
virtual Real GetMusicVolume () const
 Gets the currently set Music volume. More...
 
virtual UInt32 GetNumRecorders () const =0
 Gets the number of iRecorder instances being stored by this manager. More...
 
virtual UInt32 GetNumSounds () const =0
 Gets the number of iSound instances in this manager. More...
 
virtual iRecorderGetRecorder (const UInt32 Index) const =0
 Gets a iRecorder by index. More...
 
virtual iSoundGetSound (const UInt32 Index) const =0
 Gets an iSound instance by index. More...
 
virtual Real GetTypeVolume (const UInt16 Type) const =0
 Gets the volume for all stored Sound instances of the specified type. More...
 
virtual void Initialize ()=0
 Configures this manager for use prior to entering the main loop. More...
 
virtual Boole InitializePlaybackDevice (const String &DeviceName, const Integer OutputFrequency=44100)=0
 Initializes the playback device. More...
 
virtual Boole IsAmbientMuted () const
 Gets whether or not Ambient Sound instances are muted. More...
 
virtual Boole IsDialogMuted () const
 Gets whether or not Dialog Sound instances are muted. More...
 
virtual Boole IsEffectMuted () const
 Gets whether or not Effect Sound instances are muted. More...
 
virtual Boole IsMusicMuted () const
 Gets whether or not Music Sound instances are muted. More...
 
virtual Boole IsMuted () const =0
 Gets whether or not the Audio subsystem is muted. More...
 
virtual Boole IsTypeMuted (const UInt16 Type) const =0
 Gets whether or not Sound instances of the specified type are currently muted. More...
 
virtual void MuteAmbient (Boole Enable)
 Sets whether or not to mute all Ambient Sound instances. More...
 
virtual void MuteDialog (Boole Enable)
 Sets whether or not to mute all Dialog Sound instances. More...
 
virtual void MuteEffect (Boole Enable)
 Sets whether or not to mute all Effect Sound instances. More...
 
virtual void MuteMusic (Boole Enable)
 Sets whether or not to mute all Music Sound instances. More...
 
virtual void MuteType (const UInt16 Type, Boole Enable)=0
 Sets whether or not to mute all Sound instances of a specified type. More...
 
virtual Boole PlaybackDeviceNameValid (const String &DeviceName) const =0
 Checks to see if the named playback device is available. More...
 
void RemoveAllDecoderFactories ()
 Removes (but does not destroy) all registered iDecoderFactory instances.
 
void RemoveDecoderFactory (iDecoderFactory *ToBeRemoved)
 Removes (but does not destroy) an iDecoderFactory. More...
 
void RemoveDecoderFactory (const Audio::Encoding Format)
 Removes (but does not destroy) an iDecoderFactory. More...
 
virtual void SetAmbientVolume (const Real &Ambient)
 Sets the volume for all stored Ambient Sound instances. More...
 
virtual void SetDialogVolume (const Real &Dialog)
 Sets the volume for all stored Dialog Sound instances. More...
 
virtual void SetEffectVolume (const Real &Effect)
 Sets the volume for all stored Effect Sound instances. More...
 
virtual void SetMasterMute (Boole Enable)=0
 Sets whether or not to mute all Audio. More...
 
virtual void SetMasterVolume (const Real &Master)=0
 Sets the volume for all stored Sound instances. More...
 
virtual void SetMusicVolume (const Real &Music)
 Sets the volume for all stored Music Sound instances. More...
 
virtual void SetTypeVolume (const UInt16 Type, const Real Vol)=0
 Sets the volume for all stored Sound instances of the specified type. More...
 
virtual void ShutdownPlaybackDevice ()=0
 Shuts down the current playback device and unloads all sounds. More...
 
- Public Member Functions inherited from Mezzanine::EntresolManager
 EntresolManager ()
 Class constructor.
 
virtual ~EntresolManager ()
 Class destructor.
 
- Public Member Functions inherited from Mezzanine::ManagerBase
 ManagerBase ()
 Class constructor.
 
virtual ~ManagerBase ()
 Class destructor.
 
virtual String GetImplementationTypeName () const =0
 This Allows any manager name to be sent to a stream. Primarily used for logging. More...
 
virtual String GetInterfaceTypeAsString () const
 Gets a string of the interface type of this manager. More...
 
Boole IsInitialized () const
 Gets whether or not this manager has been initialized. More...
 
- Public Member Functions inherited from Mezzanine::ObjectSettingsHandler
 ObjectSettingsHandler ()
 Class constructor.
 
virtual ~ObjectSettingsHandler ()
 Class destructor.
 
void AddGroupToFile (ObjectSettingGroup *Group, const String &FileName)
 Assigns a SettingGroup to a file name that will be used when settings are saved. More...
 
void ApplySettingGroup (const String &GroupName)
 Applies all the settings (and their values) defined in a setting group. More...
 
ObjectSettingFileCreateSettingFile (const String &FileName)
 Creates a new Setting file that will track which groups are a part of it. More...
 
ObjectSettingGroupCreateSettingGroup (const String &Name)
 Creates a new blank setting group that can have it's settings populated. More...
 
void DestroyAllSettingFiles ()
 Destroys all Setting files in this handler. More...
 
void DestroyAllSettingGroups ()
 Destroys all setting groups stored in this handler.
 
void DestroySettingFile (const String &FileName)
 Destroys a Setting file by name. More...
 
void DestroySettingFile (ObjectSettingFile *ToBeDestroyed)
 Destroys a Setting file. More...
 
void DestroySettingGroup (const String &Name)
 Destroys a setting group by name. More...
 
void DestroySettingGroup (ObjectSettingGroup *ToBeDestroyed)
 Destroys a setting group. More...
 
Boole GetAutoGenFiles () const
 Gets whether or not this object is currently allowed to create/update settings files upon initialization and destruction. More...
 
Boole GetAutoGenPath () const
 Gets whether or not this object is currently allowed to create folders when saving. More...
 
ConstStringGetCurrentSettingsSaveFile () const
 Gets the name of the file the "Current" setting group is saved to. More...
 
ObjectSettingFileGetSettingFile (const String &FileName)
 Gets a Setting file by name. More...
 
ObjectSettingGroupGetSettingGroup (const String &Name) const
 Gets a setting group by name. More...
 
const StringGetSettingsFilePath () const
 Gets the currently set settings file path. More...
 
CountedPtr< SettingGroupVectorLoadSettings (const String &FileName, const String &Path)
 Loads settings from a settings file. More...
 
CountedPtr< SettingGroupVectorLoadSettings (const String &FileName)
 Loads settings from a settings file using the specified settings path. More...
 
CountedPtr< SettingGroupVectorLoadSettingsFromGroup (const String &FileName, const String &Group)
 Loads settings from a settings file. More...
 
CountedPtr< SettingGroupVectorLoadSettingsFromXML (XML::Node &RootSettings)
 Loads settings from an xml node. More...
 
void ProtoDeSerialize (const XML::Node &SelfRoot)
 Take the data stored in an XML Node and overwrite this object with it. More...
 
void ProtoSerialize (XML::Node &SelfRoot) const
 Convert this class to an XML::Node ready for serialization. More...
 
void RemoveGroupFromFile (ObjectSettingGroup *Group, const String &FileName)
 Removes a previously assigned group from a save file name. More...
 
void SaveAllSettings ()
 Saves all settings that need saving. More...
 
void SaveSettingGroups (StringVector &GroupNames, const String &FileName, const String &Path)
 Saves all settings to a settings file. More...
 
void SaveSettingGroups (StringVector &GroupNames, const String &FileName)
 Saves all settings to a settings file using the specified settings path. More...
 
void SaveSettingsByFile (const String &FileName, const String &Path)
 Saves all settings that have their optional filename set to the specified file. More...
 
void SaveSettingsByFile (const String &FileName)
 Saves all settings that have their optional filename set to the specified file. More...
 
void SaveSettingsToXML (XML::Node &RootSettings, Boole SaveCurrent=true)
 Saves all the current setting groups as children of the provided XML node. More...
 
void SaveSettingsToXML (StringVector &GroupNames, XML::Node &RootSettings)
 Saves the named settings groups as children of the provided XML node. More...
 
void SetAutoGenFiles (Boole Enable)
 Enables or disables the automatic creation of settings files on initialization and destruction of this object. More...
 
void SetAutoGenPath (Boole Enable)
 Enables or disables the automatic creation of a directory path when saving. More...
 
void SetCurrentSettingsSaveFile (const String &FileName)
 Sets the name of the file that will have this object's "current" settings saved to. More...
 
void SetSettingsFilePath (const String &Path)
 Sets the path to be assumed when saving/loading settings to files. More...
 
- Public Member Functions inherited from Mezzanine::Singleton< AudioManager >
 ~Singleton ()
 Class destructor.
 

Protected Attributes

DecoderFactoryContainer DecoderFactories
 Container storing all registered iDecoderFactory instances. More...
 
- Protected Attributes inherited from Mezzanine::ManagerBase
Boole Initialized
 Simple Boole indicating whether or not this manager has been initialized. More...
 
EntresolTheEntresol
 The actual pointer to the Entresol core class. More...
 
- Protected Attributes inherited from Mezzanine::ObjectSettingsHandler
Boole AutoGenFiles
 Stores whether or not this handler will attempt to automatically generate a file if it doesn't exist. More...
 
Boole AutoGenPath
 Stores whether or not this handler will attempt to automatically generate a path to a file if it doesn't exist. More...
 
String CurrentSettingsSaveFile
 Stores the name of the file where the "Current" settings group will be saved to. More...
 
SettingFilesContainer SettingFiles
 A container storing all the file saving configuration used by this handler. More...
 
SettingGroupContainer SettingGroups
 A container storing all the SettingGroups owned by this handler. More...
 
String SettingsFilePath
 Stores the path to be used for file IO operations done by this handler. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from Mezzanine::ManagerBase
static String GetTypeAsString (const ManagerType &ManagerType)
 Gets the string form of the type of manager. More...
 
static ManagerType GetTypeFromString (const String &ManagerName)
 Gets the type of manager requested from a string. More...
 
- Static Public Member Functions inherited from Mezzanine::ObjectSettingsHandler
static String GetSerializableName ()
 Get the name of the the XML tag the class will leave behind as its instances are serialized. More...
 
- Static Public Member Functions inherited from Mezzanine::Singleton< AudioManager >
static AudioManager * GetSingletonPtr ()
 Fetches a pointer to the singleton. More...
 
static Boole SingletonValid ()
 Checks to see if the singleton pointer is valid. More...
 
- Protected Member Functions inherited from Mezzanine::ObjectSettingsHandler
virtual void AppendCurrentSettings (XML::Node &CurrentNode)=0
 Takes all the current settings of this handler and serializes them to an XML::Node. More...
 
virtual void ApplySettingGroupImpl (ObjectSettingGroup *Group)=0
 Applies all the settings stored by a ObjectSettingGroup. More...
 
virtual String GetObjectRootNodeName () const =0
 Gets the name to be given to a Node with this handlers serialized data. More...
 
void LoadSettingSetFromXML (XML::Node &XMLNode, ObjectSettingSet *Set)
 Populates an ObjectSettingSet with settings stored in XML. More...
 
CountedPtr< SettingGroupVectorLoadSettingsFromFile (const String &FileName, const String &Path)
 Loads all ObjectSettingGroup instances serialized to a XML file into usable ObjectSettingGroup instances. More...
 
void SaveSettingSetToXML (XML::Node &XMLNode, ObjectSettingSet *Set)
 Saves an ObjectSettingSet to an XML node. More...
 
void SaveSettingsToFile (StringVector &GroupNames, const String &FileName, const String &Path)
 Saves a collection of ObjectSettingGroups stored by this handler to a file as XML. More...
 
- Protected Member Functions inherited from Mezzanine::Singleton< AudioManager >
 Singleton ()
 Class constructor.
 
- Static Protected Attributes inherited from Mezzanine::Singleton< AudioManager >
static AudioManager * SingletonPtr
 The one and only pointer to the single object. More...
 

Detailed Description

This is the base manager class for the Audio subsystem and it's operations.

This is a place for loading, storing, and running sound files as necessary in a given application.

Definition at line 114 of file audiomanager.h.

Constructor & Destructor Documentation

Mezzanine::Audio::AudioManager::AudioManager ( const XML::Node XMLNode)

XML constructor.

Parameters
XMLNodeThe node of the xml document to construct from.

Definition at line 81 of file audiomanager.cpp.

Mezzanine::Audio::AudioManager::~AudioManager ( )
virtual

Class Destructor.

The class destructor.

Definition at line 94 of file audiomanager.cpp.

Member Function Documentation

virtual void Mezzanine::Audio::AudioManager::_RegisterSoundScapeManager ( Audio::SoundScapeManager Manager)
pure virtual

Notifies this AudioManager of the creation of a new SoundScapeManager.

Parameters
ManagerA pointer to the manager being registered.
virtual void Mezzanine::Audio::AudioManager::_UnregisterSoundScapeManager ( Audio::SoundScapeManager Manager)
pure virtual

Notifies this AudioManager of the destruction of a SoundScapeManager.

Parameters
ManagerA pointer to the manager being unregistered.
void Mezzanine::Audio::AudioManager::AddDecoderFactory ( iDecoderFactory ToBeAdded)

Adds a iDecoderFactory to this manager allowing the playback of new types of sound formats.

Note
If an iDecoderFactory is already registered to the same Audio::Encoding, it will be replaced. It will not be deleted. Use with care.
Parameters
ToBeAddedA pointer to the iDecoderFactory to be added.

Definition at line 211 of file audiomanager.cpp.

iSound * Mezzanine::Audio::AudioManager::CreateAmbientSound ( )
virtual

Creates a blank Ambient iSound without a stream attached to it.

Returns
Returns a pointer to the iSound instance that was created.

Definition at line 106 of file audiomanager.cpp.

iSound * Mezzanine::Audio::AudioManager::CreateAmbientSound ( Resource::DataStreamPtr  Stream,
const Audio::Encoding  Encode 
)
virtual

Creates a new Ambient iSound from a custom stream that is encoded.

Parameters
StreamA Datastream containing the data to be streamed for this iSound.
EncodeThe encoding to be expected when decoding audio for this iSound.
Returns
Returns a pointer to the iSound instance that was created.

Definition at line 115 of file audiomanager.cpp.

iSound * Mezzanine::Audio::AudioManager::CreateAmbientSound ( Resource::DataStreamPtr  Stream,
const UInt32  Frequency,
const Audio::BitConfig  Config 
)
virtual

Creates a new Ambient iSound from a custom stream that is unencoded.

Parameters
StreamA Datastream containing the data to be streamed for this iSound.
FrequencyThe frequency (or sample rate) of the audio data.
ConfigThe bit configuration of the audio data. Helps to determine sample size.
Returns
Returns a pointer to the iSound instance that was created.

Definition at line 124 of file audiomanager.cpp.

iSound * Mezzanine::Audio::AudioManager::CreateAmbientSound ( const String FileName,
const String Group 
)
virtual

Creates a new Ambient iSound from a file.

Parameters
FileNameThe name of the file to read audio data from.
GroupThe resource group in which the file resides.
Returns
Returns a pointer to the iSound instance that was created.

Definition at line 133 of file audiomanager.cpp.

iSound * Mezzanine::Audio::AudioManager::CreateAmbientSound ( const String StreamName,
Char8 Buffer,
const UInt32  Length,
const Audio::Encoding  Encode 
)
virtual

Creates a new Ambient iSound from a memory buffer that is encoded.

Note
The buffer is copied and put into a memory stream. Thus safe for disposal afterward.
Parameters
StreamNameThe name to be given to the stream being created.
BufferA pointer to the buffer where the audio data is located.
LengthThe length of the buffer provided to this method(in bytes).
EncodeThe encoding to be expected when decoding audio for this iSound.
Returns
Returns a pointer to the iSound instance that was created.

Definition at line 142 of file audiomanager.cpp.

iSound * Mezzanine::Audio::AudioManager::CreateAmbientSound ( const String StreamName,
Char8 Buffer,
const UInt32  Length,
const UInt32  Frequency,
const Audio::BitConfig  Config 
)
virtual

Creates a new Ambient iSound from a memory buffer that is unencoded.

Note
The buffer is copied and put into a memory stream. Thus safe for disposal afterward.
Parameters
StreamNameThe name to be given to the stream being created.
BufferA pointer to the buffer where the audio data is located.
LengthThe length of the buffer provided to this method(in bytes).
FrequencyThe frequency (or sample rate) of the audio data.
ConfigThe bit configuration of the audio data. Helps to determine sample size.
Returns
Returns a pointer to the iSound instance that was created.

Definition at line 151 of file audiomanager.cpp.

iSound * Mezzanine::Audio::AudioManager::CreateDialogSound ( )
virtual

Creates a blank Dialog iSound without a stream attached to it.

Returns
Returns a pointer to the iSound instance that was created.

Definition at line 108 of file audiomanager.cpp.

iSound * Mezzanine::Audio::AudioManager::CreateDialogSound ( Resource::DataStreamPtr  Stream,
const Audio::Encoding  Encode 
)
virtual

Creates a new Dialog iSound from a custom stream that is encoded.

Parameters
StreamA Datastream containing the data to be streamed for this iSound.
EncodeThe encoding to be expected when decoding audio for this iSound.
Returns
Returns a pointer to the iSound instance that was created.

Definition at line 117 of file audiomanager.cpp.

iSound * Mezzanine::Audio::AudioManager::CreateDialogSound ( Resource::DataStreamPtr  Stream,
const UInt32  Frequency,
const Audio::BitConfig  Config 
)
virtual

Creates a new Dialog iSound from a custom stream that is unencoded.

Parameters
StreamA Datastream containing the data to be streamed for this iSound.
FrequencyThe frequency (or sample rate) of the audio data.
ConfigThe bit configuration of the audio data. Helps to determine sample size.
Returns
Returns a pointer to the iSound instance that was created.

Definition at line 126 of file audiomanager.cpp.

iSound * Mezzanine::Audio::AudioManager::CreateDialogSound ( const String FileName,
const String Group 
)
virtual

Creates a new Dialog iSound from a file.

Parameters
FileNameThe name of the file to read audio data from.
GroupThe resource group in which the file resides.
Returns
Returns a pointer to the iSound instance that was created.

Definition at line 135 of file audiomanager.cpp.

iSound * Mezzanine::Audio::AudioManager::CreateDialogSound ( const String StreamName,
Char8 Buffer,
const UInt32  Length,
const Audio::Encoding  Encode 
)
virtual

Creates a new Dialog iSound from a memory buffer that is encoded.

Note
The buffer is copied and put into a memory stream. Thus safe for disposal afterward.
Parameters
StreamNameThe name of the iSound instance.
BufferA pointer to the buffer where the audio data is located.
LengthThe length of the buffer provided to this method(in bytes).
EncodeThe encoding to be expected when decoding audio for this iSound.
Returns
Returns a pointer to the iSound instance that was created.

Definition at line 144 of file audiomanager.cpp.

iSound * Mezzanine::Audio::AudioManager::CreateDialogSound ( const String StreamName,
Char8 Buffer,
const UInt32  Length,
const UInt32  Frequency,
const Audio::BitConfig  Config 
)
virtual

Creates a new Dialog iSound from a memory buffer that is unencoded.

Note
The buffer is copied and put into a memory stream. Thus safe for disposal afterward.
Parameters
StreamNameThe name to be given to the stream being created.
BufferA pointer to the buffer where the audio data is located.
LengthThe length of the buffer provided to this method(in bytes).
FrequencyThe frequency (or sample rate) of the audio data.
ConfigThe bit configuration of the audio data. Helps to determine sample size.
Returns
Returns a pointer to the iSound instance that was created.

Definition at line 153 of file audiomanager.cpp.

iSound * Mezzanine::Audio::AudioManager::CreateEffectSound ( )
virtual

Creates a blank Effect iSound without a stream attached to it.

Returns
Returns a pointer to the iSound instance that was created.

Definition at line 110 of file audiomanager.cpp.

iSound * Mezzanine::Audio::AudioManager::CreateEffectSound ( Resource::DataStreamPtr  Stream,
const Audio::Encoding  Encode 
)
virtual

Creates a new Effect iSound from a custom stream that is encoded.

Parameters
StreamA Datastream containing the data to be streamed for this iSound.
EncodeThe encoding to be expected when decoding audio for this iSound.
Returns
Returns a pointer to the iSound instance that was created.

Definition at line 119 of file audiomanager.cpp.

iSound * Mezzanine::Audio::AudioManager::CreateEffectSound ( Resource::DataStreamPtr  Stream,
const UInt32  Frequency,
const Audio::BitConfig  Config 
)
virtual

Creates a new Effect iSound from a custom stream that is unencoded.

Parameters
StreamA Datastream containing the data to be streamed for this iSound.
FrequencyThe frequency (or sample rate) of the audio data.
ConfigThe bit configuration of the audio data. Helps to determine sample size.
Returns
Returns a pointer to the iSound instance that was created.

Definition at line 128 of file audiomanager.cpp.

iSound * Mezzanine::Audio::AudioManager::CreateEffectSound ( const String FileName,
const String Group 
)
virtual

Creates a new Effect iSound from a file.

Parameters
FileNameThe name of the file to read audio data from.
GroupThe resource group in which the file resides.
Returns
Returns a pointer to the iSound instance that was created.

Definition at line 137 of file audiomanager.cpp.

iSound * Mezzanine::Audio::AudioManager::CreateEffectSound ( const String StreamName,
Char8 Buffer,
const UInt32  Length,
const Audio::Encoding  Encode 
)
virtual

Creates a new Effect iSound from a memory buffer that is encoded.

Note
The buffer is copied and put into a memory stream. Thus safe for disposal afterward.
Parameters
StreamNameThe name to be given to the stream being created.
BufferA pointer to the buffer where the audio data is located.
LengthThe length of the buffer provided to this method(in bytes).
EncodeThe encoding to be expected when decoding audio for this iSound.
Returns
Returns a pointer to the iSound instance that was created.

Definition at line 146 of file audiomanager.cpp.

iSound * Mezzanine::Audio::AudioManager::CreateEffectSound ( const String StreamName,
Char8 Buffer,
const UInt32  Length,
const UInt32  Frequency,
const Audio::BitConfig  Config 
)
virtual

Creates a new Effect iSound from a memory buffer that is unencoded.

Note
The buffer is copied and put into a memory stream. Thus safe for disposal afterward.
Parameters
StreamNameThe name to be given to the stream being created.
BufferA pointer to the buffer where the audio data is located.
LengthThe length of the buffer provided to this method(in bytes).
FrequencyThe frequency (or sample rate) of the audio data.
ConfigThe bit configuration of the audio data. Helps to determine sample size.
Returns
Returns a pointer to the iSound instance that was created.

Definition at line 155 of file audiomanager.cpp.

iSound * Mezzanine::Audio::AudioManager::CreateMusicSound ( )
virtual

Creates a blank Music iSound without a stream attached to it.

Returns
Returns a pointer to the iSound instance that was created.

Definition at line 112 of file audiomanager.cpp.

iSound * Mezzanine::Audio::AudioManager::CreateMusicSound ( Resource::DataStreamPtr  Stream,
const Audio::Encoding  Encode 
)
virtual

Creates a new Music iSound from a custom stream that is encoded.

Parameters
StreamA Datastream containing the data to be streamed for this iSound.
EncodeThe encoding to be expected when decoding audio for this iSound.
Returns
Returns a pointer to the iSound instance that was created.

Definition at line 121 of file audiomanager.cpp.

iSound * Mezzanine::Audio::AudioManager::CreateMusicSound ( Resource::DataStreamPtr  Stream,
const UInt32  Frequency,
const Audio::BitConfig  Config 
)
virtual

Creates a new Music iSound from a custom stream that is unencoded.

Parameters
StreamA Datastream containing the data to be streamed for this iSound.
FrequencyThe frequency (or sample rate) of the audio data.
ConfigThe bit configuration of the audio data. Helps to determine sample size.
Returns
Returns a pointer to the iSound instance that was created.

Definition at line 130 of file audiomanager.cpp.

iSound * Mezzanine::Audio::AudioManager::CreateMusicSound ( const String FileName,
const String Group 
)
virtual

Creates a new Music iSound from a file.

Parameters
FileNameThe name of the file to read audio data from.
GroupThe resource group in which the file resides.
Returns
Returns a pointer to the iSound instance that was created.

Definition at line 139 of file audiomanager.cpp.

iSound * Mezzanine::Audio::AudioManager::CreateMusicSound ( const String StreamName,
Char8 Buffer,
const UInt32  Length,
const Audio::Encoding  Encode 
)
virtual

Creates a new Music iSound from a memory buffer that is encoded.

Note
The buffer is copied and put into a memory stream. Thus safe for disposal afterward.
Parameters
StreamNameThe name to be given to the stream being created.
BufferA pointer to the buffer where the audio data is located.
LengthThe length of the buffer provided to this method(in bytes).
EncodeThe encoding to be expected when decoding audio for this iSound.
Returns
Returns a pointer to the iSound instance that was created.

Definition at line 148 of file audiomanager.cpp.

iSound * Mezzanine::Audio::AudioManager::CreateMusicSound ( const String StreamName,
Char8 Buffer,
const UInt32  Length,
const UInt32  Frequency,
const Audio::BitConfig  Config 
)
virtual

Creates a new Music iSound from a memory buffer that is unencoded.

Note
The buffer is copied and put into a memory stream. Thus safe for disposal afterward.
Parameters
StreamNameThe name to be given to the stream being created.
BufferA pointer to the buffer where the audio data is located.
LengthThe length of the buffer provided to this method(in bytes).
FrequencyThe frequency (or sample rate) of the audio data.
ConfigThe bit configuration of the audio data. Helps to determine sample size.
Returns
Returns a pointer to the iSound instance that was created.

Definition at line 157 of file audiomanager.cpp.

virtual iRecorder* Mezzanine::Audio::AudioManager::CreateRecorder ( )
pure virtual

Creates a new iRecorder.

Returns
Returns a pointer to the created iRecorder.
virtual iSound* Mezzanine::Audio::AudioManager::CreateSound ( const UInt16  Type)
pure virtual

Creates a blank iSound without a stream attached to it.

Parameters
TypeA UInt16 that is the ID for the type of sound the created iSound is to be categorized as.
Returns
Returns a pointer to the iSound instance that was created.
virtual iSound* Mezzanine::Audio::AudioManager::CreateSound ( const UInt16  Type,
Resource::DataStreamPtr  Stream,
const Audio::Encoding  Encode 
)
pure virtual

Creates a new iSound from a custom stream that is encoded.

Parameters
TypeA UInt16 that is the ID for the type of sound the created iSound is to be categorized as.
StreamA Datastream containing the data to be streamed for this iSound.
EncodeThe encoding to be expected when decoding audio for this iSound.
Returns
Returns a pointer to the iSound instance that was created.
virtual iSound* Mezzanine::Audio::AudioManager::CreateSound ( const UInt16  Type,
Resource::DataStreamPtr  Stream,
const UInt32  Frequency,
const Audio::BitConfig  Config 
)
pure virtual

Creates a new iSound from a custom stream that is unencoded.

Parameters
TypeA UInt16 that is the ID for the type of sound the created iSound is to be categorized as.
StreamA Datastream containing the data to be streamed for this iSound.
FrequencyThe frequency (or sample rate) of the audio data.
ConfigThe bit configuration of the audio data. Helps to determine sample size.
Returns
Returns a pointer to the iSound instance that was created.
virtual iSound* Mezzanine::Audio::AudioManager::CreateSound ( const UInt16  Type,
const String FileName,
const String Group 
)
pure virtual

Creates a new iSound from a file.

Parameters
TypeA UInt16 that is the ID for the type of sound the created iSound is to be categorized as.
FileNameThe name of the file to read audio data from.
GroupThe resource group in which the file resides.
Returns
Returns a pointer to the iSound instance that was created.
virtual iSound* Mezzanine::Audio::AudioManager::CreateSound ( const UInt16  Type,
const String StreamName,
Char8 Buffer,
const UInt32  Length,
const Audio::Encoding  Encode 
)
pure virtual

Creates a new iSound from a memory buffer that is encoded.

Note
The created stream will take ownership of the buffer you provide. If you want it to have a separate buffer then create a copy and pass that in.
Parameters
TypeA UInt16 that is the ID for the type of sound the created iSound is to be categorized as.
StreamNameThe name to be given to the stream being created.
BufferA pointer to the buffer where the audio data is located.
LengthThe length of the buffer provided to this method(in bytes).
EncodeThe encoding to be expected when decoding audio for this iSound.
Returns
Returns a pointer to the iSound instance that was created.
virtual iSound* Mezzanine::Audio::AudioManager::CreateSound ( const UInt16  Type,
const String StreamName,
Char8 Buffer,
const UInt32  Length,
const UInt32  Frequency,
const Audio::BitConfig  Config 
)
pure virtual

Creates a new iSound from a memory buffer that is unencoded.

Note
The created stream will take ownership of the buffer you provide. If you want it to have a separate buffer then create a copy and pass that in.
Parameters
TypeA UInt16 that is the ID for the type of sound the created iSound is to be categorized as.
StreamNameThe name to be given to the stream being created.
BufferA pointer to the buffer where the audio data is located.
LengthThe length of the buffer provided to this method(in bytes).
FrequencyThe frequency (or sample rate) of the audio data.
ConfigThe bit configuration of the audio data. Helps to determine sample size.
Returns
Returns a pointer to the iSound instance that was created.
Boole Mezzanine::Audio::AudioManager::DecoderFactoryExists ( const Audio::Encoding  Format)

Checks if a iDecoderFactory is already registered with this manager.

Parameters
FormatThe Audio::Encoding supported by the iDecoderFactory to look for.
Returns
Returns true if a iDecoderFactory supporting that Audio::Encoding exists, false otherwise.

Definition at line 218 of file audiomanager.cpp.

virtual void Mezzanine::Audio::AudioManager::Deinitialize ( )
pure virtual

Removes this manager from any necessary configuration so it can be safely disposed of.

Implements Mezzanine::ManagerBase.

void Mezzanine::Audio::AudioManager::DestroyDecoderFactory ( iDecoderFactory ToBeDestroyed)

Destroy a registered iDecoderFactory.

Parameters
ToBeDestroyedA pointer to the iDecoderFactory to be destroyed.

Definition at line 245 of file audiomanager.cpp.

void Mezzanine::Audio::AudioManager::DestroyDecoderFactory ( const Encoding  Format)

Destroy a registered iDecoderFactory.

Parameters
FormatThe Audio::Encoding supported by the iDecoderFactory to be destroyed.

Definition at line 250 of file audiomanager.cpp.

virtual void Mezzanine::Audio::AudioManager::DestroyRecorder ( iRecorder ToBeDestroyed)
pure virtual

Destroys a iRecorder instance by pointer.

Parameters
ToBeDestroyedA pointer to the iRecorder instance to be destroyed.
virtual void Mezzanine::Audio::AudioManager::DestroySound ( iSound ToBeDestroyed)
pure virtual

Deletes a iSound.

Parameters
ToBeDestroyedA pointer to the iSound you want deleted.
Real Mezzanine::Audio::AudioManager::GetAmbientVolume ( ) const
virtual

Gets the currently set Ambient volume.

Returns
Returns a Real representing the current Ambient volume.

Definition at line 168 of file audiomanager.cpp.

virtual Whole Mezzanine::Audio::AudioManager::GetAvailablePlaybackDeviceCount ( ) const
pure virtual

Gets the number of available playback devices.

This function will return the total number of available devices, including the default.

Returns
Returns the number of available devices.
virtual String Mezzanine::Audio::AudioManager::GetAvailablePlaybackDeviceName ( const Whole Index) const
pure virtual

Gets the name of an available playback device by index.

This function will retrieve the name of a device by it's index on the sound managers device list.

Parameters
IndexThe position on the device list you wish to access the name of.
Returns
Returns the name of the device.
virtual UInt32 Mezzanine::Audio::AudioManager::GetAvailableRecordingDeviceCount ( )
pure virtual

Gets the number of currently available recording devices.

Returns
Returns a UInt32 containing the number of recording devices on this system.
virtual String Mezzanine::Audio::AudioManager::GetAvailableRecordingDeviceName ( const UInt32  Index)
pure virtual

Gets the name of an available recording device by index.

Parameters
IndexThe index of the device to retrieve the name for.
Returns
Returns a String containing the available device name at the specified index.
virtual iBufferUpdate2DWorkUnit* Mezzanine::Audio::AudioManager::GetBufferUpdate2DWork ( )
pure virtual

Gets the work unit responsible for updating the buffers of sounds.

Returns
Returns a pointer to the BufferUpdate2DWorkUnit used by this manager.
virtual String Mezzanine::Audio::AudioManager::GetCurrentPlaybackDeviceName ( ) const
pure virtual

Gets the name of the playback device currently in use.

Returns
Returns a String containing the name of the device this manager was initiailzed with, or empty if one hasn't been set.
iDecoderFactory * Mezzanine::Audio::AudioManager::GetDecoderFactory ( const Audio::Encoding  Format)

Gets an iDecoderFactory by it's supported Audio::Encoding.

Parameters
FormatThe Audio::Encoding supported by the iDecoderFactory to retrieve.
Returns
Returns a pointer to the iDecoderFactory registered to the provided Audio::Encoding, or NULL if none are registered.

Definition at line 223 of file audiomanager.cpp.

virtual String Mezzanine::Audio::AudioManager::GetDefaultPlaybackDeviceName ( ) const
pure virtual

Gets the name of the default playback device.

This function will return the name of the system default device.

Returns
Returns the name of the default device.
virtual String Mezzanine::Audio::AudioManager::GetDefaultRecordingDeviceName ( )
pure virtual

Gets the name of the default recording device.

Returns
Returns a String containing the name of the default recording device on this system.
Real Mezzanine::Audio::AudioManager::GetDialogVolume ( ) const
virtual

Gets the currently set Dialog volume.

Returns
Returns a Real representing the current Dialog volume.

Definition at line 177 of file audiomanager.cpp.

virtual iEffectFilterCleanWorkUnit* Mezzanine::Audio::AudioManager::GetEffectFilterCleanWork ( )
pure virtual

Gets the work unit responsible for cleaning all effects and filters.

Returns
Returns a pointer to the BufferUpdateWorkUnit used by this manager.
virtual iEffectsHandler* Mezzanine::Audio::AudioManager::GetEffectsHandler ( ) const
pure virtual

Gets the handler responsible for audio effects.

Returns
Returns a pointer to the iEffectsHandler for this audio subsystem.
Real Mezzanine::Audio::AudioManager::GetEffectVolume ( ) const
virtual

Gets the currently set Effect volume.

Returns
Returns a Real representing the current Effect volume.

Definition at line 186 of file audiomanager.cpp.

ManagerBase::ManagerType Mezzanine::Audio::AudioManager::GetInterfaceType ( ) const
virtual

This returns the type of this manager.

This is intended to make using and casting from Manager base easier. With this is is possible to cast from ManagerBase to the correct Manager Type.

Returns
This returns a ManagerTypeName to identify what this can be safely cast to.

Implements Mezzanine::ManagerBase.

Definition at line 272 of file audiomanager.cpp.

virtual Real Mezzanine::Audio::AudioManager::GetMasterVolume ( ) const
pure virtual

Gets the currently set Master volume.

Returns
Returns a Real representing the current Master volume.
virtual MusicPlayer* Mezzanine::Audio::AudioManager::GetMusicPlayer ( ) const
pure virtual

Gets the music player for this audio subsystem.

Returns
Returns a pointer to the Music player belonging to this system, or NULL if this manager does not support one.
Real Mezzanine::Audio::AudioManager::GetMusicVolume ( ) const
virtual

Gets the currently set Music volume.

Returns
Returns a Real representing the current Music volume.

Definition at line 195 of file audiomanager.cpp.

virtual UInt32 Mezzanine::Audio::AudioManager::GetNumRecorders ( ) const
pure virtual

Gets the number of iRecorder instances being stored by this manager.

Returns
Returns a UInt32 representing the number of iRecorder instances within this manager.
virtual UInt32 Mezzanine::Audio::AudioManager::GetNumSounds ( ) const
pure virtual

Gets the number of iSound instances in this manager.

Returns
Returns a UInt32 representing the number of iSound instances contained in this manager.
virtual iRecorder* Mezzanine::Audio::AudioManager::GetRecorder ( const UInt32  Index) const
pure virtual

Gets a iRecorder by index.

Parameters
IndexThe index of the iRecorder to retrieve.
Returns
Returns a pointer to the iRecorder at the specified index.
virtual iSound* Mezzanine::Audio::AudioManager::GetSound ( const UInt32  Index) const
pure virtual

Gets an iSound instance by index.

Parameters
IndexThe index of the iSound to be retrieved.
Returns
Returns a pointer to the iSound at the specified index.
virtual Real Mezzanine::Audio::AudioManager::GetTypeVolume ( const UInt16  Type) const
pure virtual

Gets the volume for all stored Sound instances of the specified type.

Note
Although this can accept any UInt16 value, be mindful of the SoundType enum to avoid type collisions.
Exceptions
Thismethod can throw a "II_IDENTITY_NOT_FOUND_EXCEPTION" if the a handler of the specified type does not exist.
Parameters
TypeA UInt16 that is the ID for the type of Sound instances to get the volume of.
Returns
Returns a Real representing the current volume of the specified sound type.
virtual void Mezzanine::Audio::AudioManager::Initialize ( )
pure virtual

Configures this manager for use prior to entering the main loop.

Implements Mezzanine::ManagerBase.

virtual Boole Mezzanine::Audio::AudioManager::InitializePlaybackDevice ( const String DeviceName,
const Integer  OutputFrequency = 44100 
)
pure virtual

Initializes the playback device.

This function will initialize the device using the parameters provided. You need to call this function if you passed false into the sound manager constructor before you can use the manager.

Parameters
DeviceNameThe name of the device you wish to have this manager interface with/use.
OutputFrequencyFrequency of the output audio, -1 for the devices default.
Returns
Returns true if the device was initialized successfully. False on a failure.
Boole Mezzanine::Audio::AudioManager::IsAmbientMuted ( ) const
virtual

Gets whether or not Ambient Sound instances are muted.

Returns
Returns true if Ambient sounds are muted, false otherwise.

Definition at line 172 of file audiomanager.cpp.

Boole Mezzanine::Audio::AudioManager::IsDialogMuted ( ) const
virtual

Gets whether or not Dialog Sound instances are muted.

Returns
Returns true if Dialog sounds are muted, false otherwise.

Definition at line 181 of file audiomanager.cpp.

Boole Mezzanine::Audio::AudioManager::IsEffectMuted ( ) const
virtual

Gets whether or not Effect Sound instances are muted.

Returns
Returns true if Effect sounds are muted, false otherwise.

Definition at line 190 of file audiomanager.cpp.

Boole Mezzanine::Audio::AudioManager::IsMusicMuted ( ) const
virtual

Gets whether or not Music Sound instances are muted.

Returns
Returns true if Music sounds are muted, false otherwise.

Definition at line 199 of file audiomanager.cpp.

virtual Boole Mezzanine::Audio::AudioManager::IsMuted ( ) const
pure virtual

Gets whether or not the Audio subsystem is muted.

Returns
Returns a Boole indicating whether or not the Audio subsystem is currently muted.
virtual Boole Mezzanine::Audio::AudioManager::IsTypeMuted ( const UInt16  Type) const
pure virtual

Gets whether or not Sound instances of the specified type are currently muted.

Note
Although this can accept any UInt16 value, be mindful of the SoundType enum to avoid type collisions.
Exceptions
Thismethod can throw a "II_IDENTITY_NOT_FOUND_EXCEPTION" if the a handler of the specified type does not exist.
Parameters
TypeA UInt16 that is the ID for the type of Sound instances to check.
Returns
Returns true if sounds of the specifed type are muted, false otherwise.
void Mezzanine::Audio::AudioManager::MuteAmbient ( Boole  Enable)
virtual

Sets whether or not to mute all Ambient Sound instances.

Parameters
EnableTrue to mute Ambient sounds, false to unmute them.

Definition at line 170 of file audiomanager.cpp.

void Mezzanine::Audio::AudioManager::MuteDialog ( Boole  Enable)
virtual

Sets whether or not to mute all Dialog Sound instances.

Parameters
EnableTrue to mute Dialog sounds, false to unmute them.

Definition at line 179 of file audiomanager.cpp.

void Mezzanine::Audio::AudioManager::MuteEffect ( Boole  Enable)
virtual

Sets whether or not to mute all Effect Sound instances.

Parameters
EnableTrue to mute Effect sounds, false to unmute them.

Definition at line 188 of file audiomanager.cpp.

void Mezzanine::Audio::AudioManager::MuteMusic ( Boole  Enable)
virtual

Sets whether or not to mute all Music Sound instances.

Parameters
EnableTrue to mute Music sounds, false to unmute them.

Definition at line 197 of file audiomanager.cpp.

virtual void Mezzanine::Audio::AudioManager::MuteType ( const UInt16  Type,
Boole  Enable 
)
pure virtual

Sets whether or not to mute all Sound instances of a specified type.

Note
Although this can accept any UInt16 value, be mindful of the SoundType enum to avoid type collisions.
Exceptions
Thismethod can throw a "II_IDENTITY_NOT_FOUND_EXCEPTION" if the a handler of the specified type does not exist.
Parameters
TypeA UInt16 that is the ID for the type of Sound instances to mute or unmute.
EnableTrue to mute sounds of the specified type, false to unmute them.
virtual Boole Mezzanine::Audio::AudioManager::PlaybackDeviceNameValid ( const String DeviceName) const
pure virtual

Checks to see if the named playback device is available.

Parameters
DeviceNameThe name of the device to check for.
Returns
Returns true if the device is available on this system, false otherwise.
void Mezzanine::Audio::AudioManager::RemoveDecoderFactory ( iDecoderFactory ToBeRemoved)

Removes (but does not destroy) an iDecoderFactory.

Parameters
ToBeRemovedA pointer to the iDecoderFactory to be removed.

Definition at line 230 of file audiomanager.cpp.

void Mezzanine::Audio::AudioManager::RemoveDecoderFactory ( const Audio::Encoding  Format)

Removes (but does not destroy) an iDecoderFactory.

Parameters
FormatThe Audio::Encoding supported by the iDecoderFactory to remove.

Definition at line 235 of file audiomanager.cpp.

void Mezzanine::Audio::AudioManager::SetAmbientVolume ( const Real Ambient)
virtual

Sets the volume for all stored Ambient Sound instances.

Parameters
AmbientThe volume to apply to all Ambient sounds.

Definition at line 166 of file audiomanager.cpp.

void Mezzanine::Audio::AudioManager::SetDialogVolume ( const Real Dialog)
virtual

Sets the volume for all stored Dialog Sound instances.

Parameters
DialogThe volume to apply to all Dialog sounds.

Definition at line 175 of file audiomanager.cpp.

void Mezzanine::Audio::AudioManager::SetEffectVolume ( const Real Effect)
virtual

Sets the volume for all stored Effect Sound instances.

Parameters
EffectThe volume to apply to all Effect sounds.

Definition at line 184 of file audiomanager.cpp.

virtual void Mezzanine::Audio::AudioManager::SetMasterMute ( Boole  Enable)
pure virtual

Sets whether or not to mute all Audio.

Parameters
EnableWhether or not all sounds should be muted.
virtual void Mezzanine::Audio::AudioManager::SetMasterVolume ( const Real Master)
pure virtual

Sets the volume for all stored Sound instances.

Parameters
MasterThe volume to apply to all sounds.
void Mezzanine::Audio::AudioManager::SetMusicVolume ( const Real Music)
virtual

Sets the volume for all stored Music Sound instances.

Parameters
MusicThe volume to apply to all Music sounds.

Definition at line 193 of file audiomanager.cpp.

virtual void Mezzanine::Audio::AudioManager::SetTypeVolume ( const UInt16  Type,
const Real  Vol 
)
pure virtual

Sets the volume for all stored Sound instances of the specified type.

Note
Although this can accept any UInt16 value, be mindful of the SoundType enum to avoid type collisions.
Exceptions
Thismethod can throw a "II_IDENTITY_NOT_FOUND_EXCEPTION" if the a handler of the specified type does not exist.
Parameters
TypeA UInt16 that is the ID for the type of Sound instances to set the volume for.
VolThe new volume to apply to all sounds of the specified type.
virtual void Mezzanine::Audio::AudioManager::ShutdownPlaybackDevice ( )
pure virtual

Shuts down the current playback device and unloads all sounds.

Warning
This will destroy all sounds and sound proxies in the system.

Member Data Documentation

DecoderFactoryContainer Mezzanine::Audio::AudioManager::DecoderFactories
protected

Container storing all registered iDecoderFactory instances.

Definition at line 126 of file audiomanager.h.


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