31Â
#ifndef _IAK_PLUGIN_H_
32Â
#define _IAK_PLUGIN_H_
34Â
#include <AK/SoundEngine/Common/AkCommonDefs.h>
35Â
#include <AK/SoundEngine/Common/IAkRTPCSubscriber.h>
36Â
#include <AK/SoundEngine/Common/IAkPluginMemAlloc.h>
37Â
#include <AK/SoundEngine/Common/AkFPUtilities.h>
38Â
#include <AK/Tools/Common/AkLock.h>
39Â
#include <AK/Tools/Common/AkPlatformFuncs.h>
40Â
#include <AK/Tools/Common/AkMonitorError.h>
41Â
#include <AK/SoundEngine/Common/AkSoundEngineExport.h>
42Â
#include <AK/SoundEngine/Common/IAkProcessorFeatures.h>
43Â
#include <AK/SoundEngine/Common/IAkPlatformContext.h>
44Â
#include <AK/SoundEngine/Common/AkMidiTypes.h>
45Â
#include <AK/SoundEngine/Common/AkCallback.h>
46Â
#include <AK/AkWwiseSDKVersion.h>
50Â
#if defined AK_CPU_X86 || defined AK_CPU_X86_64
51Â
#include <xmmintrin.h>
62Â :
eType(AkPluginTypeNone)
79Â
class PluginRegistration;
88Â
class IAkGlobalPluginContext;
175Â AkGameObjectID* out_aListenerIDs,
186Â AkGameObjectID in_uListener,
211Â AkReal32 in_fDistance
238Â AkUInt32 & out_uOutputID,
239Â AkPluginID & out_uDevicePlugin
247Â AkUInt32 in_dataIndex,
248Â AkUInt8* &out_rpData,
249Â AkUInt32 &out_rDataSize
258Â AkUInt32 &out_rDataSize
276Â AkUInt32 in_uDataSize
294Â
const char* in_pszError,
312Â
#if (defined AK_CPU_X86 || defined AK_CPU_X86_64) && !(defined AK_IOS)
429Â AkReal32 * io_pfSpeakerAngles,
430Â AkUInt32 & io_uNumAngles,
431Â AkReal32 & out_fHeightAngle
441Â AkReal32 in_fCenterPerc,
448Â AkReal32 in_fCenterPct,
459Â AkReal32 in_fCenterPerc,
468Â
const AkUInt32 in_NbPoints,
469Â
void *& out_pPannerData
475Â
void* in_pPannerData,
476Â AkReal32 in_fAzimuth,
477Â AkReal32 in_fElevation,
478Â AkUInt32 in_uNumChannels,
486Â
void* in_pPannerData
495Â AkReal32 in_fElevation,
496Â AkReal32 in_fSpread,
499Â AkChannelMask in_uInputChanSel,
501Â AkReal32 in_fCenterPerc,
511Â AkReal32 in_fCenterPerc,
512Â AkReal32 in_fSpread,
515Â AkChannelMask in_uInputChanSel,
564Â
const void * in_pParamsBlock,
565Â AkUInt32 in_uBlockSize
582Â
const void *in_pParamsBlock,
583Â AkUInt32 in_uBlockSize
592Â AkPluginParamID in_paramID,
593Â
const void * in_pValue,
594Â AkUInt32 in_uParamSize
671Â
return AK_NotImplemented;
732Â AkUInt32 in_uInOffset,
740Â AkUInt32 &io_uFrames
884Â AkReal32 & out_fMaxAttenuationDistance
981Â AkUInt32 & out_uNumFramesNeeded
1072Â ) {
return AK_Success; }
1082Â ) {
return AK_NotImplemented; }
1096Â
#define AK_FLOAT_TO_SAMPLETYPE( __in__ ) (__in__)
1098Â
#define AK_FLOAT_TO_SAMPLETYPE_NOCLIP( __in__ ) (__in__)
1100Â
#define AK_SAMPLETYPE_TO_FLOAT( __in__ ) (__in__)
1102Â
#define AK_DBTOLIN( __db__ ) (powf(10.f,(__db__) * 0.05f))
1147Â
const char* in_pszError,
1166Â AkPluginType in_eType,
1167Â AkUInt32 in_ulCompanyID,
1168Â AkUInt32 in_ulPluginID,
1169Â AkCreatePluginCallback in_pCreateFunc,
1170Â AkCreateParamCallback in_pCreateParamFunc
1187Â AkUInt32 in_ulCompanyID,
1188Â AkUInt32 in_ulPluginID,
1189Â AkCreateFileSourceCallback in_pFileCreateFunc,
1190Â AkCreateBankSourceCallback in_pBankCreateFunc
1209Â AkPluginType in_eType,
1210Â AkUInt32 in_ulCompanyID,
1211Â AkUInt32 in_ulPluginID,
1212Â AkGlobalCallbackFunc in_pCallback,
1213Â AkUInt32 in_eLocation = AkGlobalCallbackLocation_BeginRender,
1214Â
void * in_pCookie = NULL
1227Â AkGlobalCallbackFunc in_pCallback,
1228Â AkUInt32 in_eLocation = AkGlobalCallbackLocation_BeginRender
1236Â AkRtpcID in_rtpcID,
1237Â AkRtpcValue in_value,
1238Â AkGameObjectID in_gameObjectID = AK_INVALID_GAME_OBJECT,
1239Â AkTimeMs in_uValueChangeDuration = 0,
1240Â AkCurveInterpolation in_eFadeCurve = AkCurveInterpolation_Linear,
1241Â
bool in_bBypassInternalValueInterpolation =
false
1251Â AkUniqueID in_busID,
1252Â AkGameObjectID in_busObjectID,
1253Â AkPluginType in_eType,
1254Â AkUInt32 in_uCompanyID,
1255Â AkUInt32 in_uPluginID,
1256Â
const void* in_pData,
1257Â AkUInt32 in_uSizeInBytes
1264Â AkReal32 in_fPrevGain,
1265Â AkReal32 in_fNextGain,
1272Â AkReal32 * AK_RESTRICT in_pInChannel,
1274Â AkReal32 in_fPrevGain,
1275Â AkReal32 in_fNextGain,
1282Â AkReal32 * AK_RESTRICT in_pInBuffer,
1283Â AkReal32 * AK_RESTRICT in_pOutBuffer,
1284Â AkReal32 in_fPrevGain,
1285Â AkReal32 in_fNextGain,
1286Â AkUInt16 in_uNumFrames
1292Â AkReal32 in_fAzimuth,
1293Â AkReal32 in_fElevation,
1306Â AkUInt32 in_uNumSamples,
1314Â AkAcousticTextureID in_AcousticTextureID
1321Â AkReal32 & out_fAzimuth,
1322Â AkReal32 & out_fElevation
1362Â AkUniqueID in_eventID,
1363Â AkGameObjectID in_gameObjectID,
1364Â AkUInt32 in_uFlags = 0,
1365Â AkCallbackFunc in_pfnCallback = NULL,
1366Â
void * in_pCookie = NULL,
1367Â AkUInt32 in_cExternals = 0,
1369Â AkPlayingID in_PlayingID = AK_INVALID_PLAYING_ID
1387Â AkUniqueID in_eventID,
1388Â AkGameObjectID in_gameObjectID,
1390Â AkUInt16 in_uNumPosts
1406Â AkUniqueID in_eventID = AK_INVALID_UNIQUE_ID,
1407Â AkGameObjectID in_gameObjectID = AK_INVALID_GAME_OBJECT
1421Â AkPluginType in_eType,
1422Â AkUInt32 in_ulCompanyID,
1423Â AkUInt32 in_ulPluginID,
1424Â AkCreatePluginCallback in_pCreateFunc,
1425Â AkCreateParamCallback in_pCreateParamFunc,
1426Â AkGlobalCallbackFunc in_pRegisterCallback = NULL,
1427Â
void * in_pRegisterCallbackCookie = NULL
1429Â :
pNext(g_pAKPluginList)
1440Â g_pAKPluginList =
this;
1444Â AkUInt32 in_ulCompanyID,
1445Â AkUInt32 in_ulPluginID,
1446Â AkCreateFileSourceCallback in_pCreateFile,
1447Â AkCreateBankSourceCallback in_pCreateBank)
1448Â :
pNext(g_pAKPluginList)
1459Â g_pAKPluginList =
this;
1475Â
#define AK_IMPLEMENT_PLUGIN_FACTORY(_pluginName_, _plugintype_, _companyid_, _pluginid_) \
1476Â
AK::IAkPlugin* Create##_pluginName_(AK::IAkPluginMemAlloc * in_pAllocator); \
1477Â
AK::IAkPluginParam * Create##_pluginName_##Params(AK::IAkPluginMemAlloc * in_pAllocator); \
1478Â
AK::PluginRegistration _pluginName_##Registration(_plugintype_, _companyid_, _pluginid_, Create##_pluginName_, Create##_pluginName_##Params);
1480Â
#define AK_STATIC_LINK_PLUGIN(_pluginName_) \
1481Â
extern AK::PluginRegistration _pluginName_##Registration; \
1482Â
void *_pluginName_##_linkonceonly = (void*)&_pluginName_##Registration;
1484Â
#define DEFINE_PLUGIN_REGISTER_HOOK AK_DLLEXPORT AK::PluginRegistration * g_pAKPluginList = NULL;
1486Â
#define AK_GET_SINK_TYPE_FROM_DEVICE_KEY(_key) ((AkUInt32)(_key & 0xffffffff))
1487Â
#define AK_GET_DEVICE_ID_FROM_DEVICE_KEY(_key) ((AkUInt32)(_key >> 32))
1489Â
#endif // _IAK_PLUGIN_H_
virtual void Mix1inNChannels(AkReal32 *AK_RESTRICT in_pInChannel, AkAudioBuffer *in_pMixBuffer, AkReal32 in_fPrevGain, AkReal32 in_fNextGain, AK::SpeakerVolumes::ConstVectorPtr in_vPrevVolumes, AK::SpeakerVolumes::ConstVectorPtr in_vNextVolumes)=0
1 to N channels mix
virtual AKRESULT ComputeSpeakerVolumesPanner(const AkVector &in_position, AkReal32 in_fCenterPct, AkChannelConfig in_inputConfig, AkChannelConfig in_outputConfig, AK::SpeakerVolumes::MatrixPtr out_mxVolumes)=0
Compute a volume matrix given the position of the panner (Wwise 2D panner).
virtual IAkPluginParam * GetInputParam()=0
virtual AkUInt16 GetNumRefillsInVoice()=0
Interface to retrieve contextual information for a mixer.
virtual AKRESULT RegisterPlugin(AkPluginType in_eType, AkUInt32 in_ulCompanyID, AkUInt32 in_ulPluginID, AkCreatePluginCallback in_pCreateFunc, AkCreateParamCallback in_pCreateParamFunc)=0
AkCreateFileSourceCallback m_pFileCreateFunc
virtual AKRESULT SetRTPCValue(AkRtpcID in_rtpcID, AkRtpcValue in_value, AkGameObjectID in_gameObjectID=AK_INVALID_GAME_OBJECT, AkTimeMs in_uValueChangeDuration=0, AkCurveInterpolation in_eFadeCurve=AkCurveInterpolation_Linear, bool in_bBypassInternalValueInterpolation=false)=0
virtual ~IAkPluginParam()
Virtual destructor on interface to avoid warnings.
virtual AKRESULT TimeSkip(AkUInt32 in_uFrames)=0
virtual void * GetCookie() const =0
virtual AkPriority ComputePriorityWithDistance(AkReal32 in_fDistance) const =0
virtual IAkGlobalPluginContext * GlobalContext() const =0
virtual ~IAkGlobalPluginContext()
Virtual destructor on interface to avoid warnings.
virtual AKRESULT Term(IAkPluginMemAlloc *in_pAllocator)=0
Software effect plug-in interface (see How to Create Wwise Sound Engine Effect Plug-ins).
virtual AKRESULT PostMonitorData(void *in_pData, AkUInt32 in_uDataSize)=0
virtual AKRESULT PostMIDIOnEventSync(AkUniqueID in_eventID, AkGameObjectID in_gameObjectID, AkMIDIPost *in_pPosts, AkUInt16 in_uNumPosts)=0
virtual AKRESULT Init(IAkPluginMemAlloc *in_pAllocator, IAkEffectPluginContext *in_pEffectPluginContext, IAkPluginParam *in_pParams, AkAudioFormat &io_rFormat)=0
Wwise sound engine source plug-in interface (see How to Create Wwise Sound Engine Source Plug-ins).
virtual AkReal32 GetSpread(AkUInt32 in_uIndex)=0
virtual AkUniqueID GetNodeID() const =0
virtual AkUInt16 GetNumLoops() const =0
virtual void EnableMetering(AkMeteringFlags in_eFlags)=0
virtual ~IAkSinkPluginContext()
Virtual destructor on interface to avoid warnings.
virtual bool SupportMediaRelocation() const
AkCreateParamCallback m_pCreateParamFunc
virtual AKRESULT SetParam(AkPluginParamID in_paramID, const void *in_pValue, AkUInt32 in_uParamSize)=0
virtual AKRESULT Compute3DPositioning(const AkTransform &in_emitter, const AkTransform &in_listener, AkReal32 in_fCenterPerc, AkReal32 in_fSpread, AkReal32 in_fFocus, AkChannelConfig in_inputConfig, AkChannelMask in_uInputChanSel, AkChannelConfig in_outputConfig, AK::SpeakerVolumes::MatrixPtr out_mxVolumes)=0
virtual AkUInt32 GetSampleRate() const =0
virtual void GetPannerPosition(AkVector &out_position)=0
virtual AKRESULT SendPluginCustomGameData(AkUniqueID in_busID, AkGameObjectID in_busObjectID, AkPluginType in_eType, AkUInt32 in_uCompanyID, AkUInt32 in_uPluginID, const void *in_pData, AkUInt32 in_uSizeInBytes)=0
Interface to retrieve information about an input of a mixer.
virtual IAkVoicePluginInfo * GetVoiceInfo()=0
virtual void MixNinNChannels(AkAudioBuffer *in_pInputBuffer, AkAudioBuffer *in_pMixBuffer, AkReal32 in_fPrevGain, AkReal32 in_fNextGain, AK::SpeakerVolumes::ConstMatrixPtr in_mxPrevVolumes, AK::SpeakerVolumes::ConstMatrixPtr in_mxNextVolumes)=0
N to N channels mix.
virtual AKRESULT IsDataNeeded(AkUInt32 &out_uNumFramesNeeded)=0
bool bIsInPlace
Buffer usage (in-place or not)
virtual AkUInt32 GetIDFromString(const char *in_pszString) const =0
virtual AKRESULT ComputeWeightedAmbisonicsDecodingFromSampledSphere(const AkVector in_samples[], AkUInt32 in_uNumSamples, AkChannelConfig in_cfgAmbisonics, AK::SpeakerVolumes::MatrixPtr out_mxVolume)=0
AkCreatePluginCallback m_pCreateFunc
virtual AkPriority GetPriority() const =0
virtual ~IAkGameObjectPluginInfo()
Virtual destructor on interface to avoid warnings.
virtual ~IAkPluginContextBase()
Virtual destructor on interface to avoid warnings.
PluginRegistration(AkUInt32 in_ulCompanyID, AkUInt32 in_ulPluginID, AkCreateFileSourceCallback in_pCreateFile, AkCreateBankSourceCallback in_pCreateBank)
virtual AKRESULT ComputePlanarVBAPGains(AkReal32 in_fAngle, AkChannelConfig in_outputConfig, AkReal32 in_fCenterPerc, AK::SpeakerVolumes::VectorPtr out_vVolumes)=0
virtual void GetPluginMedia(AkUInt32 in_dataIndex, AkUInt8 *&out_rpData, AkUInt32 &out_rDataSize)=0
virtual void GetSpatializedVolumes(AK::SpeakerVolumes::MatrixPtr out_mxPrevVolumes, AK::SpeakerVolumes::MatrixPtr out_mxNextVolumes)=0
Get next volumes as computed by the sound engine for this input.
virtual AkUniqueID GetAudioNodeID()=0
virtual bool IsStarved()=0
virtual void Execute(AkAudioBuffer *io_pBuffer)=0
virtual AKRESULT StopMIDIOnEventSync(AkUniqueID in_eventID=AK_INVALID_UNIQUE_ID, AkGameObjectID in_gameObjectID=AK_INVALID_GAME_OBJECT)=0
PluginRegistration(AkPluginType in_eType, AkUInt32 in_ulCompanyID, AkUInt32 in_ulPluginID, AkCreatePluginCallback in_pCreateFunc, AkCreateParamCallback in_pCreateParamFunc, AkGlobalCallbackFunc in_pRegisterCallback=NULL, void *in_pRegisterCallbackCookie=NULL)
virtual ~IAkMixerInputContext()
Virtual destructor on interface to avoid warnings.
virtual AkUInt16 GetMaxBufferLength() const =0
bool bCanChangeRate
True for effects whose sample throughput is different between input and output. Effects that can chan...
Emitter-listener pair: Positioning data pertaining to a single pair of emitter and listener.
virtual bool HasListenerRelativeRouting()=0
AkPluginInfo()
Constructor for default values.
virtual bool GetMaxAttenuationDistance(AkReal32 &out_fMaxAttenuationDistance)=0
virtual AKRESULT GetGameObjectPosition(AkUInt32 in_uIndex, AkSoundPosition &out_position) const =0
virtual AKRESULT GetPluginInfo(AkPluginInfo &out_rPluginInfo)=0
Software effect plug-in interface for sink (audio end point) plugins.
virtual void SetUserData(void *in_pUserData)=0
virtual bool IsSendModeEffect() const =0
virtual void OnFrameEnd()=0
virtual IAkVoicePluginInfo * GetVoiceInfo()=0
virtual AKRESULT PostMonitorMessage(const char *in_pszError, AK::Monitor::ErrorLevel in_eErrorLevel)=0
Software effect plug-in interface for out-of-place processing (see How to Create Wwise Sound Engine E...
AkReal32 * VectorPtr
Volume vector. Access each element with the standard bracket [] operator.
virtual ~IAkMixerPluginContext()
Virtual destructor on interface to avoid warnings.
virtual Ak3DSpatializationMode Get3DSpatializationMode()=0
virtual AkPlayingID GetPlayingID() const =0
Retrieve the Playing ID of the event corresponding to this voice (if applicable).
virtual AkReal32 GetFocus(AkUInt32 in_uIndex)=0
Configured audio settings.
virtual AKRESULT SignalAudioThread()=0
virtual AkReal32 GetEnvelope() const
virtual AKRESULT Init(IAkPluginMemAlloc *in_pAllocator, const void *in_pParamsBlock, AkUInt32 in_uBlockSize)=0
virtual bool CanPostMonitorData()=0
virtual AkSpeakerPanningType GetSpeakerPanningType()=0
virtual void Execute(AkAudioBuffer *in_pBuffer, AkUInt32 in_uInOffset, AkAudioBuffer *out_pBuffer)=0
virtual AkMIDIEvent GetMidiEvent() const =0
virtual AkUInt32 GetNum3DPositions()=0
AkPluginType eType
Plug-in type.
virtual ~IAkVoicePluginInfo()
Virtual destructor on interface to avoid warnings.
virtual void Consume(AkAudioBuffer *in_pInputBuffer, AkRamp in_gain)=0
virtual AkUInt32 GetBusType()=0
virtual AkConnectionType GetConnectionType()=0
virtual AKRESULT ComputeSphericalVBAPGains(void *in_pPannerData, AkReal32 in_fAzimuth, AkReal32 in_fElevation, AkUInt32 in_uNumChannels, AK::SpeakerVolumes::VectorPtr out_vVolumes)=0
virtual AKRESULT InitSphericalVBAP(AK::IAkPluginMemAlloc *in_pAllocator, const AkSphericalCoord *in_SphericalPositions, const AkUInt32 in_NbPoints, void *&out_pPannerData)=0
const AkReal32 * ConstMatrixPtr
Constant volume matrix. Access each input channel vector with AK::SpeakerVolumes::Matrix::GetChannel(...
virtual IAkPluginParam * Clone(IAkPluginMemAlloc *in_pAllocator)=0
Volume ramp specified by end points "previous" and "next".
virtual const AkAcousticTexture * GetAcousticTexture(AkAcousticTextureID in_AcousticTextureID)=0
virtual AKRESULT Init(IAkPluginMemAlloc *in_pAllocator, IAkSinkPluginContext *in_pSinkPluginContext, IAkPluginParam *in_pParams, AkAudioFormat &io_rFormat)=0
virtual AKRESULT ComputeSphericalCoordinates(const AkEmitterListenerPair &in_pair, AkReal32 &out_fAzimuth, AkReal32 &out_fElevation) const =0
virtual AKRESULT GetOutputID(AkUInt32 &out_uOutputID, AkPluginID &out_uDevicePlugin) const =0
virtual AKRESULT Term(IAkPluginMemAlloc *in_pAllocator)=0
virtual AKRESULT TimeSkip(AkUInt32 &)
virtual void Execute(AkAudioBuffer *io_pBuffer)=0
void * m_pRegisterCallbackCookie
virtual ~IAkSourcePluginContext()
Virtual destructor on interface to avoid warnings.
virtual void * GetUserData()=0
virtual AkUniqueID GetNodeID() const =0
Global plugin context used for plugin registration/initialization. Games query this interface from th...
virtual bool GetListeners(AkGameObjectID *out_aListenerIDs, AkUInt32 &io_uSize) const =0
virtual bool IsRenderingOffline() const =0
virtual AKRESULT Compute3DPositioning(AkReal32 in_fAngle, AkReal32 in_fElevation, AkReal32 in_fSpread, AkReal32 in_fFocus, AkChannelConfig in_inputConfig, AkChannelMask in_uInputChanSel, AkChannelConfig in_outputConfig, AkReal32 in_fCenterPerc, AK::SpeakerVolumes::MatrixPtr out_mxVolumes)=0
virtual AKRESULT GetParentChannelConfig(AkChannelConfig &out_channelConfig) const =0
virtual AKRESULT SetParamsBlock(const void *in_pParamsBlock, AkUInt32 in_uBlockSize)=0
Software effect plug-in interface for in-place processing (see How to Create Wwise Sound Engine Effec...
virtual AkReal32 GetGameObjectScaling() const =0
virtual AKRESULT RelocateMedia(AkUInt8 *, AkUInt8 *)
virtual AkUniqueID GetBusID()=0
virtual IAkVoicePluginInfo * GetVoiceInfo()=0
virtual AKRESULT ComputeSpeakerVolumesDirect(AkChannelConfig in_inputConfig, AkChannelConfig in_outputConfig, AkReal32 in_fCenterPerc, AK::SpeakerVolumes::MatrixPtr out_mxVolumes)=0
Compute a direct speaker assignment volume matrix with proper downmixing rules between two channel co...
virtual AkReal32 GetDownstreamGain()=0
bool bReserved
Legacy bIsAsynchronous plug-in flag, now unused. Preserved for plug-in backward compatibility....
virtual AKRESULT TimeSkip(AkUInt32 &io_uFrames)=0
virtual IAkGameObjectPluginInfo * GetGameObjectInfo()=0
virtual AKRESULT UnregisterGlobalCallback(AkGlobalCallbackFunc in_pCallback, AkUInt32 in_eLocation=AkGlobalCallbackLocation_BeginRender)=0
virtual void ResetStarved()=0
Reset the "starvation" flag after IsStarved() returned true.
AkUInt32 uBuildVersion
Plugin build version, must match the AK_WWISESDK_VERSION_COMBINED macro from AkWwiseSDKVersion....
AkReal32 * MatrixPtr
Volume matrix. Access each input channel vector with AK::SpeakerVolumes::Matrix::GetChannel().
virtual AKRESULT Reset()=0
virtual ~IAkEffectPlugin()
Virtual destructor on interface to avoid warnings.
virtual ~IAkSinkPlugin()
Virtual destructor on interface to avoid warnings.
virtual AKRESULT GetAudioSettings(AkAudioSettings &out_audioSettings) const =0
virtual IAkPlatformContext * GetPlatformContext() const =0
virtual AKRESULT StopLooping()
virtual AkReal32 GetCenterPerc()=0
PluginRegistration * pNext
virtual AkPlayingID PostEventSync(AkUniqueID in_eventID, AkGameObjectID in_gameObjectID, AkUInt32 in_uFlags=0, AkCallbackFunc in_pfnCallback=NULL, void *in_pCookie=NULL, AkUInt32 in_cExternals=0, AkExternalSourceInfo *in_pExternalSources=NULL, AkPlayingID in_PlayingID=AK_INVALID_PLAYING_ID)=0
virtual AKRESULT Get3DPosition(AkUInt32 in_uIndex, AkEmitterListenerPair &out_soundPosition)=0
virtual ~IAkSourcePlugin()
Virtual destructor on interface to avoid warnings.
virtual ~IAkPlugin()
Virtual destructor on interface to avoid warnings.
virtual AKRESULT GetEmitterListenerPair(AkUInt32 in_uIndex, AkEmitterListenerPair &out_emitterListenerPair) const =0
Game object information available to plugins.
virtual AK::IAkPluginMemAlloc * GetAllocator()=0
Get the default allocator for plugins. This is useful for performing global initialization tasks shar...
virtual AKRESULT Init(IAkPluginMemAlloc *in_pAllocator, IAkSourcePluginContext *in_pSourcePluginContext, IAkPluginParam *in_pParams, AkAudioFormat &io_rFormat)=0
virtual AKRESULT Seek(AkUInt32)
virtual ~IAkEffectPluginContext()
Virtual destructor on interface to avoid warnings.
virtual AkGameObjectID GetGameObjectID() const =0
Get the ID of the game object.
virtual const AkPlatformInitSettings * GetPlatformInitSettings() const =0
AkGlobalCallbackFunc m_pRegisterCallback
virtual bool IsPrimary()=0
virtual const AkInitSettings * GetInitSettings() const =0
virtual AKRESULT PostMonitorMessage(const char *in_pszError, AK::Monitor::ErrorLevel in_eErrorLevel)=0
virtual SoundEngine::MultiPositionType GetGameObjectMultiPositionType() const =0
static const AkPluginParamID ALL_PLUGIN_DATA_ID
virtual AKRESULT TermSphericalVBAP(AK::IAkPluginMemAlloc *in_pAllocator, void *in_pPannerData)=0
virtual AkUInt32 GetNumEmitterListenerPairs() const =0
virtual Ak3DPositionType Get3DPositionType()=0
virtual AKRESULT RegisterCodec(AkUInt32 in_ulCompanyID, AkUInt32 in_ulPluginID, AkCreateFileSourceCallback in_pFileCreateFunc, AkCreateBankSourceCallback in_pBankCreateFunc)=0
virtual void ComputeAmbisonicsEncoding(AkReal32 in_fAzimuth, AkReal32 in_fElevation, AkChannelConfig in_cfgAmbisonics, AK::SpeakerVolumes::VectorPtr out_vVolumes)=0
virtual AkReal32 GetDuration() const =0
virtual AKRESULT GetSpeakerAngles(AkReal32 *io_pfSpeakerAngles, AkUInt32 &io_uNumAngles, AkReal32 &out_fHeightAngle)=0
const AkReal32 * ConstVectorPtr
Constant volume vector. Access each element with the standard bracket [] operator.
virtual AKRESULT RegisterGlobalCallback(AkPluginType in_eType, AkUInt32 in_ulCompanyID, AkUInt32 in_ulPluginID, AkGlobalCallbackFunc in_pCallback, AkUInt32 in_eLocation=AkGlobalCallbackLocation_BeginRender, void *in_pCookie=NULL)=0
virtual void MixChannel(AkReal32 *AK_RESTRICT in_pInBuffer, AkReal32 *AK_RESTRICT in_pOutBuffer, AkReal32 in_fPrevGain, AkReal32 in_fNextGain, AkUInt16 in_uNumFrames)=0
Single channel mix.
virtual void GetPluginCustomGameData(void *&out_rpData, AkUInt32 &out_rDataSize)=0
Interface to retrieve contextual information available to all types of plugins.
AkCreateBankSourceCallback m_pBankCreateFunc
virtual AKRESULT GetListenerData(AkGameObjectID in_uListener, AkListener &out_listener) const =0
virtual AkUInt32 GetNumGameObjectPositions() const =0
virtual IAkStreamMgr * GetStreamMgr() const =0
Retrieve the streaming manager access interface.
Tell us about your project. We're here to help.
Register your project and we'll help you get started with no strings attached!
Get started with Wwise