Go to the documentation of this file.
30Â
#ifndef _AK_WWISE_AUDIOPLUGIN_H
31Â
#define _AK_WWISE_AUDIOPLUGIN_H
45Â
class IXmlTextReader;
46Â
class IXmlTextWriter;
59Â
const GUID & in_guidPlatform,
61Â LPCWSTR in_szSourceFile,
62Â LPCWSTR in_szDestFile,
70Â
const GUID & in_guidPlatform,
95Â
const GUID & in_guidPlatform,
96Â LPCWSTR in_pszPropertyName,
97Â VARIANT & out_varProperty
103Â
const GUID & in_guidPlatform,
104Â LPCWSTR in_pszPropertyName,
105Â
const VARIANT & in_varProperty
111Â LPCWSTR in_pszPropertyName
149Â
const GUID & in_guidPlatform,
152Â UINT32 & out_uDaysToExpiry
157Â
const GUID & in_guidPlatform,
161Â UINT32 & out_uDaysToExpiry
169Â
const char* in_szUri,
170Â
const char* in_szArgs,
171Â
const char* in_szOptions,
173Â
char*& out_szResults,
196Â LPCWSTR in_pszListName,
197Â
unsigned int in_uiIndex,
211Â LPCWSTR in_pszListName,
212Â
unsigned int in_uiIndex
218Â LPCWSTR in_pszListName
242Â
unsigned int in_uiListIndex,
243Â LPWSTR out_pszListName,
244Â
unsigned int in_uiBufferSize
261Â LPCWSTR in_pszFilePathToImport,
262Â
unsigned int in_Index = 0,
263Â
bool in_bReplace =
false
268Â
unsigned int in_Index = 0
280Â LPWSTR out_pszFileName,
281Â
unsigned int in_uiBufferSize,
282Â
unsigned int in_Index = 0
288Â LPWSTR out_pszFileName,
289Â
unsigned int in_uiBufferSize,
290Â
unsigned int in_Index = 0
296Â LPWSTR out_pszFileName,
297Â
unsigned int in_uiBufferSize,
298Â
const GUID & in_guidPlatform,
299Â
unsigned int in_Index = 0
308Â LPWSTR out_pszDirectory,
309Â
unsigned int in_uiBufferSize
315Â LPWSTR out_pszDirectory,
316Â
unsigned int in_uiBufferSize,
317Â
const GUID & in_guidPlatform
412Â
virtual bool Load( AK::IXmlTextReader* in_pReader ) = 0;
416Â
virtual bool Save( AK::IXmlTextWriter* in_pWriter ) = 0;
431Â
const GUID & in_guidCurrentPlatform
439Â
const GUID & in_guidPlatform,
440Â LPCWSTR in_pszPropertyName
450Â
const GUID & in_guidPlatform,
451Â LPCWSTR in_pszPropertyName
460Â
unsigned int in_uiIndex,
481Â
const GUID & in_guidPlatform,
496Â
const GUID & in_guidPlatform,
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
589Â
unsigned int in_uCount,
590Â
bool in_bNeedsByteSwap,
605Â
const GUID & in_guidPlatform,
607Â LPWSTR out_pszMessage,
608Â
unsigned int in_uiBufferSize
614Â
double& out_dblMinDuration,
615Â
double& out_dblMaxDuration
629Â
virtual bool Load( AK::IXmlTextReader* in_pReader ) {
return false; }
630Â
virtual bool Save( AK::IXmlTextWriter* in_pWriter ) {
return false; }
639Â
virtual bool WindowProc(
eDialog in_eDialog, HWND in_hWnd, UINT in_message, WPARAM in_wParam, LPARAM in_lParam, LRESULT & out_lResult ){
return false; }
640Â
virtual bool DisplayNameForProp( LPCWSTR in_pszPropertyName, LPWSTR out_pszDisplayName, UINT in_unCharCount )
const {
return false; }
641Â
virtual bool DisplayNamesForPropValues( LPCWSTR in_pszPropertyName, LPWSTR out_pszValuesName, UINT in_unCharCount )
const {
return false; }
642Â
virtual bool Help( HWND in_hWnd,
eDialog in_eDialog, LPCWSTR in_szLanguageCode )
const {
return false; }
646Â
virtual bool GetSourceDuration(
double& out_dblMinDuration,
double& out_dblMaxDuration )
const { out_dblMinDuration = 0.f; out_dblMaxDuration = FLT_MAX;
return false; }
657Â
AKASSERT(!
"g_pAKPluginList is NULL. Did you use the AK_STATIC_LINK_PLUGIN macro in your DLL?");
661Â HMODULE hLib = ::LoadLibrary(L
"WwiseSoundEngine.dll");
674Â
#define AK_MAX_OUTPUTDEVICEDESCRIPTOR 256
687Â
#ifndef WM_AK_PRIVATE_SHOW_HELP_TOPIC
688Â
#define WM_AK_PRIVATE_SHOW_HELP_TOPIC 0x4981
691Â
#endif // _AK_WWISE_AUDIOPLUGIN_H
virtual bool Load(AK::IXmlTextReader *in_pReader)
virtual IPluginPropertySet * CreateObject(LPCWSTR in_pszType)=0
virtual bool GetBankParameters(const GUID &in_guidPlatform, IWriteData *in_pDataWriter) const =0
virtual void NotifyMonitorData(AkTimeMs in_iTimeStamp, const AK::Wwise::IAudioPlugin::MonitorData *in_pData, unsigned int in_uDataSize, bool in_bNeedsByteSwap, bool in_bRealtime)
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
AkInt32 AkTimeMs
Time in ms.
@ AK_Fail
The operation failed.
virtual bool RemoveObject(IPluginPropertySet *in_pPropertySet)=0
virtual const GUID & GetID() const =0
Obtain the unique identifier of the corresponding IWObject.
virtual void SetPluginPropertySet(IPluginPropertySet *in_pPSet)=0
AKRESULT RegisterWwisePlugin()
AK_DLLEXPORT AK::PluginRegistration * g_pAKPluginList
virtual IPluginMediaConverter * GetPluginMediaConverterInterface()
virtual HINSTANCE GetResourceHandle() const
virtual bool GetBankParameters(const GUID &in_guidPlatform, IWriteData *in_pDataWriter) const
virtual void InitToDefault()
AKRESULT
Standard function call result.
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.
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.
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
#define AKASSERT(Condition)
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 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 bool Load(AK::IXmlTextReader *in_pReader)=0
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 Save(AK::IXmlTextWriter *in_pWriter)=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)
uint64_t AkUInt64
Unsigned 64-bit integer.
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 bool Save(AK::IXmlTextWriter *in_pWriter)
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 Managing Licenses for more informat...
#define AK_MAX_OUTPUTDEVICEDESCRIPTOR
Struct to be used with the function GetSinkPluginDevices to return devices.
virtual void NotifyPropertyChanged(const GUID &in_guidPlatform, LPCWSTR in_pszPropertyName)
uint32_t AkUInt32
Unsigned 32-bit integer.
AkInt16 AkPluginParamID
Source or effect plug-in parameter ID.
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 Managing Licenses 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 void NotifyMonitorData(AkTimeMs in_iTimeStamp, const MonitorData *in_pDataArray, unsigned int in_uCount, bool in_bNeedsByteSwap, bool in_bRealtime)=0
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