43 #ifndef _audioaudiomanager_h
44 #define _audioaudiomanager_h
47 #include "entresolmanager.h"
48 #include "managerfactory.h"
49 #include "singleton.h"
50 #include "objectsettings.h"
51 #include "audioenumerations.h"
63 class iDecoderFactory;
64 class iEffectsHandler;
66 class SoundScapeManager;
188 virtual UInt32 GetNumSounds()
const = 0;
191 virtual void DestroySound(
iSound* ToBeDestroyed) = 0;
193 virtual void DestroyAllSounds() = 0;
200 virtual iSound* CreateAmbientSound();
203 virtual iSound* CreateDialogSound();
206 virtual iSound* CreateEffectSound();
209 virtual iSound* CreateMusicSound();
356 virtual void SetTypeVolume(
const UInt16 Type,
const Real Vol) = 0;
362 virtual Real GetTypeVolume(
const UInt16 Type)
const = 0;
368 virtual void MuteType(
const UInt16 Type,
Boole Enable) = 0;
374 virtual Boole IsTypeMuted(
const UInt16 Type)
const = 0;
378 virtual void SetMasterVolume(
const Real& Master) = 0;
381 virtual Real GetMasterVolume()
const = 0;
384 virtual void SetMasterMute(
Boole Enable) = 0;
387 virtual Boole IsMuted()
const = 0;
394 virtual void SetAmbientVolume(
const Real& Ambient);
397 virtual Real GetAmbientVolume()
const;
400 virtual void MuteAmbient(
Boole Enable);
403 virtual Boole IsAmbientMuted()
const;
407 virtual void SetDialogVolume(
const Real& Dialog);
410 virtual Real GetDialogVolume()
const;
413 virtual void MuteDialog(
Boole Enable);
416 virtual Boole IsDialogMuted()
const;
420 virtual void SetEffectVolume(
const Real& Effect);
423 virtual Real GetEffectVolume()
const;
426 virtual void MuteEffect(
Boole Enable);
429 virtual Boole IsEffectMuted()
const;
433 virtual void SetMusicVolume(
const Real& Music);
436 virtual Real GetMusicVolume()
const;
439 virtual void MuteMusic(
Boole Enable);
442 virtual Boole IsMusicMuted()
const;
456 virtual UInt32 GetNumRecorders()
const = 0;
459 virtual void DestroyRecorder(
iRecorder* ToBeDestroyed) = 0;
461 virtual void DestroyAllRecorders() = 0;
468 virtual String GetCurrentPlaybackDeviceName()
const = 0;
474 virtual String GetAvailablePlaybackDeviceName(
const Whole& Index)
const = 0;
478 virtual Whole GetAvailablePlaybackDeviceCount()
const = 0;
482 virtual String GetDefaultPlaybackDeviceName()
const = 0;
486 virtual Boole PlaybackDeviceNameValid(
const String& DeviceName)
const = 0;
495 virtual Boole InitializePlaybackDevice(
const String& DeviceName,
const Integer OutputFrequency = 44100) = 0;
498 virtual void ShutdownPlaybackDevice() = 0;
506 virtual String GetAvailableRecordingDeviceName(
const UInt32 Index) = 0;
509 virtual UInt32 GetAvailableRecordingDeviceCount() = 0;
512 virtual String GetDefaultRecordingDeviceName() = 0;
536 void RemoveAllDecoderFactories();
542 void DestroyDecoderFactory(
const Encoding Format);
544 void DestroyAllDecoderFactories();
550 virtual void Initialize() = 0;
552 virtual void Deinitialize() = 0;
This is the work unit for updating audio buffers as necessary for audio playback. ...
This is an interface class for the creation, destruction, and overall management of audio effects...
This is a convenience class for the playing of music in a game.
bool Boole
Generally acts a single bit, true or false.
Default implementation of WorkUnit. This represents on piece of work through time.
ManagerType
A listing of Manager Types.
All the definitions for datatypes as well as some basic conversion functions are defined here...
int Integer
A datatype used to represent any integer close to.
A simple reference counting pointer.
DecoderFactoryContainer::const_iterator ConstDecoderFactoryIterator
Const Iterator type for iDecoderFactory instances stored by this class.
virtual ~iBufferUpdate2DWorkUnit()
Class destructor.
An abstract class for other classes that manage groups of settings.
std::map< Audio::Encoding, iDecoderFactory * > DecoderFactoryContainer
Basic container type for iDecoderFactory storage by this class.
This is an interface class for a non-spacialized sound.
This is an interface class for factories that create decoders.
float Real
A Datatype used to represent a real floating point number.
char Char8
A datatype to represent one character.
A thread specific collection of double-buffered and algorithm specific resources. ...
This is an interface class for the recording of audio.
uint16_t UInt16
An 16-bit unsigned integer.
virtual ~iEffectFilterCleanWorkUnit()
Class destructor.
This is the base manager class for the Audio subsystem and it's operations.
This is the base class for all managers that do no describe properties of a single world...
A light-weight handle for manipulating nodes in DOM tree.
uint32_t UInt32
An 32-bit unsigned integer.
DecoderFactoryContainer::iterator DecoderFactoryIterator
Iterator type for iDecoderFactory instances stored by this class.
Encoding
The encoding to use when reading or writing an audio buffer.
The bulk of the engine components go in this namspace.
unsigned long Whole
Whole is an unsigned integer, it will be at least 32bits in size.
This is the work unit for marking all effects and filters as clean after sounds have been processed...
std::string String
A datatype used to a series of characters.
This is the base manager class for audio being played in a 3D environment.
Declaration of DataStream.
DecoderFactoryContainer DecoderFactories
Container storing all registered iDecoderFactory instances.
BitConfig
Used to describe the different bit configurations supported by this audio system. ...
This file has the definition of the workunit.