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") 49 const int kAAXParamIdxOffset = 1;
52 struct InstanceInfo {};
57 class 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);
86 void BeginInformHostOfParamChange(
int idx)
override;
87 void InformHostOfParamChange(
int idx,
double normalizedValue)
override;
88 void EndInformHostOfParamChange(
int idx)
override;
92 bool EditorResize(
int viewWidth,
int viewHeight)
override;
95 virtual void GetTrackName(WDL_String& str)
override { str = mTrackName; };
98 void SetLatency(
int samples)
override;
99 bool SendMidiMsg(
const IMidiMsg& msg)
override;
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;
130 IPlugAAX* MakePlug(
const InstanceInfo& info);
132 #include "AAX_PopStructAlignment.h" 134 END_IGRAPHICS_NAMESPACE
The base class for IPlug Audio Processing.
The base class of an IPlug plug-in, which interacts with the different plug-in APIs.
A class to help with queuing timestamped MIDI messages.
void DirtyPTCompareState()
This is needed in chunks based plug-ins to tell PT a non-indexed param changed and to turn on the com...
Encapsulates a MIDI message and provides helper functions.
virtual void GetTrackName(WDL_String &str) override
Get the name of the track that the plug-in is inserted on.
AAX API base class for an IPlug plug-in.
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 for IPlug Audio Processing.
The base class of an IPlug plug-in, which interacts with the different plug-in APIs.
MIDI and sysex structs/utilites.