3#include <AudioSystemPlugin/AudioSystemPluginDLL.h>
5#include <AudioSystemPlugin/Core/AudioSystemData.h>
7#include <Foundation/IO/OpenDdlReader.h>
8#include <Foundation/IO/OpenDdlUtils.h>
9#include <Foundation/Time/Time.h>
262 [[nodiscard]]
virtual bool GetMute()
const = 0;
The Audio Middleware Interface. This interface should be implemented by the ATL middleware to communi...
Definition AudioMiddleware.h:14
virtual plResult DestroySwitchStateData(plAudioSystemSwitchStateData *pSwitchStateData)=0
Destroys an audio switch state and release memory.
virtual plResult SetObstructionAndOcclusion(plAudioSystemEntityData *pEntityData, float fObstruction, float fOcclusion)=0
Sets the obstruction and occlusion values on an entity.
virtual plResult Shutdown()=0
Deinitializes and stop the audio middleware.
virtual plResult SetEnvironmentAmount(plAudioSystemEntityData *pEntityData, const plAudioSystemEnvironmentData *pEnvironmentData, float fAmount)=0
Sets the amount of an audio environment effect associated on an entity.
virtual plResult DestroyEventData(plAudioSystemEventData *pEventData)=0
Destroys an audio event and release memory.
virtual plResult RemoveListener(plAudioSystemListenerData *pListenerData)=0
Remove/unregister a listener from the audio middleware. This action disable the possibility to update...
virtual plResult SetEntityTransform(plAudioSystemEntityData *pEntityData, const plAudioSystemTransform &Transform)=0
Sets the global position (world position) of an entity.
virtual plAudioSystemListenerData * CreateListenerData(plAudioSystemDataID uiListenerId)=0
Creates an audio listener that is attached to a game object.
virtual plResult SetLanguage(const char *szLanguage)=0
Sets the language used by the audio middleware.
virtual plResult ResetEventData(plAudioSystemEventData *pEventData)=0
Resets the audio event state, so it can safely recycled in the pool.
virtual plResult SetListenerTransform(plAudioSystemListenerData *pListenerData, const plAudioSystemTransform &Transform)=0
Sets the global transform (wold position and orientation) of a listener.
virtual plResult Startup()=0
Initializes the audio middleware.
virtual plResult DestroyEntityData(plAudioSystemEntityData *pEntityData)=0
Destroys an audio entity and release memory.
virtual bool GetMute() const =0
Gets the audio middleware's muted state.
virtual plResult SetSwitchState(plAudioSystemEntityData *pEntityData, const plAudioSystemSwitchStateData *pSwitchStateData)=0
Sets an audio switch to the specified state on an entity.
virtual plResult ResetEntity(plAudioSystemEntityData *pEntityData)=0
Resets an entity state.
virtual plAudioSystemEntityData * CreateEntityData(plAudioSystemDataID uiEntityId)=0
Creates an audio entity that is attached to a game object.
virtual plResult DestroyRtpcData(plAudioSystemRtpcData *pRtpcData)=0
Destroys an audio rtpc and release memory.
virtual plAudioSystemEventData * CreateEventData(plAudioSystemDataID uiEventId)=0
Creates an audio event that is attached to a game object.
virtual plResult ResetRtpc(plAudioSystemEntityData *pEntityData, const plAudioSystemRtpcData *pRtpcData)=0
Resets an audio RTPC to the default value on an entity.
virtual void OnLoseFocus()=0
Called each time the game application window loses focus.
virtual plResult StopAllEvents(plAudioSystemEntityData *pEntityData)=0
Stops all events active on the given entity.
virtual plResult DestroyListenerData(plAudioSystemListenerData *pListenerData)=0
Destroys an audio listener and release memory.
virtual void OnMuteChange(bool bMute)=0
Called when the audio middleware should toggle the muted state. \paarm bMute The muted state.
virtual plAudioSystemEntityData * CreateWorldEntity(plAudioSystemDataID uiEntityId)=0
Creates a world entity. This is a special entity used by non-spatial sounds. The engine will take car...
virtual plResult StopEvent(plAudioSystemEntityData *pEntityData, const plAudioSystemEventData *pEventData)=0
Stops an event on the given entity.
virtual plResult UnloadBank(plAudioSystemBankData *pBankData)=0
Unloads a bank file.
virtual plResult AddListener(plAudioSystemListenerData *pListenerData, const char *szListenerName)=0
Add/register a listener in the audio middleware. This is needed to let the middleware know where to r...
virtual plResult LoadTrigger(plAudioSystemEntityData *pEntityData, const plAudioSystemTriggerData *pTriggerData, plAudioSystemEventData *pEventData)=0
Loads a trigger for a further activation. All the data and media needed by the trigger will be loaded...
virtual plResult StopAllSounds()=0
Stops all the sounds actually played by the audio middleware.
virtual plResult ResetListener(plAudioSystemListenerData *pListenerData)=0
Resets a listener state.
virtual plResult SetRtpc(plAudioSystemEntityData *pEntityData, const plAudioSystemRtpcData *pRtpcData, float fValue)=0
Sets an audio RTPC to the specified value on an entity.
virtual plResult ActivateTrigger(plAudioSystemEntityData *pEntityData, const plAudioSystemTriggerData *pTriggerData, plAudioSystemEventData *pEventData)=0
Triggers an event on an entity. A trigger is everything which can affect the state of an event.
virtual plResult UnloadTrigger(plAudioSystemEntityData *pEntityData, const plAudioSystemTriggerData *pTriggerData)=0
Unload the trigger. This is called when the trigger and all data loaded during LoadTrigger need to be...
virtual void OnGainFocus()=0
Called each time the game application window gains focus.
virtual plResult AddEntity(plAudioSystemEntityData *pEntityData, const char *szEntityName)=0
Add/register an entity in the audio middleware. This is needed in order to provide transformation val...
virtual void OnMasterGainChange(float fGain)=0
Called each time the master gain value change.
virtual plResult UpdateEntity(plAudioSystemEntityData *pEntityData)=0
Updates an entity state.
virtual const char * GetMiddlewareName() const =0
Gets the audio middleware implementation name. e.g. "FMOD", "Wwise", "Amplitude", etc.
virtual float GetMasterGain() const =0
Gets the audio middleware's master gain.
virtual plResult DestroyEnvironmentData(plAudioSystemEnvironmentData *pEnvironmentData)=0
Destroys an audio environment effect and release memory.
virtual plResult Release()=0
Destroys all the resources allocated by the audio middleware. This is usually called after Shutdown.
virtual plResult DestroyBank(plAudioSystemBankData *pBankData)=0
Destroys an audio bank and release memory.
virtual plResult DestroyTriggerData(plAudioSystemTriggerData *pTriggerData)=0
Destroys an audio trigger and release memory.
virtual plResult LoadBank(plAudioSystemBankData *pBankData)=0
Loads a bank file.
virtual plResult RemoveEntity(plAudioSystemEntityData *pEntityData)=0
Remove/unregister an entity from the audio middleware. This action disable the possibility to execute...
virtual plResult LoadConfiguration(const plOpenDdlReaderElement &reader)=0
Loads the middleware-specif configuration from the ATL config file.
virtual void Update(plTime delta)=0
Updates the audio middleware.
Base class for an audio middleware bank file.
Definition AudioSystemData.h:224
Base class for an audio middleware entity.
Definition AudioSystemData.h:153
Base class for an audio middleware environment.
Definition AudioSystemData.h:198
Base class for an audio middleware event.
Definition AudioSystemData.h:207
Base class for an audio middleware listener.
Definition AudioSystemData.h:162
Base class for an audio middleware RTPC.
Definition AudioSystemData.h:180
Base class for an audio middleware switch state.
Definition AudioSystemData.h:189
Base class for an audio middleware trigger.
Definition AudioSystemData.h:171
Represents a single 'object' in a DDL document, e.g. either a custom type or a primitives list.
Definition OpenDdlReader.h:11
Default enum for returning failure or success, instead of using a bool.
Definition Types.h:54
The time class encapsulates a double value storing the time in seconds.
Definition Time.h:12