#include <IAudioSystemImplementation.h>
Inherits AZ::EBusTraits.
Public Member Functions | |
virtual void | Update (float updateIntervalMS)=0 |
virtual EAudioRequestStatus | Initialize ()=0 |
virtual EAudioRequestStatus | ShutDown ()=0 |
virtual EAudioRequestStatus | Release ()=0 |
virtual EAudioRequestStatus | StopAllSounds ()=0 |
virtual EAudioRequestStatus | RegisterAudioObject (IATLAudioObjectData *objectData, const char *objectName=nullptr)=0 |
virtual EAudioRequestStatus | UnregisterAudioObject (IATLAudioObjectData *objectData)=0 |
virtual EAudioRequestStatus | ResetAudioObject (IATLAudioObjectData *objectData)=0 |
virtual EAudioRequestStatus | UpdateAudioObject (IATLAudioObjectData *objectData)=0 |
virtual EAudioRequestStatus | PrepareTriggerSync (IATLAudioObjectData *audioObjectData, const IATLTriggerImplData *triggerData)=0 |
virtual EAudioRequestStatus | UnprepareTriggerSync (IATLAudioObjectData *objectData, const IATLTriggerImplData *triggerData)=0 |
virtual EAudioRequestStatus | PrepareTriggerAsync (IATLAudioObjectData *objectData, const IATLTriggerImplData *triggerData, IATLEventData *eventData)=0 |
virtual EAudioRequestStatus | UnprepareTriggerAsync (IATLAudioObjectData *pAudioObjectData, const IATLTriggerImplData *pTriggerData, IATLEventData *pEventData)=0 |
virtual EAudioRequestStatus | ActivateTrigger (IATLAudioObjectData *objectData, const IATLTriggerImplData *triggerData, IATLEventData *tventData, const SATLSourceData *sourceData)=0 |
virtual EAudioRequestStatus | StopEvent (IATLAudioObjectData *objectData, const IATLEventData *eventData)=0 |
virtual EAudioRequestStatus | StopAllEvents (IATLAudioObjectData *objectData)=0 |
virtual EAudioRequestStatus | SetPosition (IATLAudioObjectData *objectData, const SATLWorldPosition &worldPosition)=0 |
virtual EAudioRequestStatus | SetMultiplePositions (IATLAudioObjectData *objectData, const MultiPositionParams &multiPositions)=0 |
virtual EAudioRequestStatus | SetRtpc (IATLAudioObjectData *objectData, const IATLRtpcImplData *rtpcData, float value)=0 |
virtual EAudioRequestStatus | SetSwitchState (IATLAudioObjectData *objectData, const IATLSwitchStateImplData *switchStateData)=0 |
virtual EAudioRequestStatus | SetObstructionOcclusion (IATLAudioObjectData *objectData, float obstruction, float occlusion)=0 |
virtual EAudioRequestStatus | SetEnvironment (IATLAudioObjectData *objectData, const IATLEnvironmentImplData *environmentData, float amount)=0 |
virtual EAudioRequestStatus | SetListenerPosition (IATLListenerData *listenerData, const SATLWorldPosition &newPosition)=0 |
virtual EAudioRequestStatus | ResetRtpc (IATLAudioObjectData *objectData, const IATLRtpcImplData *rtpcData)=0 |
virtual EAudioRequestStatus | RegisterInMemoryFile (SATLAudioFileEntryInfo *audioFileEntry)=0 |
virtual EAudioRequestStatus | UnregisterInMemoryFile (SATLAudioFileEntryInfo *audioFileEntry)=0 |
virtual EAudioRequestStatus | ParseAudioFileEntry (const AZ::rapidxml::xml_node< char > *audioFileEntryNode, SATLAudioFileEntryInfo *fileEntryInfo)=0 |
virtual void | DeleteAudioFileEntryData (IATLAudioFileEntryData *oldAudioFileEntryData)=0 |
virtual const char *const | GetAudioFileLocation (SATLAudioFileEntryInfo *fileEntryInfo)=0 |
virtual IATLTriggerImplData * | NewAudioTriggerImplData (const AZ::rapidxml::xml_node< char > *audioTriggerNode)=0 |
virtual void | DeleteAudioTriggerImplData (IATLTriggerImplData *oldTriggerData)=0 |
virtual IATLRtpcImplData * | NewAudioRtpcImplData (const AZ::rapidxml::xml_node< char > *audioRtpcNode)=0 |
virtual void | DeleteAudioRtpcImplData (IATLRtpcImplData *oldRtpcData)=0 |
virtual IATLSwitchStateImplData * | NewAudioSwitchStateImplData (const AZ::rapidxml::xml_node< char > *audioSwitchStateNode)=0 |
virtual void | DeleteAudioSwitchStateImplData (IATLSwitchStateImplData *oldAudioSwitchStateData)=0 |
virtual IATLEnvironmentImplData * | NewAudioEnvironmentImplData (const AZ::rapidxml::xml_node< char > *audioEnvironmentNode)=0 |
virtual void | DeleteAudioEnvironmentImplData (IATLEnvironmentImplData *oldEnvironmentData)=0 |
virtual IATLAudioObjectData * | NewGlobalAudioObjectData (TAudioObjectID objectId)=0 |
virtual IATLAudioObjectData * | NewAudioObjectData (TAudioObjectID objectId)=0 |
virtual void | DeleteAudioObjectData (IATLAudioObjectData *oldObjectData)=0 |
virtual IATLListenerData * | NewDefaultAudioListenerObjectData (TATLIDType objectId)=0 |
virtual IATLListenerData * | NewAudioListenerObjectData (TATLIDType objectId)=0 |
virtual void | DeleteAudioListenerObjectData (IATLListenerData *oldListenerData)=0 |
virtual IATLEventData * | NewAudioEventData (TAudioEventID eventID)=0 |
virtual void | DeleteAudioEventData (IATLEventData *oldEventData)=0 |
virtual void | ResetAudioEventData (IATLEventData *eventData)=0 |
virtual void | SetLanguage (const char *language)=0 |
virtual const char *const | GetImplSubPath () const =0 |
virtual const char *const | GetImplementationNameString () const =0 |
virtual void | GetMemoryInfo (SAudioImplMemoryInfo &memoryInfo) const =0 |
virtual AZStd::vector< AudioImplMemoryPoolInfo > | GetMemoryPoolInfo ()=0 |
virtual bool | CreateAudioSource (const SAudioInputConfig &sourceConfig)=0 |
virtual void | DestroyAudioSource (TAudioSourceId sourceId)=0 |
virtual void | SetPanningMode (PanningMode mode)=0 |
Static Public Attributes | |
static const AZ::EBusAddressPolicy | AddressPolicy = AZ::EBusAddressPolicy::Single |
static const AZ::EBusHandlerPolicy | HandlerPolicy = AZ::EBusHandlerPolicy::Single |
Requests interface for audio middleware implementations. This is the main interface for interacting with an audio middleware implementation, creating and destroying objects, event handling, parameter setting, etc.
|
pure virtual |
Activate a trigger on an audio object.
objectData | Implementation-specific audio object data. |
triggerData | Implementation-specific trigger data. |
eventData | Implementation-specific event data. |
|
pure virtual |
Create an Audio Source as specified by a configuration.
sourceConfig | Configuration information specifying the format of the source. |
|
pure virtual |
Free the memory and resources of the supplied audio environment object.
oldEnvironmentData | Implementation-specific audio environment data. |
|
pure virtual |
Free the memory and resources of the supplied event object.
oldEventData | Implementation-specific event object. |
|
pure virtual |
Free the memory and resources of the supplied audio file entry data.
oldAudioFileEntryData | Implementation-specific audio file entry data. |
|
pure virtual |
Free the memory and resources of the supplied listener object.
oldListenerData | Implementation-specific listener object. |
|
pure virtual |
Free the memory and resources of the supplied audio object data.
oldObjectData | Implementation-specific audio object data. |
|
pure virtual |
Free the memory and resources of the supplied audio rtpc object.
oldRtpcData | Implementation-specific audio rtpc data. |
|
pure virtual |
Free the memory and resources of the supplied audio switchstate object.
oldAudioSwitchStateData | Implementation-specific audio switchstate data. |
|
pure virtual |
Free the memory and resources of the supplied audio trigger object.
oldTriggerData | Implementation-specific audio trigger data. |
|
pure virtual |
Destroys a managed Audio Source.
sourceId | ID of the Audio Source. |
|
pure virtual |
Get the full path to the folder containing the file described by fileEntryInfo.
fileEntryInfo | ATL-specific information describing the file whose location is being queried. |
|
pure virtual |
Get the name of the audio middleware implementation. This string can be displayed on screen.
|
pure virtual |
Get the canonical subfolder for this audio middleware implementation. Used for locating audio data in the game assets folder.
|
pure virtual |
Obtain information describing the current memory usage of this audio middleware implementation. This data can be displayed on screen. param memoryInfo A reference to a SAudioImplMemoryInfo struct.
|
pure virtual |
Retrieve information about memory pools active in the audio middleware.
|
pure virtual |
Initialize all internal components of the audio middleware implementation.
|
pure virtual |
Parse the implementation-specific XML node that represents an audio environment.
audioEnvironmentNode | XML node corresponding to the new audio environment object to be created. Assumes that strings are null-terminated (i.e. the xml_document has been parsed without the 'parse_no_string_terminators' flag). |
|
pure virtual |
Create an implementation-specific event object data.
eventId | Unique ID for the event. |
|
pure virtual |
Create an implementation-specific listener object data.
objectId | Unique ID of the listener. |
|
pure virtual |
Create an implementation-specific audio object.
objectId | Unique ID of the audio object. |
|
pure virtual |
Parse the implementation-specific XML node that represents an audio rtpc.
audioRtpcNode | XML node corresponding to the new audio rtpc object to be created. Assumes that strings are null-terminated (i.e. the xml_document has been parsed without the 'parse_no_string_terminators' flag). |
|
pure virtual |
Parse the implementation-specific XML node that represents an audio switchstate.
audioSwitchStateNode | XML node corresponding to the new audio switchstate object to be created. Assumes that strings are null-terminated (i.e. the xml_document has been parsed without the 'parse_no_string_terminators' flag). |
|
pure virtual |
Parse the implementation-specific XML node that represents an audio trigger.
audioTriggerNode | XML node corresponding to the new audio trigger object to be created. Assumes that strings are null-terminated (i.e. the xml_document has been parsed without the 'parse_no_string_terminators' flag). |
|
pure virtual |
Create an implementation-specific listener object data that will be the default listener.
objectId | Unique ID of the default listener. |
|
pure virtual |
Create an implementation-specific global audio object.
objectId | Unique ID to assign to the global audio object. |
|
pure virtual |
Parse the implementation-specific XML node that represents an audio file entry. Fill the fields of the struct with the data necessary to locate and store the file's contents in memory.
audioFileEntryNode | XML node corresponding to information about the file. Assumes that strings are null-terminated (i.e. the xml_document has been parsed without the 'parse_no_string_terminators' flag). |
fileEntryInfo | Pointer to the struct containing the file entry information. |
|
pure virtual |
Prepare a trigger asynchronously for execution. Loads any metadata and media needed by the audio middleware to execute the trigger. An event that references eventData is created on the audio object. The prepare event callback is called once the loading is done and the trigger is now prepared.
objectData | Implementation-specific audio object data. |
triggerData | Implementation-specific trigger data. |
eventData | Implementation-specific event data. Used to manage the prepare event. |
|
pure virtual |
Prepare a trigger synchronously for execution. Loads any metadata and media needed by the audio middleware to execute the trigger.
objectData | Implementation-specific audio object data. |
triggerData | Implementation-specific trigger data. |
|
pure virtual |
Register an audio object with the audio middleware. An object needs to be registered in order to set position, execute triggers on it, or set parameters and switches. @prarm objectData Implementation-specific audio object data.
objectName | The name of the audio object to be shown in debug info. |
|
pure virtual |
Inform the audio middleware about the memory location of loaded audio data file.
audioFileEntry | ATL-specific information describing the in-memory file being registered. |
|
pure virtual |
Frees all of the resources used by the audio middleware implementation and destroys it. This action is not reversible.
|
pure virtual |
Reset all the members of an audio event instance without releasing the memory. This is used so the event object can be recycled back to the pool.
eventData | Implementation-specific event data. |
|
pure virtual |
Clear out the audio object's internal state and reset it. After this action, the object can be recycled back to the pool of available audio objects.
objectData | Implementation-specific audio object data. |
|
pure virtual |
Resets the audio rtpc data to the default state for the provided audio object.
objectData | Implementation-specific audio object data. |
rtpcData | Implementation-specific audio rtpc data. |
|
pure virtual |
Set the amount of an audio environment associated with an audio object.
objectData | Implementation-specific audio object data. |
environmentData | Implementation-specific audio environment data. |
amount | The float value to set, in the range [0.0, 1.0]. |
|
pure virtual |
Set the language used by the audio middleware. Informs the audio middleware that the localized sound banks and streamed files need to use a different language. This function does not unload or reload the currently loaded audio files.
language | A zero-terminated C-string representing the language. |
|
pure virtual |
Set the world transform of an audio listener.
listenerData | Implementation-specific audio listener data. |
newPosition | The transform to set the listener to. |
|
pure virtual |
Sets multiple world positions of an audio object.
objectData | Implementation-specific audio object data. |
multiPositions | Position parameter object containing world positions. |
|
pure virtual |
Set the Obstruction and Occlusion amounts on a given audio object.
objectData | Implementation-specific audio object data. |
obstruction | The amount of obstruction associated with the audio object. Obstruction describes direct sound path being blocked but other paths may exist. |
occlusion | The amount of occlusion associated with the audio object. Occlusion describes all paths being blocked, direct and environmental reflection paths. |
|
pure virtual |
Set the panning mode for the audio middleware.
mode | The PanningMode to use. |
|
pure virtual |
Set the world position of an audio object.
objectData | Implementation-specific audio object data. |
worldPosition | The transform to set the audio object to. |
|
pure virtual |
Set an audio rtpc to the specified value on a given audio object.
objectData | Implementation-specific audio object data. |
rtpcData | Implementation-specific audio rtpc data. |
value | The value to be set, normally in the range [0.0, 1.0]. |
|
pure virtual |
Set the audio switchstate on a given audio object.
objectData | Implementation-specific audio object data. |
switchStateData | Implementation-specific audio switchstate data. |
|
pure virtual |
Shuts down all of the internal components of the audio middleware implementation. After calling ShutDown the system can still be brought back up by calling Initialize.
|
pure virtual |
Stop all events currently active on an audio object.
objectData | Implementation-specific audio object data. |
|
pure virtual |
Stops all currently playing sounds. Has no effect on anything triggered after this method is called.
|
pure virtual |
Stop an event active on an audio object.
objectData | Implementation-specific audio object data. |
eventData | Implementation-specific event data. |
|
pure virtual |
Unprepare a trigger asynchronously when no longer needed. The metadata and media associated with the trigger are released. An event that references eventData is created on the audio object. The unprepare event callback is called once the unloading is done and the trigger is unprepared.
objectData | Implementation-specific audio object data. |
triggerData | Implementation-specific trigger data. |
eventData | Implementation-specific event data. |
|
pure virtual |
Unprepare a trigger synchronously when no longer needed. The metadata and media associated with the trigger are released.
objectData | Implementation-specific audio object data. |
triggerData | Implementation-specific trigger data. |
|
pure virtual |
Unregister an audio object with the audio middleware. After this action, executing triggers, setting position, states, or rtpcs no longer have an effect on the audio object. @prarm objectData Implementation-specific audio object data
|
pure virtual |
Inform the audio middleware that the memory containing the audio data file should no longer be used.
audioFileEntry | ATL-specific information describing the file being invalidated. |
|
pure virtual |
Update the audio middleware implementation. Updates all of the internal sub-systems that require regular updates, and pumps the audio middleware api.
updateIntervalMS | Time since the last call to Update in milliseconds. |
|
pure virtual |
Performs actions that need to be executed regularly on an audio object.
objectData | Implementation-specific audio object data. |