31 #ifndef _AK_WWISE_AUDIOPLUGIN_H
32 #define _AK_WWISE_AUDIOPLUGIN_H
36 #include <AK/Wwise/Utilities.h>
37 #include <AK/SoundEngine/Common/AkSoundEngine.h>
38 #include <AK/SoundEngine/Common/IAkPluginMemAlloc.h>
39 #include <AK/Wwise/PlatformID.h>
60 const GUID & in_guidPlatform,
62 LPCWSTR in_szSourceFile,
63 LPCWSTR in_szDestFile,
64 AkUInt32 in_uSampleRate,
65 AkUInt32 in_uBlockLength,
71 const GUID & in_guidPlatform,
72 AkUInt32 in_uSampleRate = 0,
73 AkUInt32 in_uBlockLength = 0
94 const GUID & in_guidPlatform,
95 LPCWSTR in_pszPropertyName,
96 VARIANT & out_varProperty
102 const GUID & in_guidPlatform,
103 LPCWSTR in_pszPropertyName,
104 const VARIANT & in_varProperty
110 LPCWSTR in_pszPropertyName
148 const GUID & in_guidPlatform,
151 UINT32 & out_uDaysToExpiry
156 const GUID & in_guidPlatform,
157 AkUInt32 in_uAssetID,
160 UINT32 & out_uDaysToExpiry
164 virtual const GUID&
GetID()
const = 0;
168 const char* in_szUri,
169 const char* in_szArgs,
170 const char* in_szOptions,
172 char*& out_szResults,
193 LPCWSTR in_pszListName,
194 unsigned int in_uiIndex,
208 LPCWSTR in_pszListName,
209 unsigned int in_uiIndex
215 LPCWSTR in_pszListName
239 unsigned int in_uiListIndex,
240 LPWSTR out_pszListName,
241 unsigned int in_uiBufferSize
256 LPCWSTR in_pszFilePathToImport,
257 unsigned int in_Index = 0,
258 bool in_bReplace =
false
263 unsigned int in_Index = 0
275 LPWSTR out_pszFileName,
276 unsigned int in_uiBufferSize,
277 unsigned int in_Index = 0
283 LPWSTR out_pszFileName,
284 unsigned int in_uiBufferSize,
285 unsigned int in_Index = 0
291 LPWSTR out_pszFileName,
292 unsigned int in_uiBufferSize,
293 const GUID & in_guidPlatform,
294 unsigned int in_Index = 0
303 LPWSTR out_pszDirectory,
304 unsigned int in_uiBufferSize
310 LPWSTR out_pszDirectory,
311 unsigned int in_uiBufferSize,
312 const GUID & in_guidPlatform
404 virtual bool Load( IXmlTextReader* in_pReader ) = 0;
408 virtual bool Save( IXmlTextWriter* in_pWriter ) = 0;
423 const GUID & in_guidCurrentPlatform
433 const GUID & in_guidPlatform,
434 LPCWSTR in_pszPropertyName
446 const GUID & in_guidPlatform,
447 LPCWSTR in_pszPropertyName
458 unsigned int in_uiIndex,
481 const GUID & in_guidPlatform,
496 const GUID & in_guidPlatform,
497 AkPluginParamID in_idParam,
516 UINT & out_uiDialogID,
531 LRESULT & out_lResult
544 LPCWSTR in_pszPropertyName,
545 LPWSTR out_pszDisplayName,
565 LPCWSTR in_pszPropertyName,
566 LPWSTR out_pszValuesName,
578 LPCWSTR in_szLanguageCode
587 unsigned int in_uCount,
588 bool in_bNeedsByteSwap,
603 const GUID & in_guidPlatform,
605 LPWSTR out_pszMessage,
606 unsigned int in_uiBufferSize
612 double& out_dblMinDuration,
613 double& out_dblMaxDuration
627 virtual bool Load( IXmlTextReader* in_pReader ) {
return false; }
628 virtual bool Save( IXmlTextWriter* in_pWriter ) {
return false; }
636 virtual bool GetPluginData(
const GUID & in_guidPlatform, AkPluginParamID in_idParam,
IWriteData* in_pDataWriter )
const {
return false; }
637 virtual bool WindowProc(
eDialog in_eDialog, HWND in_hWnd, UINT in_message, WPARAM in_wParam, LPARAM in_lParam, LRESULT & out_lResult ){
return false; }
638 virtual bool DisplayNameForProp( LPCWSTR in_pszPropertyName, LPWSTR out_pszDisplayName, UINT in_unCharCount )
const {
return false; }
639 virtual bool DisplayNamesForPropValues( LPCWSTR in_pszPropertyName, LPWSTR out_pszValuesName, UINT in_unCharCount )
const {
return false; }
640 virtual bool Help( HWND in_hWnd,
eDialog in_eDialog, LPCWSTR in_szLanguageCode )
const {
return false; }
644 virtual bool GetSourceDuration(
double& out_dblMinDuration,
double& out_dblMaxDuration )
const { out_dblMinDuration = 0.f; out_dblMaxDuration = FLT_MAX;
return false; }
652 if (!g_pAKPluginList)
654 AKASSERT(!
"g_pAKPluginList is NULL. Did you use the AK_STATIC_LINK_PLUGIN macro in your DLL?");
658 HMODULE hLib = ::LoadLibrary(L
"WwiseSoundEngine.dll");
666 return pReg(g_pAKPluginList);
670 #define AK_MAX_OUTPUTDEVICEDESCRIPTOR 256
673 WCHAR
name[AK_MAX_OUTPUTDEVICEDESCRIPTOR];
683 #define WM_AK_PRIVATE_SHOW_HELP_TOPIC 0x4981
685 #endif // _AK_WWISE_AUDIOPLUGIN_H
virtual IPluginPropertySet * CreateObject(LPCWSTR in_pszType)=0
virtual bool GetBankParameters(const GUID &in_guidPlatform, IWriteData *in_pDataWriter) const =0
virtual bool WindowProc(eDialog in_eDialog, HWND in_hWnd, UINT in_message, WPARAM in_wParam, LPARAM in_lParam, LRESULT &out_lResult)
virtual bool DisplayNamesForPropValues(LPCWSTR in_pszPropertyName, LPWSTR out_pszValuesName, UINT in_unCharCount) const =0
virtual AK::Wwise::LicenseStatus GetLicenseStatus(const GUID &in_guidPlatform, AK::Wwise::Severity &out_eSeverity, LPWSTR out_pszMessage, unsigned int in_uiBufferSize)=0
virtual bool RemoveObject(IPluginPropertySet *in_pPropertySet)=0
virtual const GUID & GetID() const =0
Obtain the unique identifier of the corresponding IWObject.
virtual bool Save(IXmlTextWriter *in_pWriter)
virtual void SetPluginPropertySet(IPluginPropertySet *in_pPSet)=0
AKRESULT RegisterWwisePlugin()
virtual IPluginMediaConverter * GetPluginMediaConverterInterface()
virtual HINSTANCE GetResourceHandle() const
virtual bool GetBankParameters(const GUID &in_guidPlatform, IWriteData *in_pDataWriter) const
virtual bool Save(IXmlTextWriter *in_pWriter)=0
virtual void InitToDefault()
virtual bool DisplayNameForProp(LPCWSTR in_pszPropertyName, LPWSTR out_pszDisplayName, UINT in_unCharCount) const
virtual bool Help(HWND in_hWnd, eDialog in_eDialog, LPCWSTR in_szLanguageCode) const =0
virtual bool CanLogUndos()=0
virtual unsigned int GetListName(unsigned int in_uiListIndex, LPWSTR out_pszListName, unsigned int in_uiBufferSize) const =0
virtual bool CopyInto(IAudioPlugin *io_pWObject) const =0
virtual bool WindowProc(eDialog in_eDialog, HWND in_hWnd, UINT in_message, WPARAM in_wParam, LPARAM in_lParam, LRESULT &out_lResult)=0
ConversionResult
Conversion error code.
virtual IPluginMediaConverter * GetPluginMediaConverterInterface()=0
@ LicenseStatus_Valid
A license is found and is valid
LicenseType
License type.
virtual void NotifyMonitorData(const MonitorData *in_pDataArray, unsigned int in_uCount, bool in_bNeedsByteSwap, bool in_bRealtime)=0
virtual AK::Wwise::LicenseStatus GetLicenseStatus(const GUID &, AK::Wwise::Severity &, LPWSTR, unsigned int in_uiBufferSize)
AkUInt32 idDevice
Display name of the device. Null terminated. Note that the name can't be more than 256 characters inc...
virtual bool PropertyHasRTPC(LPCWSTR in_pszPropertyName)=0
virtual void NotifyPropertyChanged(const GUID &in_guidPlatform, LPCWSTR in_pszPropertyName)=0
virtual void NotifyPluginMediaChanged()
Use this base class to quickly implement most plugin functions empty
virtual bool GetValue(const GUID &in_guidPlatform, LPCWSTR in_pszPropertyName, VARIANT &out_varProperty)=0
NotifyInnerObjectOperation
Type of operation for the NotifyInnerObjectAddedRemoved function.
virtual bool Load(IXmlTextReader *in_pReader)=0
AKRESULT(CALLBACK * RegisterWwisePluginFn)(AK::PluginRegistration *in_pList)
virtual void NotifyInnerObjectAddedRemoved(IPluginPropertySet *in_pPSet, unsigned int in_uiIndex, NotifyInnerObjectOperation in_eOperation)=0
virtual IPluginPropertySet * GetObject(LPCWSTR in_pszListName, unsigned int in_uiIndex) const =0
virtual void WaapiCall(const char *in_szUri, const char *in_szArgs, const char *in_szOptions, AK::IAkPluginMemAlloc *in_pAlloc, char *&out_szResults, char *&out_szError) const =0
Find and call the specified procedure. Calls made using this function are always blocking.
virtual bool IsPlayable() const
virtual bool GetSourceDuration(double &out_dblMinDuration, double &out_dblMaxDuration) const =0
virtual void NotifyInnerObjectPropertyChanged(IPluginPropertySet *in_pPSet, const GUID &in_guidPlatform, LPCWSTR in_pszPropertyName)=0
virtual void NotifyMonitorData(const AK::Wwise::IAudioPlugin::MonitorData *in_pData, unsigned int in_uDataSize, bool in_bNeedsByteSwap, bool in_bRealtime)
virtual HINSTANCE GetResourceHandle() const =0
virtual bool GetDialog(eDialog in_eDialog, UINT &out_uiDialogID, PopulateTableItem *&out_pTable) const =0
virtual void InsertObject(LPCWSTR in_pszListName, unsigned int in_uiIndex, IPluginPropertySet *in_pPropertySet)=0
virtual void NotifyInternalDataChanged(AkPluginParamID in_idData, bool in_bMakeProjectDirty=true)=0
virtual BasePlatformID GetCurrentBasePlatform()=0
virtual void SetPluginPropertySet(IPluginPropertySet *in_pPSet)
virtual GUID GetCurrentPlatform()=0
WCHAR name[AK_MAX_OUTPUTDEVICEDESCRIPTOR]
virtual bool DisplayNameForProp(LPCWSTR in_pszPropertyName, LPWSTR out_pszDisplayName, UINT in_unCharCount) const =0
virtual void NotifyCurrentPlatformChanged(const GUID &in_guidCurrentPlatform)=0
virtual bool SetValue(const GUID &in_guidPlatform, LPCWSTR in_pszPropertyName, const VARIANT &in_varProperty)=0
virtual bool DisplayNamesForPropValues(LPCWSTR in_pszPropertyName, LPWSTR out_pszValuesName, UINT in_unCharCount) const
virtual GUID GetAuthoringPlaybackPlatform()=0
This function is called To retrieve the custom platform being used to run while in authoring
virtual void SetPluginObjectStore(IPluginObjectStore *in_pObjectStore)
virtual void InitToDefault()=0
virtual bool Help(HWND in_hWnd, eDialog in_eDialog, LPCWSTR in_szLanguageCode) const
LicenseStatus
License status.
virtual bool GetSourceDuration(double &out_dblMinDuration, double &out_dblMaxDuration) const
virtual void NotifyPluginMediaChanged()=0
virtual AK::Wwise::IUndoManager * GetUndoManager()=0
virtual bool GetPluginData(const GUID &in_guidPlatform, AkPluginParamID in_idParam, IWriteData *in_pDataWriter) const =0
virtual bool IsPlayable() const =0
virtual void NotifyInnerObjectAddedRemoved(IPluginPropertySet *in_pPSet, unsigned int in_uiIndex, NotifyInnerObjectOperation in_eOperation)
virtual bool CopyInto(IAudioPlugin *io_pWObject) const
virtual unsigned int GetListCount() const =0
virtual void GetAssetLicenseStatus(const GUID &in_guidPlatform, AkUInt32 in_uAssetID, AK::Wwise::LicenseType &out_eType, AK::Wwise::LicenseStatus &out_eStatus, UINT32 &out_uDaysToExpiry)=0
Obtain licensing status for a plug-in-specific asset ID. Refer to 管理授权 for more information.
virtual void NotifyPropertyChanged(const GUID &in_guidPlatform, LPCWSTR in_pszPropertyName)
virtual void NotifyInnerObjectPropertyChanged(IPluginPropertySet *in_pPSet, const GUID &in_guidPlatform, LPCWSTR in_pszPropertyName)
virtual void DeleteObject(IPluginPropertySet *in_pPropertySet)=0
virtual void SetPluginObjectStore(IPluginObjectStore *in_pObjectStore)=0
virtual bool GetPluginData(const GUID &in_guidPlatform, AkPluginParamID in_idParam, IWriteData *in_pDataWriter) const
virtual unsigned int GetObjectCount(LPCWSTR in_pszListName) const =0
virtual bool GetDialog(eDialog in_eDialog, UINT &out_uiDialogID, PopulateTableItem *&out_pTable) const
virtual void GetLicenseStatus(const GUID &in_guidPlatform, AK::Wwise::LicenseType &out_eType, AK::Wwise::LicenseStatus &out_eStatus, UINT32 &out_uDaysToExpiry)=0
Obtain licensing status for the plug-in. Refer to 管理授权 for more information.
virtual void SetPluginObjectMedia(IPluginObjectMedia *in_pObjectMedia)
virtual void SetPluginObjectMedia(IPluginObjectMedia *in_pObjectMedia)=0
virtual BasePlatformID GetDefaultNativeAuthoringPlaybackPlatform()=0
This function is called To retrieve the base platforms of the authoring tool.
Severity
Log message severity.
virtual void NotifyCurrentPlatformChanged(const GUID &in_guidCurrentPlatform)
virtual bool Load(IXmlTextReader *in_pReader)
介绍一下自己的项目。我们会竭力为您提供帮助。
来注册自己的项目,我们帮您快速入门,不带任何附加条件!
开始 Wwise 之旅