25#include "IPlugAAX_Parameters.h"
27#include "AAX_CEffectGUI.h"
29#include "AAX_Push8ByteStructAlignment.h"
33 #if defined ARCH_64BIT
34 #pragma comment(lib, "AAXLibrary_x64_D.lib")
36 #pragma comment(lib, "AAXLibrary_D.lib")
39 #if defined ARCH_64BIT
40 #pragma comment(lib, "AAXLibrary_x64.lib")
42 #pragma comment(lib, "AAXLibrary.lib")
49const int kAAXParamIdxOffset = 1;
52struct InstanceInfo {};
57class AAX_CEffectGUI_IPLUG :
public AAX_CEffectGUI
60 AAX_CEffectGUI_IPLUG() {}
61 ~AAX_CEffectGUI_IPLUG() {}
62 static AAX_IEffectGUI* AAX_CALLBACK Create();
63 AAX_Result SetControlHighlightInfo(AAX_CParamID iParameterID, AAX_CBoolean iIsHighlighted, AAX_EHighlightColor iColor);
66 void CreateViewContents();
67 void CreateViewContainer();
68 void DeleteViewContainer();
69 AAX_Result GetViewSize(AAX_Point *oEffectViewSize)
const;
70 AAX_Result ParameterUpdated (
const char* iParameterID);
79 ,
public AAX_CIPlugParameters
82 IPlugAAX(
const InstanceInfo& info,
const Config& config);
92 bool EditorResize(
int viewWidth,
int viewHeight)
override;
95 virtual void GetTrackName(WDL_String& str)
override { str = mTrackName; };
101 AAX_Result UpdateParameterNormalizedValue(AAX_CParamID iParameterID,
double iValue, AAX_EUpdateSource iSource)
override;
104 static AAX_CEffectParameters *AAX_CALLBACK Create();
105 AAX_Result EffectInit()
override;
106 void RenderAudio(AAX_SIPlugRenderInfo* ioRenderInfo,
const TParamValPair* inSynchronizedParamValues[], int32_t inNumSynchronizedParamValues)
override;
109 AAX_Result GetChunkIDFromIndex(int32_t index, AAX_CTypeID* pChunkID)
const override;
110 AAX_Result GetChunkSize(AAX_CTypeID chunkID, uint32_t* pChunkSize)
const override;
111 AAX_Result GetChunk(AAX_CTypeID chunkID, AAX_SPlugInChunk* pChunk)
const override;
112 AAX_Result SetChunk(AAX_CTypeID chunkID,
const AAX_SPlugInChunk* pChunk)
override;
113 AAX_Result CompareActiveChunk(
const AAX_SPlugInChunk* pChunk, AAX_CBoolean* pIsEqual)
const override;
114 AAX_Result NotificationReceived (AAX_CTypeID type,
const void* data, uint32_t size)
override;
122 AAX_CParameter<bool>* mBypassParameter =
nullptr;
123 AAX_ITransport* mTransport =
nullptr;
124 WDL_PtrList<WDL_String> mParamIDs;
126 int mMaxNChansForMainInputBus = 0;
127 WDL_String mTrackName;
130IPlugAAX* MakePlug(
const InstanceInfo& info);
132#include "AAX_PopStructAlignment.h"
134END_IGRAPHICS_NAMESPACE
MIDI and sysex structs/utilites.
AAX API base class for an IPlug plug-in.
bool SendMidiMsg(const IMidiMsg &msg) override
Send a single MIDI message // TODO: info about what thread should this be called on or not called on!
void EndInformHostOfParamChange(int idx) override
Implemented by the API class, called by the UI (or by a delegate) at the end of a parameter change ge...
void DirtyPTCompareState()
This is needed in chunks based plug-ins to tell PT a non-indexed param changed and to turn on the com...
void InformHostOfParamChange(int idx, double normalizedValue) override
Implemented by the API class, called by the UI via SetParameterValue() with the value of a parameter ...
void BeginInformHostOfParamChange(int idx) override
Implemented by the API class, called by the UI (or by a delegate) at the beginning of a parameter cha...
virtual void GetTrackName(WDL_String &str) override
Get the name of the track that the plug-in is inserted on.
void SetLatency(int samples) override
Call this if the latency of your plug-in changes after initialization (perhaps from OnReset() ) This ...
bool EditorResize(int viewWidth, int viewHeight) override
Implementations call into the APIs resize hooks returns a bool to indicate whether the DAW or plugin ...
void InformHostOfPresetChange() override
Implemented by the API class, called by the UI (etc) when the plug-in initiates a program/preset chan...
The base class of an IPlug plug-in, which interacts with the different plug-in APIs.
The base class for IPlug Audio Processing.
Encapsulates a MIDI message and provides helper functions.