AAX SDK 2.6.1
Avid Audio Extensions Development Kit
Loading...
Searching...
No Matches
AAX_CEffectGUI.h
Go to the documentation of this file.
1/*================================================================================================*/
2/*
3 *
4 * Copyright 2013-2017, 2019, 2023 Avid Technology, Inc.
5 * All rights reserved.
6 *
7 * CONFIDENTIAL: this document contains confidential information of Avid. Do
8 * not disclose to any third party. Use of the information contained in this
9 * document is subject to an Avid SDK license.
10 *
11 */
12
19/*================================================================================================*/
20
21
22#ifndef AAX_CEFFECTGUI_H
23#define AAX_CEFFECTGUI_H
24
25#include "AAX_IEffectGUI.h"
27
28#include <string>
29#include <vector>
30#include <map>
31#include <memory>
32
33
35class AAX_IController;
37class AAX_ITransport;
38
39
40
55{
56public:
57
60
61public:
62
69
79 AAX_Result NotificationReceived(AAX_CTypeID inNotificationType, const void * inNotificationData, uint32_t inNotificationDataSize) AAX_OVERRIDE;
81
86 AAX_Result GetViewSize (AAX_Point * /* oViewSize */ ) const AAX_OVERRIDE
87 {
88 return AAX_SUCCESS;
89 }
91
95 AAX_Result Draw (AAX_Rect * /* iDrawRect */ ) AAX_OVERRIDE
96 {
97 return AAX_SUCCESS;
98 }
100 {
101 return AAX_SUCCESS;
102 }
105
112
113 AAX_Result SetControlHighlightInfo (AAX_CParamID /* iParameterID */, AAX_CBoolean /* iIsHighlighted */, AAX_EHighlightColor /* iColor */) AAX_OVERRIDE
114 {
115 return AAX_SUCCESS;
116 }
118
119protected:
120
134 virtual void CreateViewContents (void) = 0;
141 virtual void CreateViewContainer (void) = 0;
149 virtual void DeleteViewContainer (void) = 0;
151
166 virtual void UpdateAllParameters (void);
168
169public: //These accessors are public here as they are often needed by contained views.
170
179 const AAX_IController* GetController (void) const;
180
187
194
200 const AAX_ITransport* Transport() const;
201
209
210private:
211 //These are private, but they all have protected accessors.
212 AAX_IController * mController;
213 AAX_IEffectParameters * mEffectParameters;
214 AAX_UNIQUE_PTR(AAX_IViewContainer) mViewContainer;
215 AAX_ITransport* mTransport;
216};
217
218
219#endif
AAX_EViewContainer_Type
Type of view container.
Definition: AAX_GUITypes.h:141
AAX_EHighlightColor
Highlight color selector.
Definition: AAX_Enums.h:56
AAX_EPlugInStrings
Effect string identifiers.
Definition: AAX_Enums.h:335
@ AAX_SUCCESS
Definition: AAX_Errors.h:36
#define AAX_UNIQUE_PTR(X)
Definition: AAX.h:163
const char * AAX_CParamID
Parameter identifier.
Definition: AAX.h:349
int32_t AAX_Result
Definition: AAX.h:334
uint8_t AAX_CBoolean
Cross-compiler boolean type used by AAX interfaces.
Definition: AAX.h:326
#define AAX_OVERRIDE
override keyword macro
Definition: AAX.h:151
uint32_t AAX_CTypeID
Matches type of OSType used in classic plugins.
Definition: AAX.h:333
The interface for a AAX Plug-in's user interface.
The data model interface that is exposed to the host application.
COM compatible IUnknown C++ interface.
Definition: AAX_ACFInterface.doxygen:252
Default implementation of the AAX_IEffectGUI interface.
Definition: AAX_CEffectGUI.h:55
AAX_EViewContainer_Type GetViewContainerType()
Retrieves the Container and it's type.
AAX_Result TimerWakeup(void) AAX_OVERRIDE
Periodic wakeup callback for idle-time operations.
Definition: AAX_CEffectGUI.h:99
virtual void UpdateAllParameters(void)
Requests an update to the GUI for every parameter view.
AAX_Result GetViewSize(AAX_Point *) const AAX_OVERRIDE
Retrieves the size of the plug-in window.
Definition: AAX_CEffectGUI.h:86
~AAX_CEffectGUI(void) AAX_OVERRIDE
const AAX_IEffectParameters * GetEffectParameters(void) const
virtual void DeleteViewContainer(void)=0
Uninitializes the plug-in window and deletes the main GUI view or frame.
void * GetViewContainerPtr()
AAX_IController * GetController(void)
Retrieves a reference to the plug-in's controller interface.
AAX_Result SetViewContainer(IACFUnknown *iViewContainer) AAX_OVERRIDE
Provides a handle to the main plug-in window.
AAX_Result Initialize(IACFUnknown *iController) AAX_OVERRIDE
Main GUI initialization.
AAX_Result Draw(AAX_Rect *) AAX_OVERRIDE
DEPRECATED, Not called from host any longer. Your chosen graphics framework should be directly handli...
Definition: AAX_CEffectGUI.h:95
AAX_Result Uninitialize(void) AAX_OVERRIDE
Main GUI uninitialization.
const AAX_IController * GetController(void) const
const AAX_IViewContainer * GetViewContainer(void) const
AAX_IViewContainer * GetViewContainer(void)
Retrieves a reference to the plug-in's view container interface.
AAX_ITransport * Transport()
Retrieves a reference to the plug-in's Transport interface.
AAX_Result ParameterUpdated(AAX_CParamID paramID) AAX_OVERRIDE
Notifies the GUI that a parameter value has changed.
AAX_Result GetCustomLabel(AAX_EPlugInStrings iSelector, AAX_IString *oString) const AAX_OVERRIDE
Called by host application to retrieve a custom plug-in string.
AAX_Result SetControlHighlightInfo(AAX_CParamID, AAX_CBoolean, AAX_EHighlightColor) AAX_OVERRIDE
Called by host application. Indicates that a control widget should be updated with a highlight color.
Definition: AAX_CEffectGUI.h:113
virtual void CreateViewContents(void)=0
Creates any required top-level GUI components.
virtual void CreateViewContainer(void)=0
Initializes the plug-in window and creates the main GUI view or frame.
AAX_IEffectParameters * GetEffectParameters(void)
Retrieves a reference to the plug-in's data model interface.
AAX_Result NotificationReceived(AAX_CTypeID inNotificationType, const void *inNotificationData, uint32_t inNotificationDataSize) AAX_OVERRIDE
Notification Hook.
const AAX_ITransport * Transport() const
AAX_CEffectGUI(void)
Data structure representing a two-dimensional coordinate point.
Definition: AAX_GUITypes.h:39
Data structure representing a rectangle in a two-dimensional coordinate plane.
Definition: AAX_GUITypes.h:96
Interface for the AAX host's view of a single instance of an effect. Used by both clients of the AAX ...
Definition: AAX_IController.h:42
The interface for a AAX Plug-in's user interface.
Definition: AAX_IEffectGUI.h:52
The interface for an AAX Plug-in's data model.
Definition: AAX_IEffectParameters.h:80
A simple string container that can be passed across a binary boundary. This class,...
Definition: AAX_IString.h:38
Interface to information about the host's transport state.
Definition: AAX_ITransport.h:53
Interface for the AAX host's view of a single instance of an effect. Used both by clients of the AAX ...
Definition: AAX_IViewContainer.h:38