Richard Boegli's CnC_Generals_Zero_Hour Fork WIP
This is documentation of Richard Boegil's Zero Hour Fork
 
Loading...
Searching...
No Matches
AudioManager Class Referenceabstract

#include <GameAudio.h>

Inherits SubsystemInterface.

Inherited by MilesAudioManager.

Public Member Functions

 AudioManager ()
 
virtual ~AudioManager ()
 
virtual void init ()
 
virtual void postProcessLoad ()
 
virtual void reset ()
 
virtual void update ()
 
virtual void stopAudio (AudioAffect which)=0
 
virtual void pauseAudio (AudioAffect which)=0
 
virtual void resumeAudio (AudioAffect which)=0
 
virtual void pauseAmbient (Bool shouldPause)=0
 
virtual void loseFocus (void)
 
virtual void regainFocus (void)
 
virtual AudioHandle addAudioEvent (const AudioEventRTS *eventToAdd)
 Add an audio event (event must be declared in an INI file)
 
virtual void removeAudioEvent (AudioHandle audioEvent)
 Remove an audio event, stop for instance.
 
virtual void killAudioEventImmediately (AudioHandle audioEvent)=0
 
virtual Bool isValidAudioEvent (const AudioEventRTS *eventToCheck) const
 validate that this piece of audio exists
 
virtual Bool isValidAudioEvent (AudioEventRTS *eventToCheck) const
 validate that this piece of audio exists
 
void addTrackName (const AsciiString &trackName)
 
AsciiString nextTrackName (const AsciiString &currentTrack)
 
AsciiString prevTrackName (const AsciiString &currentTrack)
 
virtual void nextMusicTrack (void)=0
 
virtual void prevMusicTrack (void)=0
 
virtual Bool isMusicPlaying (void) const =0
 
virtual Bool hasMusicTrackCompleted (const AsciiString &trackName, Int numberOfTimes) const =0
 
virtual AsciiString getMusicTrackName (void) const =0
 
virtual void setAudioEventEnabled (AsciiString eventToAffect, Bool enable)
 
virtual void setAudioEventVolumeOverride (AsciiString eventToAffect, Real newVolume)
 
virtual void removeAudioEvent (AsciiString eventToRemove)
 
virtual void removeDisabledEvents ()
 
virtual void getInfoForAudioEvent (const AudioEventRTS *eventToFindAndFill) const
 
virtual Bool isCurrentlyPlaying (AudioHandle handle)
 
virtual void openDevice (void)=0
 
virtual void closeDevice (void)=0
 
virtual void * getDevice (void)=0
 
virtual void notifyOfAudioCompletion (UnsignedInt audioCompleted, UnsignedInt flags)=0
 
virtual UnsignedInt getProviderCount (void) const =0
 
virtual AsciiString getProviderName (UnsignedInt providerNum) const =0
 
virtual UnsignedInt getProviderIndex (AsciiString providerName) const =0
 
virtual void selectProvider (UnsignedInt providerNdx)=0
 
virtual void unselectProvider (void)=0
 
virtual UnsignedInt getSelectedProvider (void) const =0
 
virtual void setSpeakerType (UnsignedInt speakerType)=0
 
virtual UnsignedInt getSpeakerType (void)=0
 
virtual UnsignedInt translateSpeakerTypeToUnsignedInt (const AsciiString &speakerType)
 
virtual AsciiString translateUnsignedIntToSpeakerType (UnsignedInt speakerType)
 
virtual UnsignedInt getNum2DSamples (void) const =0
 
virtual UnsignedInt getNum3DSamples (void) const =0
 
virtual UnsignedInt getNumStreams (void) const =0
 
virtual Bool doesViolateLimit (AudioEventRTS *event) const =0
 
virtual Bool isPlayingLowerPriority (AudioEventRTS *event) const =0
 
virtual Bool isPlayingAlready (AudioEventRTS *event) const =0
 
virtual Bool isObjectPlayingVoice (UnsignedInt objID) const =0
 
virtual void adjustVolumeOfPlayingAudio (AsciiString eventName, Real newVolume)=0
 
virtual void removePlayingAudio (AsciiString eventName)=0
 
virtual void removeAllDisabledAudio ()=0
 
virtual Bool isOn (AudioAffect whichToGet) const
 
virtual void setOn (Bool turnOn, AudioAffect whichToAffect)
 
virtual void setVolume (Real volume, AudioAffect whichToAffect)
 
virtual Real getVolume (AudioAffect whichToGet)
 
virtual void set3DVolumeAdjustment (Real volumeAdjustment)
 
virtual Bool has3DSensitiveStreamsPlaying (void) const =0
 
virtual void * getHandleForBink (void)=0
 
virtual void releaseHandleForBink (void)=0
 
virtual void friend_forcePlayAudioEventRTS (const AudioEventRTS *eventToPlay)=0
 
virtual void setListenerPosition (const Coord3D *newListenerPos, const Coord3D *newListenerOrientation)
 
virtual const Coord3DgetListenerPosition (void) const
 
virtual AudioRequestallocateAudioRequest (Bool useAudioEvent)
 
virtual void releaseAudioRequest (AudioRequest *requestToRelease)
 
virtual void appendAudioRequest (AudioRequest *m_request)
 
virtual void processRequestList (void)
 
virtual AudioEventInfonewAudioEventInfo (AsciiString newEventName)
 
virtual void addAudioEventInfo (AudioEventInfo *newEventInfo)
 
virtual AudioEventInfofindAudioEventInfo (AsciiString eventName) const
 
const AudioSettingsgetAudioSettings (void) const
 
const MiscAudiogetMiscAudio (void) const
 
virtual void releaseAudioEventRTS (AudioEventRTS *eventToRelease)
 
AudioSettingsfriend_getAudioSettings (void)
 
MiscAudiofriend_getMiscAudio (void)
 
const FieldParsegetFieldParseTable (void) const
 
const AudioEventRTSgetValidSilentAudioEvent () const
 
virtual void setHardwareAccelerated (Bool accel)
 
virtual Bool getHardwareAccelerated ()
 
virtual void setSpeakerSurround (Bool surround)
 
virtual Bool getSpeakerSurround ()
 
virtual void refreshCachedVariables ()
 
virtual void setPreferredProvider (AsciiString providerNdx)=0
 
virtual void setPreferredSpeaker (AsciiString speakerType)=0
 
virtual Real getAudioLengthMS (const AudioEventRTS *event)
 
virtual Real getFileLengthMS (AsciiString strToLoad) const =0
 
virtual void closeAnySamplesUsingFile (const void *fileToClose)=0
 
virtual Bool isMusicAlreadyLoaded (void) const
 
virtual Bool isMusicPlayingFromCD (void) const
 
Bool getDisallowSpeech (void) const
 
void setDisallowSpeech (Bool disallowSpeech)
 
virtual void findAllAudioEventsOfType (AudioType audioType, std::vector< AudioEventInfo * > &allEvents)
 
virtual const AudioEventInfoHashgetAllAudioEvents () const
 
Real getZoomVolume () const
 
- Public Member Functions inherited from SubsystemInterface
 SubsystemInterface ()
 
virtual ~SubsystemInterface ()
 
virtual void draw (void)
 
void UPDATE (void)
 
void DRAW (void)
 
AsciiString getName (void)
 
void setName (AsciiString name)
 

Protected Types

enum  { NUM_VOLUME_TYPES = 4 }
 

Protected Member Functions

virtual Bool isCurrentProviderHardwareAccelerated ()
 
virtual Bool isCurrentSpeakerTypeSurroundSound ()
 
virtual Bool shouldPlayLocally (const AudioEventRTS *audioEvent)
 
virtual void setDeviceListenerPosition (void)=0
 
virtual AudioHandle allocateNewHandle (void)
 
virtual void removeLevelSpecificAudioEventInfos (void)
 
void removeAllAudioRequests (void)
 

Protected Attributes

AudioSettingsm_audioSettings
 
MiscAudiom_miscAudio
 
MusicManagerm_music
 
SoundManagerm_sound
 
Coord3D m_listenerPosition
 
Coord3D m_listenerOrientation
 
std::list< AudioRequest * > m_audioRequests
 
std::vector< AsciiStringm_musicTracks
 
AudioEventInfoHash m_allAudioEventInfo
 
AudioHandle theAudioHandlePool
 
std::list< std::pair< AsciiString, Real > > m_adjustedVolumes
 
Real m_musicVolume
 
Real m_soundVolume
 
Real m_sound3DVolume
 
Real m_speechVolume
 
Real m_scriptMusicVolume
 
Real m_scriptSoundVolume
 
Real m_scriptSound3DVolume
 
Real m_scriptSpeechVolume
 
Real m_systemMusicVolume
 
Real m_systemSoundVolume
 
Real m_systemSound3DVolume
 
Real m_systemSpeechVolume
 
Real m_zoomVolume
 
AudioEventRTSm_silentAudioEvent
 
Realm_savedValues
 
Bool m_speechOn: 1
 
Bool m_soundOn: 1
 
Bool m_sound3DOn: 1
 
Bool m_musicOn: 1
 
Bool m_volumeHasChanged: 1
 
Bool m_hardwareAccel: 1
 
Bool m_surroundSpeakers: 1
 
Bool m_musicPlayingFromCD: 1
 
Bool m_disallowSpeech: 1
 
- Protected Attributes inherited from SubsystemInterface
AsciiString m_name
 

Detailed Description

The life of audio.

When audio is requested to play, it is done so in the following manner: 1) An AudioEventRTS is created on the stack. 2) Its guts are copied from elsewhere (for instance, a ThingTemplate, or MiscAudio). 3) It is added to TheAudio via TheAudio->addAudioEvent(...)

The return value from addAudioEvent can be saved in case the sound needs to loop and/or be terminated at some point.

To reomve a playing sound, the call TheAudio->removeAudioEvent(...) is used. This will search the list of currently playing audio for the specified handle, and kill the attached sound. It will play a decay sound, if one is specified.

The important functions of TheAudio, are therefore GameAudio::addAudioEvent() GameAudio::removeAudioEvent() All other functions exist to support these two basic requirements.

In addition to the fundamental requirements, the audio has a fairly complicated sound management scheme. If all units were always allowed to sound off, the sound engine would be overwhelmed and would sound awful. Therefore, when an audio event is requested, it goes through a series of checks to determine if it is near enough to the camera, if it should be heard based on shroud, local player affiliation, etc. (The entire list of checks is contained in shouldPlayLocally()).

In addition, the world and unit audio are never allowed to exceed their footprint, as specified in the audio settings INI file. In order to accomodate this, the audio uses an audio cache. The audio cache will attempt to load a sample, assuming there is enough room. If there is not enough room, then it goes through and finds any samples that are lower priority, and kills them until enough room is present for the sample. If it cannot free enough room, nothing happens to the cache.

Although the audio is multithreaded, most of the operations are performed such that the worst case scenario for thread miscommunication is that the main thread misses an event for one frame. One specific case of this is the status of playing audio. Because audio is playing asynchronously, it can complete at any time. When most audio completes, it sets a flag on the event noting that it has completed. During the next update (from the main thread), anything with that flag set is moved to the stopped list, and then is cleaned up. (Basically, the audio uses a push model for its multithreadedness, which doesn't require thread safety such as mutexes or semaphores).

All in all, the best way to learn how the audio works is to track the lifetime of an event through the system. This will give a better understanding than all the documentation I could write.

-jkmcd -December 2002

Definition at line 134 of file GameAudio.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protected
Enumerator
NUM_VOLUME_TYPES 

Definition at line 358 of file GameAudio.h.

Constructor & Destructor Documentation

◆ AudioManager()

AudioManager::AudioManager ( )

Definition at line 147 of file GameAudio.cpp.

◆ ~AudioManager()

AudioManager::~AudioManager ( )
virtual

Definition at line 184 of file GameAudio.cpp.

Member Function Documentation

◆ addAudioEvent()

AudioHandle AudioManager::addAudioEvent ( const AudioEventRTS * eventToAdd)
virtual

Add an audio event (event must be declared in an INI file)

Definition at line 414 of file GameAudio.cpp.

◆ addAudioEventInfo()

void AudioManager::addAudioEventInfo ( AudioEventInfo * newEventInfo)
virtual

Definition at line 857 of file GameAudio.cpp.

◆ addTrackName()

void AudioManager::addTrackName ( const AsciiString & trackName)

Definition at line 527 of file GameAudio.cpp.

◆ adjustVolumeOfPlayingAudio()

virtual void AudioManager::adjustVolumeOfPlayingAudio ( AsciiString eventName,
Real newVolume )
pure virtual

Implemented in MilesAudioManager.

◆ allocateAudioRequest()

AudioRequest * AudioManager::allocateAudioRequest ( Bool useAudioEvent)
virtual

Definition at line 802 of file GameAudio.cpp.

◆ allocateNewHandle()

AudioHandle AudioManager::allocateNewHandle ( void )
protectedvirtual

Definition at line 1086 of file GameAudio.cpp.

◆ appendAudioRequest()

void AudioManager::appendAudioRequest ( AudioRequest * m_request)
virtual

Definition at line 819 of file GameAudio.cpp.

◆ closeAnySamplesUsingFile()

virtual void AudioManager::closeAnySamplesUsingFile ( const void * fileToClose)
pure virtual

Implemented in MilesAudioManager.

◆ closeDevice()

virtual void AudioManager::closeDevice ( void )
pure virtual

Implemented in MilesAudioManager.

◆ doesViolateLimit()

virtual Bool AudioManager::doesViolateLimit ( AudioEventRTS * event) const
pure virtual

Implemented in MilesAudioManager.

◆ findAllAudioEventsOfType()

void AudioManager::findAllAudioEventsOfType ( AudioType audioType,
std::vector< AudioEventInfo * > & allEvents )
virtual

Definition at line 990 of file GameAudio.cpp.

◆ findAudioEventInfo()

AudioEventInfo * AudioManager::findAudioEventInfo ( AsciiString eventName) const
virtual

Definition at line 873 of file GameAudio.cpp.

◆ friend_forcePlayAudioEventRTS()

virtual void AudioManager::friend_forcePlayAudioEventRTS ( const AudioEventRTS * eventToPlay)
pure virtual

Implemented in MilesAudioManager.

◆ friend_getAudioSettings()

AudioSettings * AudioManager::friend_getAudioSettings ( void )

Definition at line 913 of file GameAudio.cpp.

◆ friend_getMiscAudio()

MiscAudio * AudioManager::friend_getMiscAudio ( void )

Definition at line 925 of file GameAudio.cpp.

◆ getAllAudioEvents()

virtual const AudioEventInfoHash & AudioManager::getAllAudioEvents ( ) const
inlinevirtual

Definition at line 300 of file GameAudio.h.

◆ getAudioLengthMS()

Real AudioManager::getAudioLengthMS ( const AudioEventRTS * event)
virtual

Definition at line 944 of file GameAudio.cpp.

◆ getAudioSettings()

const AudioSettings * AudioManager::getAudioSettings ( void ) const

Definition at line 907 of file GameAudio.cpp.

◆ getDevice()

virtual void * AudioManager::getDevice ( void )
pure virtual

Implemented in MilesAudioManager.

◆ getDisallowSpeech()

Bool AudioManager::getDisallowSpeech ( void ) const
inline

Definition at line 295 of file GameAudio.h.

◆ getFieldParseTable()

const FieldParse * AudioManager::getFieldParseTable ( void ) const

Definition at line 931 of file GameAudio.cpp.

◆ getFileLengthMS()

virtual Real AudioManager::getFileLengthMS ( AsciiString strToLoad) const
pure virtual

Implemented in MilesAudioManager.

◆ getHandleForBink()

virtual void * AudioManager::getHandleForBink ( void )
pure virtual

Implemented in MilesAudioManager.

◆ getHardwareAccelerated()

virtual Bool AudioManager::getHardwareAccelerated ( )
inlinevirtual

Definition at line 275 of file GameAudio.h.

◆ getInfoForAudioEvent()

void AudioManager::getInfoForAudioEvent ( const AudioEventRTS * eventToFindAndFill) const
virtual

Definition at line 399 of file GameAudio.cpp.

◆ getListenerPosition()

const Coord3D * AudioManager::getListenerPosition ( void ) const
virtual

Definition at line 796 of file GameAudio.cpp.

◆ getMiscAudio()

const MiscAudio * AudioManager::getMiscAudio ( void ) const

Definition at line 919 of file GameAudio.cpp.

◆ getMusicTrackName()

virtual AsciiString AudioManager::getMusicTrackName ( void ) const
pure virtual

Implemented in MilesAudioManager.

◆ getNum2DSamples()

virtual UnsignedInt AudioManager::getNum2DSamples ( void ) const
pure virtual

Implemented in MilesAudioManager.

◆ getNum3DSamples()

virtual UnsignedInt AudioManager::getNum3DSamples ( void ) const
pure virtual

Implemented in MilesAudioManager.

◆ getNumStreams()

virtual UnsignedInt AudioManager::getNumStreams ( void ) const
pure virtual

Implemented in MilesAudioManager.

◆ getProviderCount()

virtual UnsignedInt AudioManager::getProviderCount ( void ) const
pure virtual

Implemented in MilesAudioManager.

◆ getProviderIndex()

virtual UnsignedInt AudioManager::getProviderIndex ( AsciiString providerName) const
pure virtual

Implemented in MilesAudioManager.

◆ getProviderName()

virtual AsciiString AudioManager::getProviderName ( UnsignedInt providerNum) const
pure virtual

Implemented in MilesAudioManager.

◆ getSelectedProvider()

virtual UnsignedInt AudioManager::getSelectedProvider ( void ) const
pure virtual

Implemented in MilesAudioManager.

◆ getSpeakerSurround()

virtual Bool AudioManager::getSpeakerSurround ( )
inlinevirtual

Definition at line 278 of file GameAudio.h.

◆ getSpeakerType()

virtual UnsignedInt AudioManager::getSpeakerType ( void )
pure virtual

Implemented in MilesAudioManager.

◆ getValidSilentAudioEvent()

const AudioEventRTS * AudioManager::getValidSilentAudioEvent ( ) const
inline

Definition at line 272 of file GameAudio.h.

◆ getVolume()

Real AudioManager::getVolume ( AudioAffect whichToGet)
virtual

Definition at line 758 of file GameAudio.cpp.

◆ getZoomVolume()

Real AudioManager::getZoomVolume ( ) const
inline

Definition at line 302 of file GameAudio.h.

◆ has3DSensitiveStreamsPlaying()

virtual Bool AudioManager::has3DSensitiveStreamsPlaying ( void ) const
pure virtual

Implemented in MilesAudioManager.

◆ hasMusicTrackCompleted()

virtual Bool AudioManager::hasMusicTrackCompleted ( const AsciiString & trackName,
Int numberOfTimes ) const
pure virtual

Implemented in MilesAudioManager.

◆ init()

void AudioManager::init ( )
virtual
  • Assign any default values to data required for the class
    • Allocate any memory and resources needed throughout the lifetime of the class

Implements SubsystemInterface.

Reimplemented in MilesAudioManager.

Definition at line 216 of file GameAudio.cpp.

◆ isCurrentlyPlaying()

Bool AudioManager::isCurrentlyPlaying ( AudioHandle handle)
virtual

< Return whether the current audio is playing or not. NOTE NOTE NOTE !!DO NOT USE THIS IN FOR GAMELOGIC PURPOSES!! NOTE NOTE NOTE

Reimplemented in MilesAudioManager.

Definition at line 651 of file GameAudio.cpp.

◆ isCurrentProviderHardwareAccelerated()

Bool AudioManager::isCurrentProviderHardwareAccelerated ( )
protectedvirtual

Definition at line 1002 of file GameAudio.cpp.

◆ isCurrentSpeakerTypeSurroundSound()

Bool AudioManager::isCurrentSpeakerTypeSurroundSound ( )
protectedvirtual

Definition at line 1014 of file GameAudio.cpp.

◆ isMusicAlreadyLoaded()

Bool AudioManager::isMusicAlreadyLoaded ( void ) const
virtual

Definition at line 963 of file GameAudio.cpp.

◆ isMusicPlaying()

virtual Bool AudioManager::isMusicPlaying ( void ) const
pure virtual

Implemented in MilesAudioManager.

◆ isMusicPlayingFromCD()

virtual Bool AudioManager::isMusicPlayingFromCD ( void ) const
inlinevirtual

Definition at line 293 of file GameAudio.h.

◆ isObjectPlayingVoice()

virtual Bool AudioManager::isObjectPlayingVoice ( UnsignedInt objID) const
pure virtual

Implemented in MilesAudioManager.

◆ isOn()

Bool AudioManager::isOn ( AudioAffect whichToGet) const
virtual

Definition at line 679 of file GameAudio.cpp.

◆ isPlayingAlready()

virtual Bool AudioManager::isPlayingAlready ( AudioEventRTS * event) const
pure virtual

Implemented in MilesAudioManager.

◆ isPlayingLowerPriority()

virtual Bool AudioManager::isPlayingLowerPriority ( AudioEventRTS * event) const
pure virtual

Implemented in MilesAudioManager.

◆ isValidAudioEvent() [1/2]

Bool AudioManager::isValidAudioEvent ( AudioEventRTS * eventToCheck) const
virtual

validate that this piece of audio exists

Definition at line 514 of file GameAudio.cpp.

◆ isValidAudioEvent() [2/2]

Bool AudioManager::isValidAudioEvent ( const AudioEventRTS * eventToCheck) const
virtual

validate that this piece of audio exists

Definition at line 502 of file GameAudio.cpp.

◆ killAudioEventImmediately()

virtual void AudioManager::killAudioEventImmediately ( AudioHandle audioEvent)
pure virtual

Implemented in MilesAudioManager.

◆ loseFocus()

void AudioManager::loseFocus ( void )
virtual

Definition at line 1103 of file GameAudio.cpp.

◆ newAudioEventInfo()

AudioEventInfo * AudioManager::newAudioEventInfo ( AsciiString newEventName)
virtual

Definition at line 843 of file GameAudio.cpp.

◆ nextMusicTrack()

virtual void AudioManager::nextMusicTrack ( void )
pure virtual

Implemented in MilesAudioManager.

◆ nextTrackName()

AsciiString AudioManager::nextTrackName ( const AsciiString & currentTrack)

Definition at line 533 of file GameAudio.cpp.

◆ notifyOfAudioCompletion()

virtual void AudioManager::notifyOfAudioCompletion ( UnsignedInt audioCompleted,
UnsignedInt flags )
pure virtual

Implemented in MilesAudioManager.

◆ openDevice()

virtual void AudioManager::openDevice ( void )
pure virtual

Implemented in MilesAudioManager.

◆ pauseAmbient()

virtual void AudioManager::pauseAmbient ( Bool shouldPause)
pure virtual

Implemented in MilesAudioManager.

◆ pauseAudio()

virtual void AudioManager::pauseAudio ( AudioAffect which)
pure virtual

Implemented in MilesAudioManager.

◆ postProcessLoad()

void AudioManager::postProcessLoad ( void )
virtual
  • Called for all subsystems after all other Subsystems are inited. (allows for initializing inter-system dependencies)

Reimplemented from SubsystemInterface.

Reimplemented in MilesAudioManager.

Definition at line 286 of file GameAudio.cpp.

◆ prevMusicTrack()

virtual void AudioManager::prevMusicTrack ( void )
pure virtual

Implemented in MilesAudioManager.

◆ prevTrackName()

AsciiString AudioManager::prevTrackName ( const AsciiString & currentTrack)

Definition at line 557 of file GameAudio.cpp.

◆ processRequestList()

void AudioManager::processRequestList ( void )
virtual

Reimplemented in MilesAudioManager.

Definition at line 837 of file GameAudio.cpp.

◆ refreshCachedVariables()

void AudioManager::refreshCachedVariables ( )
virtual

Definition at line 937 of file GameAudio.cpp.

◆ regainFocus()

void AudioManager::regainFocus ( void )
virtual

Definition at line 1118 of file GameAudio.cpp.

◆ releaseAudioEventRTS()

void AudioManager::releaseAudioEventRTS ( AudioEventRTS * eventToRelease)
virtual

Definition at line 1093 of file GameAudio.cpp.

◆ releaseAudioRequest()

void AudioManager::releaseAudioRequest ( AudioRequest * requestToRelease)
virtual

Definition at line 811 of file GameAudio.cpp.

◆ releaseHandleForBink()

virtual void AudioManager::releaseHandleForBink ( void )
pure virtual

Implemented in MilesAudioManager.

◆ removeAllAudioRequests()

void AudioManager::removeAllAudioRequests ( void )
protected

Definition at line 826 of file GameAudio.cpp.

◆ removeAllDisabledAudio()

virtual void AudioManager::removeAllDisabledAudio ( )
pure virtual

Implemented in MilesAudioManager.

◆ removeAudioEvent() [1/2]

void AudioManager::removeAudioEvent ( AsciiString eventToRemove)
virtual

Definition at line 639 of file GameAudio.cpp.

◆ removeAudioEvent() [2/2]

void AudioManager::removeAudioEvent ( AudioHandle audioEvent)
virtual

Remove an audio event, stop for instance.

Definition at line 581 of file GameAudio.cpp.

◆ removeDisabledEvents()

void AudioManager::removeDisabledEvents ( )
virtual

Definition at line 645 of file GameAudio.cpp.

◆ removeLevelSpecificAudioEventInfos()

void AudioManager::removeLevelSpecificAudioEventInfos ( void )
protectedvirtual

Definition at line 886 of file GameAudio.cpp.

◆ removePlayingAudio()

virtual void AudioManager::removePlayingAudio ( AsciiString eventName)
pure virtual

Implemented in MilesAudioManager.

◆ reset()

void AudioManager::reset ( )
virtual
  • Any system should be able to reset all data and go back to an empty state that is ready to accept a completely new set of data. Reset() can expect to be used in the context of resetting the engine in order to start or load a new game.
    • Do NOT free and re-allocate resources needed, where possible reorganize and re-initialize the resources already allocated.
    • After a reset, the system does not need to be in EXACTLY the same state as a fresh instantiation. If there are persistent state information for the system make sure you maintain it while restoring or re-initializing other transient parts.

Implements SubsystemInterface.

Reimplemented in MilesAudioManager.

Definition at line 292 of file GameAudio.cpp.

◆ resumeAudio()

virtual void AudioManager::resumeAudio ( AudioAffect which)
pure virtual

Implemented in MilesAudioManager.

◆ selectProvider()

virtual void AudioManager::selectProvider ( UnsignedInt providerNdx)
pure virtual

Implemented in MilesAudioManager.

◆ set3DVolumeAdjustment()

void AudioManager::set3DVolumeAdjustment ( Real volumeAdjustment)
virtual

Definition at line 773 of file GameAudio.cpp.

◆ setAudioEventEnabled()

void AudioManager::setAudioEventEnabled ( AsciiString eventToAffect,
Bool enable )
virtual

Definition at line 599 of file GameAudio.cpp.

◆ setAudioEventVolumeOverride()

void AudioManager::setAudioEventVolumeOverride ( AsciiString eventToAffect,
Real newVolume )
virtual

Definition at line 605 of file GameAudio.cpp.

◆ setDeviceListenerPosition()

virtual void AudioManager::setDeviceListenerPosition ( void )
protectedpure virtual

Implemented in MilesAudioManager.

◆ setDisallowSpeech()

void AudioManager::setDisallowSpeech ( Bool disallowSpeech)
inline

Definition at line 296 of file GameAudio.h.

◆ setHardwareAccelerated()

virtual void AudioManager::setHardwareAccelerated ( Bool accel)
inlinevirtual

Reimplemented in MilesAudioManager.

Definition at line 274 of file GameAudio.h.

◆ setListenerPosition()

void AudioManager::setListenerPosition ( const Coord3D * newListenerPos,
const Coord3D * newListenerOrientation )
virtual

Definition at line 789 of file GameAudio.cpp.

◆ setOn()

void AudioManager::setOn ( Bool turnOn,
AudioAffect whichToAffect )
virtual

Definition at line 694 of file GameAudio.cpp.

◆ setPreferredProvider()

virtual void AudioManager::setPreferredProvider ( AsciiString providerNdx)
pure virtual

Implemented in MilesAudioManager.

◆ setPreferredSpeaker()

virtual void AudioManager::setPreferredSpeaker ( AsciiString speakerType)
pure virtual

Implemented in MilesAudioManager.

◆ setSpeakerSurround()

virtual void AudioManager::setSpeakerSurround ( Bool surround)
inlinevirtual

Reimplemented in MilesAudioManager.

Definition at line 277 of file GameAudio.h.

◆ setSpeakerType()

virtual void AudioManager::setSpeakerType ( UnsignedInt speakerType)
pure virtual

Implemented in MilesAudioManager.

◆ setVolume()

void AudioManager::setVolume ( Real volume,
AudioAffect whichToAffect )
virtual

Definition at line 714 of file GameAudio.cpp.

◆ shouldPlayLocally()

Bool AudioManager::shouldPlayLocally ( const AudioEventRTS * audioEvent)
protectedvirtual

Definition at line 1020 of file GameAudio.cpp.

◆ stopAudio()

virtual void AudioManager::stopAudio ( AudioAffect which)
pure virtual

Implemented in MilesAudioManager.

◆ translateSpeakerTypeToUnsignedInt()

UnsignedInt AudioManager::translateSpeakerTypeToUnsignedInt ( const AsciiString & speakerType)
virtual

Definition at line 657 of file GameAudio.cpp.

◆ translateUnsignedIntToSpeakerType()

AsciiString AudioManager::translateUnsignedIntToSpeakerType ( UnsignedInt speakerType)
virtual

Definition at line 669 of file GameAudio.cpp.

◆ unselectProvider()

virtual void AudioManager::unselectProvider ( void )
pure virtual

Implemented in MilesAudioManager.

◆ update()

void AudioManager::update ( )
virtual
  • Update methods are the place to do system per frame processing. You should call the system update once each time through the game loop to service the system.
    • Note that currently the GameClient and GameLogic will be updating at different rates where the logic is running real time, and the client will adjust how many loops can be done during one server time slice in order to improve performance on low end machines.

Implements SubsystemInterface.

Reimplemented in MilesAudioManager.

Definition at line 313 of file GameAudio.cpp.

Member Data Documentation

◆ m_adjustedVolumes

std::list<std::pair<AsciiString, Real> > AudioManager::m_adjustedVolumes
protected

Definition at line 337 of file GameAudio.h.

◆ m_allAudioEventInfo

AudioEventInfoHash AudioManager::m_allAudioEventInfo
protected

Definition at line 335 of file GameAudio.h.

◆ m_audioRequests

std::list<AudioRequest*> AudioManager::m_audioRequests
protected

Definition at line 332 of file GameAudio.h.

◆ m_audioSettings

AudioSettings* AudioManager::m_audioSettings
protected

Definition at line 326 of file GameAudio.h.

◆ m_disallowSpeech

Bool AudioManager::m_disallowSpeech
protected

Definition at line 372 of file GameAudio.h.

◆ m_hardwareAccel

Bool AudioManager::m_hardwareAccel
protected

Definition at line 367 of file GameAudio.h.

◆ m_listenerOrientation

Coord3D AudioManager::m_listenerOrientation
protected

Definition at line 331 of file GameAudio.h.

◆ m_listenerPosition

Coord3D AudioManager::m_listenerPosition
protected

Definition at line 330 of file GameAudio.h.

◆ m_miscAudio

MiscAudio* AudioManager::m_miscAudio
protected

Definition at line 327 of file GameAudio.h.

◆ m_music

MusicManager* AudioManager::m_music
protected

Definition at line 328 of file GameAudio.h.

◆ m_musicOn

Bool AudioManager::m_musicOn
protected

Definition at line 365 of file GameAudio.h.

◆ m_musicPlayingFromCD

Bool AudioManager::m_musicPlayingFromCD
protected

Definition at line 369 of file GameAudio.h.

◆ m_musicTracks

std::vector<AsciiString> AudioManager::m_musicTracks
protected

Definition at line 333 of file GameAudio.h.

◆ m_musicVolume

Real AudioManager::m_musicVolume
protected

Definition at line 339 of file GameAudio.h.

◆ m_savedValues

Real* AudioManager::m_savedValues
protected

Definition at line 359 of file GameAudio.h.

◆ m_scriptMusicVolume

Real AudioManager::m_scriptMusicVolume
protected

Definition at line 344 of file GameAudio.h.

◆ m_scriptSound3DVolume

Real AudioManager::m_scriptSound3DVolume
protected

Definition at line 346 of file GameAudio.h.

◆ m_scriptSoundVolume

Real AudioManager::m_scriptSoundVolume
protected

Definition at line 345 of file GameAudio.h.

◆ m_scriptSpeechVolume

Real AudioManager::m_scriptSpeechVolume
protected

Definition at line 347 of file GameAudio.h.

◆ m_silentAudioEvent

AudioEventRTS* AudioManager::m_silentAudioEvent
protected

Definition at line 356 of file GameAudio.h.

◆ m_sound

SoundManager* AudioManager::m_sound
protected

Definition at line 329 of file GameAudio.h.

◆ m_sound3DOn

Bool AudioManager::m_sound3DOn
protected

Definition at line 364 of file GameAudio.h.

◆ m_sound3DVolume

Real AudioManager::m_sound3DVolume
protected

Definition at line 341 of file GameAudio.h.

◆ m_soundOn

Bool AudioManager::m_soundOn
protected

Definition at line 363 of file GameAudio.h.

◆ m_soundVolume

Real AudioManager::m_soundVolume
protected

Definition at line 340 of file GameAudio.h.

◆ m_speechOn

Bool AudioManager::m_speechOn
protected

Definition at line 362 of file GameAudio.h.

◆ m_speechVolume

Real AudioManager::m_speechVolume
protected

Definition at line 342 of file GameAudio.h.

◆ m_surroundSpeakers

Bool AudioManager::m_surroundSpeakers
protected

Definition at line 368 of file GameAudio.h.

◆ m_systemMusicVolume

Real AudioManager::m_systemMusicVolume
protected

Definition at line 349 of file GameAudio.h.

◆ m_systemSound3DVolume

Real AudioManager::m_systemSound3DVolume
protected

Definition at line 351 of file GameAudio.h.

◆ m_systemSoundVolume

Real AudioManager::m_systemSoundVolume
protected

Definition at line 350 of file GameAudio.h.

◆ m_systemSpeechVolume

Real AudioManager::m_systemSpeechVolume
protected

Definition at line 352 of file GameAudio.h.

◆ m_volumeHasChanged

Bool AudioManager::m_volumeHasChanged
protected

Definition at line 366 of file GameAudio.h.

◆ m_zoomVolume

Real AudioManager::m_zoomVolume
protected

Definition at line 353 of file GameAudio.h.

◆ theAudioHandlePool

AudioHandle AudioManager::theAudioHandlePool
protected

Definition at line 336 of file GameAudio.h.


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