IAudioSystemImplementation

The CryEngine AdioTranslationLayer uses this interface to communicate with an audio middleware

C++
struct IAudioSystemImplementation {
};
File

IAudioSystemImplementation.h

ActivateTrigger

Activate an audio-middleware-specific ATLTriggerImpl

C++
virtual EAudioRequestStatus ActivateTrigger(IATLAudioObjectData* const pAudioObjectData, IATLTriggerImplData const* const pTriggerData, IATLEventData* const pEventData) = 0;
Parameters
Parameters
Description
IATLAudioObjectData* const pAudioObjectData
implementation-specific data needed by the audio middleware and the AudioSystemImplementation code to manage the AudioObject on which the ATLTriggerImpl should be executed
IATLTriggerImplData const* const pTriggerData
implementation-specific data needed by the audio middleware and the AudioSystemImplementation code to handle the ATLTriggerImpl
IATLEventData* const pEventData
implementation-specific data needed by the audio middleware and the AudioSystemImplementation code to manage the ATLEvent corresponding to the process started by the activation of ATLTriggerImpl
Returns

eARS_SUCCESS if the ATLTriggerImpl has been successfully activated by the audio middleware, eARS_FAILURE otherwise

See Also
DeleteAudioEnvironmentImplData

Free the memory and potentially other resources used by the supplied IATLEnvironmentImplData instance

C++
virtual void DeleteAudioEnvironmentImplData(IATLEnvironmentImplData const* const pOldEnvironmentImplData) = 0;
Parameters
Parameters
Description
IATLEnvironmentImplData const* const pOldEnvironmentImplData
pointer to the object implementing IATLEnvironmentImplData to be discarded
Description

Syntax: DeleteAudioEnvironmentImplData(pOldEnvironmentImplData)

See Also
DeleteAudioEventData

Free the memory and potentially other resources used by the supplied IATLEventData instance

C++
virtual void DeleteAudioEventData(IATLEventData* const pOldEventData) = 0;
Parameters
Parameters
Description
IATLEventData* const pOldEventData
pointer to the object implementing IATLEventData to be discarded
See Also
DeleteAudioFileEntryData

Free the memory and potentially other resources used by the supplied IATLAudioFileEntryData instance. Normally, an IATLAudioFileEntryData instance is created by ParseAudioFileEntry() and a pointer is stored in a member of SATLAudioFileEntryInfo.

C++
virtual void DeleteAudioFileEntryData(IATLAudioFileEntryData* const pOldAudioFileEntryData) = 0;
Parameters
Parameters
Description
IATLAudioFileEntryData* const pOldAudioFileEntryData
pointer to the object implementing IATLAudioFileEntryData to be discarded
See Also
DeleteAudioListenerObjectData

Free the memory and potentially other resources used by the supplied IATLListenerData instance

C++
virtual void DeleteAudioListenerObjectData(IATLListenerData* const pOldListenerData) = 0;
Parameters
Parameters
Description
IATLListenerData* const pOldListenerData
pointer to the object implementing IATLListenerData to be discarded
See Also
DeleteAudioObjectData

Free the memory and potentially other resources used by the supplied IATLAudioObjectData instance

C++
virtual void DeleteAudioObjectData(IATLAudioObjectData* const pOldObjectData) = 0;
Parameters
Parameters
Description
IATLAudioObjectData* const pOldObjectData
pointer to the object implementing IATLAudioObjectData to be discarded
See Also
DeleteAudioRtpcImplData

Free the memory and potentially other resources used by the supplied IATLRtpcImplData instance

C++
virtual void DeleteAudioRtpcImplData(IATLRtpcImplData const* const pOldRtpcImplData) = 0;
Parameters
Parameters
Description
IATLRtpcImplData const* const pOldRtpcImplData
pointer to the object implementing IATLRtpcImplData to be discarded
Description

Syntax: DeleteAudioRtpcImplData(pOldRtpcImplData)

See Also
DeleteAudioRtpcImplData

Free the memory and potentially other resources used by the supplied IATLSwitchStateImplData instance

C++
virtual void DeleteAudioSwitchStateImplData(IATLSwitchStateImplData const* const pOldAudioSwitchStateImplNode) = 0;
Parameters
Parameters
Description
IATLSwitchStateImplData const* const pOldAudioSwitchStateImplNode
pointer to the object implementing IATLSwitchStateImplData to be discarded
Description

Syntax: DeleteAudioRtpcImplData(pOldAudioSwitchStateImplNode)

See Also
DeleteAudioTriggerImplData

Free the memory and potentially other resources used by the supplied IATLTriggerImplData instance

C++
virtual void DeleteAudioTriggerImplData(IATLTriggerImplData const* const pOldTriggerImplData) = 0;
Parameters
Parameters
Description
IATLTriggerImplData const* const pOldTriggerImplData
pointer to the object implementing IATLTriggerImplData to be discarded
See Also
GetImplementationNameString

Return a string describing the audio middleware used. This string is printed on the first line of the AudioDebug header shown on the screen whenever s_DrawAudioDebug is not 0

C++
virtual char const* const GetImplementationNameString() const = 0;
Returns

A zero-terminated C-string with the description of the audio middleware used by this AudioSystemImplementation.

GetMemoryInfo

Fill in the oMemoryInfo describing the current memory usage of this AudioSystemImplementation. This data gets displayed in the AudioDebug header shown on the screen whenever s_DrawAudioDebug is not 0

C++
virtual void GetMemoryInfo(SAudioImplMemoryInfo& oMemoryInfo) const = 0;
Parameters
Parameters
Description
SAudioImplMemoryInfo& oMemoryInfo
a reference to an instance of SAudioImplMemoryInfo
Init

Initialize all internal components and the audio middleware.

C++
virtual EAudioRequestStatus Init() = 0;
Returns

eARS_SUCCESS if the initialization was successful, eARS_FAILURE otherwise.

See Also
MuteAll

Mute all sounds, after this call there should be no audio coming from the audio middleware.

C++
virtual EAudioRequestStatus MuteAll() = 0;
Returns

eARS_SUCCESS if the action was successful, eARS_FAILURE otherwise.

See Also
NewAudioEnvironmentImplData

Parse the implementation-specific XML node that represents an ATLEnvironmentImpl, return a pointer to the data needed for identifying and using this ATLEnvironmentImpl instance inside the AudioSystemImplementation

C++
virtual IATLEnvironmentImplData const* NewAudioEnvironmentImplData(XmlNodeRef const pAudioEnvironmentNode) = 0;
Parameters
Parameters
Description
XmlNodeRef const pAudioEnvironmentNode
an XML node corresponding to the new ATLEnvironmentImpl to be created
Returns

IATLEnvironmentImplData const* pointer to the audio implementation-specific data needed by the audio middleware and the AudioSystemImplementation code to use the corresponding ATLEnvironmentImpl; NULL if the new IATLEnvironmentImplData instance was not created

See Also
NewAudioEventData

Create an object implementing IATLEventData that stores all of the data needed by the AudioSystemImplementation to identify and use an AudioEvent. Return a pointer to that object.

C++
virtual IATLEventData* NewAudioEventData(TAudioEventID const nEventID) = 0;
Parameters
Parameters
Description
TAudioEventID const nEventID
AudioEventID to be used for the newly created AudioEvent
Returns

IATLEventData* pointer to the audio implementation-specific data needed by the audio middleware and the AudioSystemImplementation code to use the corresponding AudioEvent; NULL if the new IATLEventData instance was not created

See Also
NewAudioListenerObjectData

Create an object implementing IATLListenerData that stores all of the data needed by the AudioSystemImplementation to identify and use an AudioListener. Return a pointer to that object.

C++
virtual IATLListenerData* NewAudioListenerObjectData(uint const nIndex) = 0;
Parameters
Parameters
Description
uint const nIndex
index of the created AudioListener in the array of audio listeners available in the audio middleware
Returns

IATLListenerData* pointer to the audio implementation-specific data needed by the audio middleware and the AudioSystemImplementation code to use the corresponding AudioListener; NULL if the new IATLListenerData instance was not created

See Also
NewAudioObjectData

Create an object implementing IATLAudioObjectData that stores all of the data needed by the AudioSystemImplementation to identify and use the AudioObject with the provided AudioObjectID. Return a pointer to that object.

C++
virtual IATLAudioObjectData* NewAudioObjectData(TAudioObjectID const nObjectID) = 0;
Parameters
Parameters
Description
TAudioObjectID const nObjectID
the AudioObjectID to be used for the new AudioObject
Returns

IATLAudioObjectData* pointer to the audio implementation-specific data needed by the audio middleware and the AudioSystemImplementation code to use the corresponding GlobalAudioObject; NULL if the new IATLAudioObjectData instance was not created

See Also
NewAudioRtpcImplData

Parse the implementation-specific XML node that represents an ATLRtpcImpl, return a pointer to the data needed for identifying and using this ATLRtpcImpl instance inside the AudioSystemImplementation

C++
virtual IATLRtpcImplData const* NewAudioRtpcImplData(XmlNodeRef const pAudioRtpcNode) = 0;
Parameters
Parameters
Description
XmlNodeRef const pAudioRtpcNode
an XML node corresponding to the new ATLRtpcImpl to be created
Returns

IATLRtpcImplData const* pointer to the audio implementation-specific data needed by the audio middleware and the AudioSystemImplementation code to use the corresponding ATLRtpcImpl; NULL if the new AudioTriggerImplData instance was not created

See Also
NewAudioSwitchStateImplData

Parse the implementation-specific XML node that represents an ATLSwitchStateImpl, return a pointer to the data needed for identifying and using this ATLSwitchStateImpl instance inside the AudioSystemImplementation

C++
virtual IATLSwitchStateImplData const* NewAudioSwitchStateImplData(XmlNodeRef const pAudioSwitchStateImplNode) = 0;
Parameters
Parameters
Description
XmlNodeRef const pAudioSwitchStateImplNode
an XML node corresponding to the new ATLSwitchStateImpl to be created
Returns

IATLRtpcImplData const* pointer to the audio implementation-specific data needed by the audio middleware and the AudioSystemImplementation code to use the corresponding ATLSwitchStateImpl; NULL if the new AudioTriggerImplData instance was not created

See Also
NewAudioTriggerImplData

Parse the implementation-specific XML node that represents an ATLTriggerImpl, return a pointer to the data needed for identifying and using this ATLTriggerImpl instance inside the AudioSystemImplementation

C++
virtual IATLTriggerImplData const* NewAudioTriggerImplData(XmlNodeRef const pAudioTriggerNode) = 0;
Parameters
Parameters
Description
XmlNodeRef const pAudioTriggerNode
an XML node corresponding to the new ATLTriggerImpl to be created
Returns

IATLRtpcImplData const* pointer to the audio implementation-specific data needed by the audio middleware and the AudioSystemImplementation code to use the corresponding ATLTriggerImpl; NULL if the new AudioTriggerImplData instance was not created

See Also
NewDefaultAudioListenerObjectData

Create an object implementing IATLListenerData that stores all of the data needed by the AudioSystemImplementation to identify and use the DefaultAudioListener. Return a pointer to that object.

C++
virtual IATLListenerData* NewDefaultAudioListenerObjectData() = 0;
Returns

IATLListenerData* pointer to the audio implementation-specific data needed by the audio middleware and the AudioSystemImplementation code to use the DefaultAudioListener; NULL if the new IATLListenerData instance was not created

See Also
NewGlobalAudioObjectData

Create an object implementing IATLAudioObjectData that stores all of the data needed by the AudioSystemImplementation to identify and use the GlobalAudioObject with the provided AudioObjectID

C++
virtual IATLAudioObjectData* NewGlobalAudioObjectData(TAudioObjectID const nObjectID) = 0;
Parameters
Parameters
Description
TAudioObjectID const nObjectID
the AudioObjectID to be used for the new GlobalAudioObject
Returns

IATLAudioObjectData* pointer to the audio implementation-specific data needed by the audio middleware and the AudioSystemImplementation code to use the corresponding GlobalAudioObject; NULL if the new IATLAudioObjectData instance was not created

See Also
OnAudioSystemRefresh

Perform a "hot restart" of the audio middleware. Reset all of the internal data.

C++
virtual void OnAudioSystemRefresh() = 0;
See Also
OnGetFocus

This method is called every time the main Game (or Editor) window gets focus.

C++
virtual EAudioRequestStatus OnGetFocus() = 0;
Returns

eARS_SUCCESS if the action was successful, eARS_FAILURE otherwise.

See Also
OnLoseFocus

This method is called every time the main Game (or Editor) window loses focus.

C++
virtual EAudioRequestStatus OnLoseFocus() = 0;
Returns

eARS_SUCCESS if the action was successful, eARS_FAILURE otherwise.

See Also
ParseAudioFileEntry

Parse the implementation-specific XML node that represents an AudioFileEntry, fill the fields of the struct referenced by pFileEntryInfo with the data necessary to correctly access and store the file's contents in memory. Create an object implementing IATLAudioFileEntryData to hold implementation-specific data about the file and store a pointer to it in a member of pFileEntryInfo

C++
virtual EAudioRequestStatus ParseAudioFileEntry(XmlNodeRef const pAudioFileEntryNode, SATLAudioFileEntryInfo* const pFileEntryInfo) = 0;
Parameters
Parameters
Description
XmlNodeRef const pAudioFileEntryNode
an XML node containing the necessary information about the file
SATLAudioFileEntryInfo* const pFileEntryInfo
a pointer to the struct containing the data used by the ATL to load the file into memory
Returns

eARS_SUCCESS if the XML node was parsed successfully, eARS_FAILURE otherwise

PrepareTriggerAsync

Load the metadata and media needed by the audio middleware to execute the ATLTriggerImpl described by pTriggerData asynchronously. An active event that references pEventData is created on the corresponding AudioObject. The callback called once the loading is done must report that this event is finished. Preparing Triggers manually is only necessary if their data have not been loaded via PreloadRequests.

C++
virtual EAudioRequestStatus PrepareTriggerAsync(IATLAudioObjectData* const pAudioObjectData, IATLTriggerImplData const* const pTriggerData, IATLEventData* const pEventData) = 0;
Parameters
Parameters
Description
IATLAudioObjectData* const pAudioObjectData
implementation-specific data needed by the audio middleware and the AudioSystemImplementation code to manage the AudioObject on which the ATLTriggerImpl is prepared
IATLTriggerImplData const* const pTriggerData
implementation-specific data needed by the audio middleware and the AudioSystemImplementation code to handle the ATLTriggerImpl being prepared
IATLEventData* const pEventData
implementation-specific data needed by the audio middleware and the AudioSystemImplementation code to manage the ATLEvent corresponding to the loading process started
Returns

eARS_SUCCESS if the the request was successfully sent to the audio middleware, eARS_FAILURE otherwise

See Also
PrepareTriggerSync

Load the metadata and media needed by the audio middleware to execute the ATLTriggerImpl described by pTriggerData. Preparing Triggers manually is only necessary if their data have not been loaded via PreloadRequests.

C++
virtual EAudioRequestStatus PrepareTriggerSync(IATLAudioObjectData* const pAudioObjectData, IATLTriggerImplData const* const pTriggerData) = 0;
Parameters
Parameters
Description
IATLAudioObjectData* const pAudioObjectData
implementation-specific data needed by the audio middleware and the AudioSystemImplementation code to manage the AudioObject on which the ATLTriggerImpl is prepared
IATLTriggerImplData const* const pTriggerData
implementation-specific data for the ATLTriggerImpl being prepared
Returns

eARS_SUCCESS if the the data was successfully loaded, eARS_FAILURE otherwise

See Also
RegisterAudioObject

Register an audio object with the audio middleware. An object needs to be registered for one to set position, execute triggers on it, or set Rtpcs and switches. This version of the method is meant to be used in the release builds.

C++
virtual EAudioRequestStatus RegisterAudioObject(IATLAudioObjectData* const pObjectData) = 0;
Parameters
Parameters
Description
IATLAudioObjectData* const pObjectData
implementation-specific data needed by the audio middleware and the AudioSystemImplementation code to manage the AudioObject being registered
Returns

eARS_SUCCESS if the object has been registered, eARS_FAILURE if the registration failed

See Also
RegisterAudioObject

Register an audio object with the audio middleware. An object needs to be registered for one to set position, execute triggers on it, or set Rtpcs and switches. This version of the method is meant be used in debug builds.

C++
virtual EAudioRequestStatus RegisterAudioObject(IATLAudioObjectData* const pObjectData, char const* const sObjectName) = 0;
Parameters
Parameters
Description
IATLAudioObjectData* const pObjectData
implementation-specific data needed by the audio middleware and the AudioSystemImplementation code to manage the AudioObject being registered
char const* const sObjectName
the AudioObject name shown in debug info
Returns

eARS_SUCCESS if the object has been registered, eARS_FAILURE if the registration failed

See Also
RegisterInMemoryFile

Inform the audio middleware about the memory location of a preloaded audio-data file

C++
virtual EAudioRequestStatus RegisterInMemoryFile(SATLAudioFileEntryInfo* const pAudioFileEntry) = 0;
Parameters
Parameters
Description
SATLAudioFileEntryInfo* const pAudioFileEntry
ATL-specific information describing the resources used by the preloaded file being reported
Returns

eARS_SUCCESS if the audio middleware is able to use the preloaded file, eARS_FAILURE otherwise

See Also
Release

Frees all of the resources used by the class and destroys the instance. This action is not reversible.

C++
virtual EAudioRequestStatus Release() = 0;
Returns

eARS_SUCCESS if the action was successful, eARS_FAILURE otherwise.

See Also
ResetAudioEventData

Reset all the members of an IATLEventData instance without releasing the memory, so that the instance can be returned to the pool to be reused.

C++
virtual void ResetAudioEventData(IATLEventData* const pEventData) = 0;
Parameters
Parameters
Description
IATLEventData* const pEventData
pointer to the object implementing IATLEventData to be reset
Description

Syntax: ResetAudioEventData(pEventData)

See Also
ResetAudioObject

Clear out the object data and resets it so that the object can be returned to the pool of available Audio Object for reuse.

C++
virtual EAudioRequestStatus ResetAudioObject(IATLAudioObjectData* const pObjectData) = 0;
Parameters
Parameters
Description
IATLAudioObjectData* const pObjectData
implementation-specific data needed by the audio middleware and the AudioSystemImplementation code to manage the AudioObject being reset
Returns

eARS_SUCCESS if the object has been reset, eARS_FAILURE otherwise

See Also
SetEnvironment

Set the provided value for the specified ATLEnvironmentImpl on the given AudioObject

C++
virtual EAudioRequestStatus SetEnvironment(IATLAudioObjectData* const pAudioObjectData, IATLEnvironmentImplData const* const pEnvironmentImplData, float const fAmount) = 0;
Parameters
Parameters
Description
IATLAudioObjectData* const pAudioObjectData
implementation-specific data needed by the audio middleware and the AudioSystemImplementation code to manage the AudioObject on which the ATLEnvironmentImpl value is being set
IATLEnvironmentImplData const* const pEnvironmentImplData
implementation-specific data needed by the audio middleware and the AudioSystemImplementation code to identify and use the ATLEnvironmentImpl being set
fValue
the fade value for the provided ATLEnvironmentImpl, 0.0f means no effect at all, 1.0f corresponds to the full effect
Returns

eARS_SUCCESS if the provided the value has been successfully set, eARS_FAILURE otherwise

See Also
SetPosition

Set the world position of an AudioListener inside the audio middleware

C++
virtual EAudioRequestStatus SetListenerPosition(IATLListenerData* const pListenerData, SATLWorldPosition const& oNewPosition) = 0;
Parameters
Parameters
Description
IATLListenerData* const pListenerData
implementation-specific data needed by the audio middleware and the AudioSystemImplementation code to manage the AudioListener whose position is being set
oWorldPosition
a struct containing the necessary geometric information about the AudioListener position
Returns

eARS_SUCCESS if the AudioListener's position has been successfully set, eARS_FAILURE otherwise

See Also
SetObstructionOcclusion

Set the provided Obstruction and Occlusion values on the given AudioObject

C++
virtual EAudioRequestStatus SetObstructionOcclusion(IATLAudioObjectData* const pAudioObjectData, float const fObstruction, float const fOcclusion) = 0;
Parameters
Parameters
Description
IATLAudioObjectData* const pAudioObjectData
implementation-specific data needed by the audio middleware and the AudioSystemImplementation code to manage the AudioObject on which the Obstruction and Occlusion is being set
float const fObstruction
the obstruction value to be set; it describes how much the direct sound path from the AudioObject to the Listener is obstructed
float const fOcclusion
the occlusion value to be set; it describes how much all sound paths (direct and indirect) are obstructed
Returns

eARS_SUCCESS if the provided the values been successfully set, eARS_FAILURE otherwise

See Also
SetPosition

Set the world position of an AudioObject inside the audio middleware

C++
virtual EAudioRequestStatus SetPosition(IATLAudioObjectData* const pAudioObjectData, SATLWorldPosition const& oWorldPosition) = 0;
Parameters
Parameters
Description
IATLAudioObjectData* const pAudioObjectData
implementation-specific data needed by the audio middleware and the AudioSystemImplementation code to manage the AudioObject whose position is being set
SATLWorldPosition const& oWorldPosition
a struct containing all of the geometric information about the AudioObject necessary to correctly play the audio produced on it
Returns

eARS_SUCCESS if the AudioObject's position has been successfully set, eARS_FAILURE otherwise

See Also
SetRtpc

Set the ATLRtpcImpl to the specified value on the provided AudioObject

C++
virtual EAudioRequestStatus SetRtpc(IATLAudioObjectData* const pAudioObjectData, IATLRtpcImplData const* const pRtpcData, float const fValue) = 0;
Parameters
Parameters
Description
IATLAudioObjectData* const pAudioObjectData
implementation-specific data needed by the audio middleware and the AudioSystemImplementation code to manage the AudioObject on which the ATLRtpcImpl is being set
IATLRtpcImplData const* const pRtpcData
implementation-specific data needed by the audio middleware and the AudioSystemImplementation code to handle the ATLRtpcImpl which is being set
float const fValue
the value to be set
Returns

eARS_SUCCESS if the provided value has been successfully set on the passed ATLRtpcImpl, eARS_FAILURE otherwise

See Also
SetSwitchState

Set the ATLSwitchStateImpl on the given AudioObject

C++
virtual EAudioRequestStatus SetSwitchState(IATLAudioObjectData* const pAudioObjectData, IATLSwitchStateImplData const* const pSwitchStateData) = 0;
Parameters
Parameters
Description
IATLAudioObjectData* const pAudioObjectData
implementation-specific data needed by the audio middleware and the AudioSystemImplementation code to manage the AudioObject on which the ATLSwitchStateImpl is being set
IATLSwitchStateImplData const* const pSwitchStateData
implementation-specific data needed by the audio middleware and the AudioSystemImplementation code to handle the ATLSwitchStateImpl which is being set
Returns

eARS_SUCCESS if the provided ATLSwitchStateImpl has been successfully set, eARS_FAILURE otherwise

See Also
ShutDown

Shuts down all of the internal components and the audio middleware.

C++
virtual EAudioRequestStatus ShutDown() = 0;
Returns

eARS_SUCCESS if the shutdown was successful, eARS_FAILURE otherwise.

Notes

After a call to ShutDown(), the system can still be reinitialized by calling Init().

See Also
StopAllEvents

Stop all ATLEvents currently active on an AudioObject

C++
virtual EAudioRequestStatus StopAllEvents(IATLAudioObjectData* const pAudioObjectData) = 0;
Parameters
Parameters
Description
IATLAudioObjectData* const pAudioObjectData
implementation-specific data needed by the audio middleware and the AudioSystemImplementation code to manage the AudioObject on which the ATLEvent should be stopped
Returns

eARS_SUCCESS if all of the ATLEvents have been successfully stopped, eARS_FAILURE otherwise

See Also
StopAllSounds

Stop all currently playing sounds. Has no effect on anything triggered after this method is called.

C++
virtual EAudioRequestStatus StopAllSounds() = 0;
Returns

eARS_SUCCESS if the action was successful, eARS_FAILURE otherwise.

See Also
StopEvent

Stop and ATLEvent active on an AudioObject

C++
virtual EAudioRequestStatus StopEvent(IATLAudioObjectData* const pAudioObjectData, IATLEventData const* const pEventData) = 0;
Parameters
Parameters
Description
IATLAudioObjectData* const pAudioObjectData
implementation-specific data needed by the audio middleware and the AudioSystemImplementation code to manage the AudioObject on which the specified ATLEvent is active
IATLEventData const* const pEventData
implementation-specific data needed by the audio middleware and the AudioSystemImplementation code to identify the ATLEvent that needs to be stopped
Returns

eARS_SUCCESS if the ATLEvent has been successfully stopped, eARS_FAILURE otherwise

See Also
UnmuteAll

Restore the audio output of the audio middleware after a call to MuteAll().

C++
virtual EAudioRequestStatus UnmuteAll() = 0;
Returns

eARS_SUCCESS if the action was successful, eARS_FAILURE otherwise.

See Also
UnprepareTriggerAsync

Unload the metadata and media needed by the audio middleware to execute the ATLTriggerImpl described by pTriggerData asynchronously. An active event that references pEventData is created on the corresponding AudioObject. The callback called once the unloading is done must report that this event is finished. Un-preparing Triggers manually is only necessary if their data are not managed via PreloadRequests.

C++
virtual EAudioRequestStatus UnprepareTriggerAsync(IATLAudioObjectData* const pAudioObjectData, IATLTriggerImplData const* const pTriggerData, IATLEventData* const pEventData) = 0;
Parameters
Parameters
Description
IATLAudioObjectData* const pAudioObjectData
implementation-specific data needed by the audio middleware and the AudioSystemImplementation code to manage the AudioObject on which the ATLTriggerImpl is un-prepared
IATLTriggerImplData const* const pTriggerData
implementation-specific data needed by the audio middleware and the AudioSystemImplementation code to handle the ATLTriggerImpl
IATLEventData* const pEventData
implementation-specific data needed by the audio middleware and the AudioSystemImplementation code to manage the ATLEvent corresponding to the unloading process started
Returns

eARS_SUCCESS if the the request was successfully sent to the audio middleware, eARS_FAILURE otherwise

See Also
UnprepareTriggerSync

Release the metadata and media needed by the audio middleware to execute the ATLTriggerImpl described by pTriggerData Un-preparing Triggers manually is only necessary if their data are not managed via PreloadRequests.

C++
virtual EAudioRequestStatus UnprepareTriggerSync(IATLAudioObjectData* const pAudioObjectData, IATLTriggerImplData const* const pTriggerData) = 0;
Parameters
Parameters
Description
IATLAudioObjectData* const pAudioObjectData
implementation-specific data needed by the audio middleware and the AudioSystemImplementation code to manage the AudioObject on which the ATLTriggerImpl is un-prepared
IATLTriggerImplData const* const pTriggerData
implementation-specific data needed by the audio middleware and the AudioSystemImplementation code to handle the ATLTriggerImpl being unprepared
Returns

eARS_SUCCESS if the the data was successfully unloaded, eARS_FAILURE otherwise

See Also
UnregisterAudioObject

Unregister an audio object with the audio middleware. After this action executing triggers, setting position, states or rtpcs should have no effect on the object referenced by pObjectData.

C++
virtual EAudioRequestStatus UnregisterAudioObject(IATLAudioObjectData* const pObjectData) = 0;
Parameters
Parameters
Description
IATLAudioObjectData* const pObjectData
implementation-specific data needed by the audio middleware and the AudioSystemImplementation code to manage the AudioObject being unregistered
Returns

eARS_SUCCESS if the object has been unregistered, eARS_FAILURE if the un-registration failed

See Also
UnregisterInMemoryFile

Inform the audio middleware that the memory containing the preloaded audio-data file should no longer be used

C++
virtual EAudioRequestStatus UnregisterInMemoryFile(SATLAudioFileEntryInfo* const pAudioFileEntry) = 0;
Parameters
Parameters
Description
SATLAudioFileEntryInfo* const pAudioFileEntry
ATL-specific information describing the resources used by the preloaded file being invalidated
Returns

eARS_SUCCESS if the audio middleware was able to unregister the preloaded file supplied, eARS_FAILURE otherwise

See Also
Update

Update all of the internal components that require regular updates, update the audio middleware state.

C++
virtual void Update(float const fUpdateIntervalMS) = 0;
Parameters
Parameters
Description
float const fUpdateIntervalMS
Time since the last call to Update in milliseconds.
Returns

void

UpdateAudioObject

Performs actions that need to be executed regularly on an AudioObject.

C++
virtual EAudioRequestStatus UpdateAudioObject(IATLAudioObjectData* const pObjectData) = 0;
Parameters
Parameters
Description
IATLAudioObjectData* const pObjectData
implementation-specific data needed by the audio middleware and the AudioSystemImplementation code to manage the AudioObject being updated
Returns

eARS_SUCCESS if the object has been reset, eARS_FAILURE otherwise

EAudioRequestStatus

An enum that lists possible statuses of an AudioRequest. Used as a return type for many function used by the AudioSystem internally, and also for most of the IAudioSystemImplementation calls

C++
enum ATL_ENUM_TYPE {
  eARS_NONE = 0,
  eARS_SUCCESS = 1,
  eARS_FAILURE = 2,
  eARS_PENDING = 3,
  eARS_FAILURE_INVALID_OBJECT_ID = 4,
  eARS_FAILURE_INVLAID_CONTROL_ID = 5,
  eARS_FAILURE_INVLAID_REQUEST = 6
};
File

IAudioSystemImplementation.h