AAX SDK 2.8.0
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-2024 Avid Technology, Inc.
5 * All rights reserved.
6 *
7 * This file is part of the Avid AAX SDK.
8 *
9 * The AAX SDK is subject to commercial or open-source licensing.
10 *
11 * By using the AAX SDK, you agree to the terms of both the Avid AAX SDK License
12 * Agreement and Avid Privacy Policy.
13 *
14 * AAX SDK License: https://developer.avid.com/aax
15 * Privacy Policy: https://www.avid.com/legal/privacy-policy-statement
16 *
17 * Or: You may also use this code under the terms of the GPL v3 (see
18 * www.gnu.org/licenses).
19 *
20 * THE AAX SDK IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
21 * EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
22 * DISCLAIMED.
23 *
24 */
25
32/*================================================================================================*/
33
34
35#ifndef AAX_CEFFECTGUI_H
36#define AAX_CEFFECTGUI_H
37
38#include "AAX_IEffectGUI.h"
40
41#include <string>
42#include <vector>
43#include <map>
44#include <memory>
45
46
48class AAX_IController;
50class AAX_ITransport;
51
52
53
68{
69public:
70
73
74public:
75
82
92 AAX_Result NotificationReceived(AAX_CTypeID inNotificationType, const void * inNotificationData, uint32_t inNotificationDataSize) AAX_OVERRIDE;
94
99 AAX_Result GetViewSize (AAX_Point * /* oViewSize */ ) const AAX_OVERRIDE
100 {
101 return AAX_SUCCESS;
102 }
104
109 {
110 return AAX_SUCCESS;
111 }
113 {
114 return AAX_SUCCESS;
115 }
118
125
126 AAX_Result SetControlHighlightInfo (AAX_CParamID /* iParameterID */, AAX_CBoolean /* iIsHighlighted */, AAX_EHighlightColor /* iColor */) AAX_OVERRIDE
127 {
128 return AAX_SUCCESS;
129 }
131
132protected:
133
147 virtual void CreateViewContents (void) = 0;
154 virtual void CreateViewContainer (void) = 0;
162 virtual void DeleteViewContainer (void) = 0;
164
179 virtual void UpdateAllParameters (void);
181
182public: //These accessors are public here as they are often needed by contained views.
183
192 const AAX_IController* GetController (void) const;
193
200
207
213 const AAX_ITransport* Transport() const;
214
222
223private:
224 //These are private, but they all have protected accessors.
225 AAX_IController * mController;
226 AAX_IEffectParameters * mEffectParameters;
227 AAX_UNIQUE_PTR(AAX_IViewContainer) mViewContainer;
228 AAX_ITransport* mTransport;
229};
230
231
232#endif
AAX_EViewContainer_Type
Type of view container.
Definition: AAX_GUITypes.h:154
AAX_EHighlightColor
Highlight color selector.
Definition: AAX_Enums.h:69
AAX_EPlugInStrings
Effect string identifiers.
Definition: AAX_Enums.h:348
@ AAX_SUCCESS
Definition: AAX_Errors.h:49
#define AAX_UNIQUE_PTR(X)
Definition: AAX.h:176
const char * AAX_CParamID
Parameter identifier.
Definition: AAX.h:362
int32_t AAX_Result
Definition: AAX.h:347
uint8_t AAX_CBoolean
Cross-compiler boolean type used by AAX interfaces.
Definition: AAX.h:339
#define AAX_OVERRIDE
override keyword macro
Definition: AAX.h:164
uint32_t AAX_CTypeID
Matches type of OSType used in classic plugins.
Definition: AAX.h:346
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:265
Default implementation of the AAX_IEffectGUI interface.
Definition: AAX_CEffectGUI.h:68
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:112
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:99
~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:108
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:126
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:52
Data structure representing a rectangle in a two-dimensional coordinate plane.
Definition: AAX_GUITypes.h:109
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:55
The interface for a AAX Plug-in's user interface.
Definition: AAX_IEffectGUI.h:65
The interface for an AAX Plug-in's data model.
Definition: AAX_IEffectParameters.h:93
A simple string container that can be passed across a binary boundary. This class,...
Definition: AAX_IString.h:51
Interface to information about the host's transport state.
Definition: AAX_ITransport.h:66
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:51