The CryEngine AdioTranslationLayer uses this interface to communicate with an audio middleware
struct IAudioSystemImplementation { };
IAudioSystemImplementation.h
Activate an audio-middleware-specific ATLTriggerImpl
virtual EAudioRequestStatus ActivateTrigger(IATLAudioObjectData* const pAudioObjectData, IATLTriggerImplData const* const pTriggerData, IATLEventData* const pEventData) = 0;
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 |
eARS_SUCCESS if the ATLTriggerImpl has been successfully activated by the audio middleware, eARS_FAILURE otherwise
Free the memory and potentially other resources used by the supplied IATLEnvironmentImplData instance
virtual void DeleteAudioEnvironmentImplData(IATLEnvironmentImplData const* const pOldEnvironmentImplData) = 0;
Parameters |
Description |
IATLEnvironmentImplData const* const pOldEnvironmentImplData |
pointer to the object implementing IATLEnvironmentImplData to be discarded |
Syntax: DeleteAudioEnvironmentImplData(pOldEnvironmentImplData)
Free the memory and potentially other resources used by the supplied IATLEventData instance
virtual void DeleteAudioEventData(IATLEventData* const pOldEventData) = 0;
Parameters |
Description |
IATLEventData* const pOldEventData |
pointer to the object implementing IATLEventData to be discarded |
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.
virtual void DeleteAudioFileEntryData(IATLAudioFileEntryData* const pOldAudioFileEntryData) = 0;
Parameters |
Description |
IATLAudioFileEntryData* const pOldAudioFileEntryData |
pointer to the object implementing IATLAudioFileEntryData to be discarded |
Free the memory and potentially other resources used by the supplied IATLListenerData instance
virtual void DeleteAudioListenerObjectData(IATLListenerData* const pOldListenerData) = 0;
Parameters |
Description |
IATLListenerData* const pOldListenerData |
pointer to the object implementing IATLListenerData to be discarded |
Free the memory and potentially other resources used by the supplied IATLAudioObjectData instance
virtual void DeleteAudioObjectData(IATLAudioObjectData* const pOldObjectData) = 0;
Parameters |
Description |
IATLAudioObjectData* const pOldObjectData |
pointer to the object implementing IATLAudioObjectData to be discarded |
Free the memory and potentially other resources used by the supplied IATLRtpcImplData instance
virtual void DeleteAudioRtpcImplData(IATLRtpcImplData const* const pOldRtpcImplData) = 0;
Parameters |
Description |
IATLRtpcImplData const* const pOldRtpcImplData |
pointer to the object implementing IATLRtpcImplData to be discarded |
Syntax: DeleteAudioRtpcImplData(pOldRtpcImplData)
Free the memory and potentially other resources used by the supplied IATLSwitchStateImplData instance
virtual void DeleteAudioSwitchStateImplData(IATLSwitchStateImplData const* const pOldAudioSwitchStateImplNode) = 0;
Parameters |
Description |
IATLSwitchStateImplData const* const pOldAudioSwitchStateImplNode |
pointer to the object implementing IATLSwitchStateImplData to be discarded |
Syntax: DeleteAudioRtpcImplData(pOldAudioSwitchStateImplNode)
Free the memory and potentially other resources used by the supplied IATLTriggerImplData instance
virtual void DeleteAudioTriggerImplData(IATLTriggerImplData const* const pOldTriggerImplData) = 0;
Parameters |
Description |
IATLTriggerImplData const* const pOldTriggerImplData |
pointer to the object implementing IATLTriggerImplData to be discarded |
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
virtual char const* const GetImplementationNameString() const = 0;
A zero-terminated C-string with the description of the audio middleware used by this AudioSystemImplementation.
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
virtual void GetMemoryInfo(SAudioImplMemoryInfo& oMemoryInfo) const = 0;
Parameters |
Description |
SAudioImplMemoryInfo& oMemoryInfo |
a reference to an instance of SAudioImplMemoryInfo |
Initialize all internal components and the audio middleware.
virtual EAudioRequestStatus Init() = 0;
eARS_SUCCESS if the initialization was successful, eARS_FAILURE otherwise.
Mute all sounds, after this call there should be no audio coming from the audio middleware.
virtual EAudioRequestStatus MuteAll() = 0;
eARS_SUCCESS if the action was successful, eARS_FAILURE otherwise.
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
virtual IATLEnvironmentImplData const* NewAudioEnvironmentImplData(XmlNodeRef const pAudioEnvironmentNode) = 0;
Parameters |
Description |
XmlNodeRef const pAudioEnvironmentNode |
an XML node corresponding to the new ATLEnvironmentImpl to be created |
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
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.
virtual IATLEventData* NewAudioEventData(TAudioEventID const nEventID) = 0;
Parameters |
Description |
TAudioEventID const nEventID |
AudioEventID to be used for the newly created AudioEvent |
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
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.
virtual IATLListenerData* NewAudioListenerObjectData(uint const nIndex) = 0;
Parameters |
Description |
uint const nIndex |
index of the created AudioListener in the array of audio listeners available in the audio middleware |
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
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.
virtual IATLAudioObjectData* NewAudioObjectData(TAudioObjectID const nObjectID) = 0;
Parameters |
Description |
TAudioObjectID const nObjectID |
the AudioObjectID to be used for the new AudioObject |
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
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
virtual IATLRtpcImplData const* NewAudioRtpcImplData(XmlNodeRef const pAudioRtpcNode) = 0;
Parameters |
Description |
XmlNodeRef const pAudioRtpcNode |
an XML node corresponding to the new ATLRtpcImpl to be created |
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
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
virtual IATLSwitchStateImplData const* NewAudioSwitchStateImplData(XmlNodeRef const pAudioSwitchStateImplNode) = 0;
Parameters |
Description |
XmlNodeRef const pAudioSwitchStateImplNode |
an XML node corresponding to the new ATLSwitchStateImpl to be created |
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
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
virtual IATLTriggerImplData const* NewAudioTriggerImplData(XmlNodeRef const pAudioTriggerNode) = 0;
Parameters |
Description |
XmlNodeRef const pAudioTriggerNode |
an XML node corresponding to the new ATLTriggerImpl to be created |
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
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.
virtual IATLListenerData* NewDefaultAudioListenerObjectData() = 0;
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
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
virtual IATLAudioObjectData* NewGlobalAudioObjectData(TAudioObjectID const nObjectID) = 0;
Parameters |
Description |
TAudioObjectID const nObjectID |
the AudioObjectID to be used for the new GlobalAudioObject |
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
Perform a "hot restart" of the audio middleware. Reset all of the internal data.
virtual void OnAudioSystemRefresh() = 0;
This method is called every time the main Game (or Editor) window gets focus.
virtual EAudioRequestStatus OnGetFocus() = 0;
eARS_SUCCESS if the action was successful, eARS_FAILURE otherwise.
This method is called every time the main Game (or Editor) window loses focus.
virtual EAudioRequestStatus OnLoseFocus() = 0;
eARS_SUCCESS if the action was successful, eARS_FAILURE otherwise.
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
virtual EAudioRequestStatus ParseAudioFileEntry(XmlNodeRef const pAudioFileEntryNode, SATLAudioFileEntryInfo* const pFileEntryInfo) = 0;
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 |
eARS_SUCCESS if the XML node was parsed successfully, eARS_FAILURE otherwise
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.
virtual EAudioRequestStatus PrepareTriggerAsync(IATLAudioObjectData* const pAudioObjectData, IATLTriggerImplData const* const pTriggerData, IATLEventData* const pEventData) = 0;
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 |
eARS_SUCCESS if the the request was successfully sent to the audio middleware, eARS_FAILURE otherwise
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.
virtual EAudioRequestStatus PrepareTriggerSync(IATLAudioObjectData* const pAudioObjectData, IATLTriggerImplData const* const pTriggerData) = 0;
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 |
eARS_SUCCESS if the the data was successfully loaded, eARS_FAILURE otherwise
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.
virtual EAudioRequestStatus RegisterAudioObject(IATLAudioObjectData* const pObjectData) = 0;
Parameters |
Description |
IATLAudioObjectData* const pObjectData |
implementation-specific data needed by the audio middleware and the AudioSystemImplementation code to manage the AudioObject being registered |
eARS_SUCCESS if the object has been registered, eARS_FAILURE if the registration failed
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.
virtual EAudioRequestStatus RegisterAudioObject(IATLAudioObjectData* const pObjectData, char const* const sObjectName) = 0;
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 |
eARS_SUCCESS if the object has been registered, eARS_FAILURE if the registration failed
Inform the audio middleware about the memory location of a preloaded audio-data file
virtual EAudioRequestStatus RegisterInMemoryFile(SATLAudioFileEntryInfo* const pAudioFileEntry) = 0;
Parameters |
Description |
SATLAudioFileEntryInfo* const pAudioFileEntry |
ATL-specific information describing the resources used by the preloaded file being reported |
eARS_SUCCESS if the audio middleware is able to use the preloaded file, eARS_FAILURE otherwise
Frees all of the resources used by the class and destroys the instance. This action is not reversible.
virtual EAudioRequestStatus Release() = 0;
eARS_SUCCESS if the action was successful, eARS_FAILURE otherwise.
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.
virtual void ResetAudioEventData(IATLEventData* const pEventData) = 0;
Parameters |
Description |
IATLEventData* const pEventData |
pointer to the object implementing IATLEventData to be reset |
Syntax: ResetAudioEventData(pEventData)
Clear out the object data and resets it so that the object can be returned to the pool of available Audio Object for reuse.
virtual EAudioRequestStatus ResetAudioObject(IATLAudioObjectData* const pObjectData) = 0;
Parameters |
Description |
IATLAudioObjectData* const pObjectData |
implementation-specific data needed by the audio middleware and the AudioSystemImplementation code to manage the AudioObject being reset |
eARS_SUCCESS if the object has been reset, eARS_FAILURE otherwise
Set the provided value for the specified ATLEnvironmentImpl on the given AudioObject
virtual EAudioRequestStatus SetEnvironment(IATLAudioObjectData* const pAudioObjectData, IATLEnvironmentImplData const* const pEnvironmentImplData, float const fAmount) = 0;
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 |
eARS_SUCCESS if the provided the value has been successfully set, eARS_FAILURE otherwise
Set the world position of an AudioListener inside the audio middleware
virtual EAudioRequestStatus SetListenerPosition(IATLListenerData* const pListenerData, SATLWorldPosition const& oNewPosition) = 0;
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 |
eARS_SUCCESS if the AudioListener's position has been successfully set, eARS_FAILURE otherwise
Set the provided Obstruction and Occlusion values on the given AudioObject
virtual EAudioRequestStatus SetObstructionOcclusion(IATLAudioObjectData* const pAudioObjectData, float const fObstruction, float const fOcclusion) = 0;
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 |
eARS_SUCCESS if the provided the values been successfully set, eARS_FAILURE otherwise
Set the world position of an AudioObject inside the audio middleware
virtual EAudioRequestStatus SetPosition(IATLAudioObjectData* const pAudioObjectData, SATLWorldPosition const& oWorldPosition) = 0;
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 |
eARS_SUCCESS if the AudioObject's position has been successfully set, eARS_FAILURE otherwise
Set the ATLRtpcImpl to the specified value on the provided AudioObject
virtual EAudioRequestStatus SetRtpc(IATLAudioObjectData* const pAudioObjectData, IATLRtpcImplData const* const pRtpcData, float const fValue) = 0;
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 |
eARS_SUCCESS if the provided value has been successfully set on the passed ATLRtpcImpl, eARS_FAILURE otherwise
Set the ATLSwitchStateImpl on the given AudioObject
virtual EAudioRequestStatus SetSwitchState(IATLAudioObjectData* const pAudioObjectData, IATLSwitchStateImplData const* const pSwitchStateData) = 0;
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 |
eARS_SUCCESS if the provided ATLSwitchStateImpl has been successfully set, eARS_FAILURE otherwise
Shuts down all of the internal components and the audio middleware.
virtual EAudioRequestStatus ShutDown() = 0;
eARS_SUCCESS if the shutdown was successful, eARS_FAILURE otherwise.
After a call to ShutDown(), the system can still be reinitialized by calling Init().
Stop all ATLEvents currently active on an AudioObject
virtual EAudioRequestStatus StopAllEvents(IATLAudioObjectData* const pAudioObjectData) = 0;
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 |
eARS_SUCCESS if all of the ATLEvents have been successfully stopped, eARS_FAILURE otherwise
Stop all currently playing sounds. Has no effect on anything triggered after this method is called.
virtual EAudioRequestStatus StopAllSounds() = 0;
eARS_SUCCESS if the action was successful, eARS_FAILURE otherwise.
Stop and ATLEvent active on an AudioObject
virtual EAudioRequestStatus StopEvent(IATLAudioObjectData* const pAudioObjectData, IATLEventData const* const pEventData) = 0;
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 |
eARS_SUCCESS if the ATLEvent has been successfully stopped, eARS_FAILURE otherwise
Restore the audio output of the audio middleware after a call to MuteAll().
virtual EAudioRequestStatus UnmuteAll() = 0;
eARS_SUCCESS if the action was successful, eARS_FAILURE otherwise.
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.
virtual EAudioRequestStatus UnprepareTriggerAsync(IATLAudioObjectData* const pAudioObjectData, IATLTriggerImplData const* const pTriggerData, IATLEventData* const pEventData) = 0;
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 |
eARS_SUCCESS if the the request was successfully sent to the audio middleware, eARS_FAILURE otherwise
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.
virtual EAudioRequestStatus UnprepareTriggerSync(IATLAudioObjectData* const pAudioObjectData, IATLTriggerImplData const* const pTriggerData) = 0;
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 |
eARS_SUCCESS if the the data was successfully unloaded, eARS_FAILURE otherwise
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.
virtual EAudioRequestStatus UnregisterAudioObject(IATLAudioObjectData* const pObjectData) = 0;
Parameters |
Description |
IATLAudioObjectData* const pObjectData |
implementation-specific data needed by the audio middleware and the AudioSystemImplementation code to manage the AudioObject being unregistered |
eARS_SUCCESS if the object has been unregistered, eARS_FAILURE if the un-registration failed
Inform the audio middleware that the memory containing the preloaded audio-data file should no longer be used
virtual EAudioRequestStatus UnregisterInMemoryFile(SATLAudioFileEntryInfo* const pAudioFileEntry) = 0;
Parameters |
Description |
SATLAudioFileEntryInfo* const pAudioFileEntry |
ATL-specific information describing the resources used by the preloaded file being invalidated |
eARS_SUCCESS if the audio middleware was able to unregister the preloaded file supplied, eARS_FAILURE otherwise
Update all of the internal components that require regular updates, update the audio middleware state.
virtual void Update(float const fUpdateIntervalMS) = 0;
Parameters |
Description |
float const fUpdateIntervalMS |
Time since the last call to Update in milliseconds. |
void
Performs actions that need to be executed regularly on an AudioObject.
virtual EAudioRequestStatus UpdateAudioObject(IATLAudioObjectData* const pObjectData) = 0;
Parameters |
Description |
IATLAudioObjectData* const pObjectData |
implementation-specific data needed by the audio middleware and the AudioSystemImplementation code to manage the AudioObject being updated |
eARS_SUCCESS if the object has been reset, eARS_FAILURE otherwise
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
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 };
IAudioSystemImplementation.h