43 #ifndef _audioaudiomanager_h
44 #define _audioaudiomanager_h
47 #include "managerbase.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,
bool Enable) = 0;
374 virtual bool IsTypeMuted(
const UInt16 Type)
const = 0;
378 virtual void SetMasterVolume(
const Real& Master) = 0;
381 virtual Real GetMasterVolume()
const = 0;
384 virtual void SetMasterMute(
bool Enable) = 0;
387 virtual bool IsMuted()
const = 0;
394 virtual void SetAmbientVolume(
const Real& Ambient);
397 virtual Real GetAmbientVolume()
const;
400 virtual void MuteAmbient(
bool Enable);
403 virtual bool IsAmbientMuted()
const;
407 virtual void SetDialogVolume(
const Real& Dialog);
410 virtual Real GetDialogVolume()
const;
413 virtual void MuteDialog(
bool Enable);
416 virtual bool IsDialogMuted()
const;
420 virtual void SetEffectVolume(
const Real& Effect);
423 virtual Real GetEffectVolume()
const;
426 virtual void MuteEffect(
bool Enable);
429 virtual bool IsEffectMuted()
const;
433 virtual void SetMusicVolume(
const Real& Music);
436 virtual Real GetMusicVolume()
const;
439 virtual void MuteMusic(
bool Enable);
442 virtual bool 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 bool PlaybackDeviceNameValid(
const String& DeviceName)
const = 0;
495 virtual bool 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;