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,
495 AkReal32 in_fElevation,
499 AkChannelMask in_uInputChanSel,
501 AkReal32 in_fCenterPerc,
511 AkReal32 in_fCenterPerc,
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,
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
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 Wwise サウンドエンジン エフェクトプラグインの作成方法).
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 Wwise サウンドエンジン ソースプラグインの作成方法).
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 Wwise サウンドエンジン エフェクトプラグインの作成方法).
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 Wwise サウンドエンジン エフェクトプラグインの作成方法).
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.
あなたのプロジェクトについて教えてください。ご不明な点はありませんか。
プロジェクトを登録していただくことで、ご利用開始のサポートをいたします。
Wwiseからはじめよう