43 #ifndef _audioaudiomanager_cpp
44 #define _audioaudiomanager_cpp
46 #include "Audio/audiomanager.h"
47 #include "Audio/recorder.h"
48 #include "Audio/sound.h"
49 #include "Audio/effectshandler.h"
50 #include "Audio/soundscapemanager.h"
51 #include "Audio/decoder.h"
52 #include "Audio/decoderfactory.h"
55 #include "Audio/rawdecoderfactory.h"
56 #include "Audio/vorbisdecoderfactory.h"
57 #include "Audio/wavdecoderfactory.h"
62 template<> Audio::AudioManager* Singleton<Audio::AudioManager>::SingletonPtr = 0;
70 #ifdef ENABLE_RAW_ENCODE
73 #ifdef ENABLE_VORBIS_ENCODE
76 #ifdef ENABLE_WAV_ENCODE
83 #ifdef ENABLE_RAW_ENCODE
86 #ifdef ENABLE_VORBIS_ENCODE
89 #ifdef ENABLE_WAV_ENCODE
255 delete (*FactIt).second;
264 delete (*FactIt).second;
273 {
return ManagerBase::MT_AudioManager; }
virtual void SetTypeVolume(const UInt16 Type, const Real Vol)=0
Sets the volume for all stored Sound instances of the specified type.
virtual Audio::Encoding GetSupportedEncoding() const =0
Gets the encoding supported by decoders made by this factory.
void RemoveAllDecoderFactories()
Removes (but does not destroy) all registered iDecoderFactory instances.
void RemoveDecoderFactory(iDecoderFactory *ToBeRemoved)
Removes (but does not destroy) an iDecoderFactory.
bool Boole
Generally acts a single bit, true or false.
ManagerType
A listing of Manager Types.
virtual Boole IsMusicMuted() const
Gets whether or not Music Sound instances are muted.
virtual void MuteDialog(Boole Enable)
Sets whether or not to mute all Dialog Sound instances.
Various effects such as objects colliding, explosions, guns firing, etc.
Environmental sounds. Bird's chirping, water washing against rocks, etc.
A simple reference counting pointer.
virtual void SetEffectVolume(const Real &Effect)
Sets the volume for all stored Effect Sound instances.
void DestroyAllDecoderFactories()
Destroys all registered iDecoderFactory instances.
Self explanitory. The game SoundTrack.
virtual void MuteType(const UInt16 Type, Boole Enable)=0
Sets whether or not to mute all Sound instances of a specified type.
This implements the exception hiearchy for Mezzanine.
virtual Real GetEffectVolume() const
Gets the currently set Effect volume.
This is an interface class for a non-spacialized sound.
This is an interface class for factories that create decoders.
virtual Boole IsDialogMuted() const
Gets whether or not Dialog Sound instances are muted.
float Real
A Datatype used to represent a real floating point number.
char Char8
A datatype to represent one character.
virtual void SetDialogVolume(const Real &Dialog)
Sets the volume for all stored Dialog Sound instances.
virtual void SetMusicVolume(const Real &Music)
Sets the volume for all stored Music Sound instances.
void DestroyDecoderFactory(iDecoderFactory *ToBeDestroyed)
Destroy a registered iDecoderFactory.
virtual void MuteMusic(Boole Enable)
Sets whether or not to mute all Music Sound instances.
void AddDecoderFactory(iDecoderFactory *ToBeAdded)
Adds a iDecoderFactory to this manager allowing the playback of new types of sound formats...
virtual Boole IsTypeMuted(const UInt16 Type) const =0
Gets whether or not Sound instances of the specified type are currently muted.
virtual iSound * CreateEffectSound()
Creates a blank Effect iSound without a stream attached to it.
A light-weight handle for manipulating nodes in DOM tree.
uint32_t UInt32
An 32-bit unsigned integer.
virtual Boole IsAmbientMuted() const
Gets whether or not Ambient Sound instances are muted.
virtual Real GetTypeVolume(const UInt16 Type) const =0
Gets the volume for all stored Sound instances of the specified type.
virtual Real GetAmbientVolume() const
Gets the currently set Ambient volume.
virtual ~AudioManager()
Class Destructor.
DecoderFactoryContainer::iterator DecoderFactoryIterator
Iterator type for iDecoderFactory instances stored by this class.
virtual Real GetMusicVolume() const
Gets the currently set Music volume.
virtual iSound * CreateSound(const UInt16 Type)=0
Creates a blank iSound without a stream attached to it.
Encoding
The encoding to use when reading or writing an audio buffer.
virtual Real GetDialogVolume() const
Gets the currently set Dialog volume.
virtual ManagerType GetInterfaceType() const
This returns the type of this manager.
Character sounds and speech.
Boole DecoderFactoryExists(const Audio::Encoding Format)
Checks if a iDecoderFactory is already registered with this manager.
virtual void SetAmbientVolume(const Real &Ambient)
Sets the volume for all stored Ambient Sound instances.
AudioManager()
Class Constructor.
The bulk of the engine components go in this namspace.
virtual void MuteAmbient(Boole Enable)
Sets whether or not to mute all Ambient Sound instances.
virtual void MuteEffect(Boole Enable)
Sets whether or not to mute all Effect Sound instances.
virtual iSound * CreateAmbientSound()
Creates a blank Ambient iSound without a stream attached to it.
virtual Boole IsEffectMuted() const
Gets whether or not Effect Sound instances are muted.
std::string String
A datatype used to a series of characters.
virtual iSound * CreateDialogSound()
Creates a blank Dialog iSound without a stream attached to it.
iDecoderFactory * GetDecoderFactory(const Audio::Encoding Format)
Gets an iDecoderFactory by it's supported Audio::Encoding.
DecoderFactoryContainer DecoderFactories
Container storing all registered iDecoderFactory instances.
virtual iSound * CreateMusicSound()
Creates a blank Music iSound without a stream attached to it.
BitConfig
Used to describe the different bit configurations supported by this audio system. ...