| AAX SDK 2.6.1 Avid Audio Extensions Development Kit

- Welcome
- Manual
- Classes
- Files
- Lists
- Support

- File List
- File Members

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"
26#include "AAX_IACFEffectParameters.h"
27
28#include <string>
29#include <vector>
30#include <map>
31#include <memory>
32
33
34 class AAX_IEffectParameters;
35 class AAX_IController;
36 class AAX_IViewContainer;
37 class AAX_ITransport;
38
39
40
54 class AAX_CEffectGUI : public AAX_IEffectGUI
55{
56 public:
57
58 AAX_CEffectGUI(void);
59 ~AAX_CEffectGUI(void) AAX_OVERRIDE;
60
61 public:
62
66 AAX_Result Initialize (IACFUnknown * iController ) AAX_OVERRIDE;
67 AAX_Result Uninitialize (void) AAX_OVERRIDE;
69
79 AAX_Result NotificationReceived(AAX_CTypeID inNotificationType, const void * inNotificationData, uint32_t inNotificationDataSize) AAX_OVERRIDE;
81
85 AAX_Result SetViewContainer (IACFUnknown * iViewContainer ) AAX_OVERRIDE;
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 }
99 AAX_Result TimerWakeup (void) AAX_OVERRIDE
100 {
101 return AAX_SUCCESS;
102 }
103 AAX_Result ParameterUpdated(AAX_CParamID paramID) AAX_OVERRIDE;
105
111 AAX_Result GetCustomLabel ( AAX_EPlugInStrings iSelector, AAX_IString * oString ) const AAX_OVERRIDE;
112
113 AAX_Result SetControlHighlightInfo (AAX_CParamID /* iParameterID */, AAX_CBoolean /* iIsHighlighted */, AAX_EHighlightColor /* iColor */) AAX_OVERRIDE
114 {
115 return AAX_SUCCESS;
116 }
118
119 protected:
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
169 public: //These accessors are public here as they are often needed by contained views.
170
178 AAX_IController* GetController (void);
179 const AAX_IController* GetController (void) const;
180
185 AAX_IEffectParameters* GetEffectParameters (void);
186 const AAX_IEffectParameters* GetEffectParameters (void) const;
187
192 AAX_IViewContainer* GetViewContainer (void);
193 const AAX_IViewContainer* GetViewContainer (void) const;
194
199 AAX_ITransport* Transport();
200 const AAX_ITransport* Transport() const;
201
206 AAX_EViewContainer_Type GetViewContainerType ();
207 void * GetViewContainerPtr ();
209
210 private:
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
AAX_EViewContainer_Type
Type of view container.
Definition: AAX_GUITypes.h:141
AAX_EHighlightColor
AAX_EHighlightColor
Highlight color selector.
Definition: AAX_Enums.h:56
AAX_EPlugInStrings
AAX_EPlugInStrings
Effect string identifiers.
Definition: AAX_Enums.h:335
AAX_SUCCESS
@ AAX_SUCCESS
Definition: AAX_Errors.h:36
AAX_UNIQUE_PTR
#define AAX_UNIQUE_PTR(X)
Definition: AAX.h:163
AAX_CParamID
const char * AAX_CParamID
Parameter identifier.
Definition: AAX.h:349
AAX_Result
int32_t AAX_Result
Definition: AAX.h:334
AAX_CBoolean
uint8_t AAX_CBoolean
Cross-compiler boolean type used by AAX interfaces.
Definition: AAX.h:326
AAX_OVERRIDE
#define AAX_OVERRIDE
override keyword macro
Definition: AAX.h:151
AAX_CTypeID
uint32_t AAX_CTypeID
Matches type of OSType used in classic plugins.
Definition: AAX.h:333
AAX_IEffectGUI.h
The interface for a AAX Plug-in's user interface.
AAX_IACFEffectParameters.h
The data model interface that is exposed to the host application.
IACFUnknown
COM compatible IUnknown C++ interface.
Definition: AAX_ACFInterface.doxygen:252
AAX_CEffectGUI
Default implementation of the AAX_IEffectGUI interface.
Definition: AAX_CEffectGUI.h:55
AAX_CEffectGUI::GetViewContainerType
AAX_EViewContainer_Type GetViewContainerType()
Retrieves the Container and it's type.
AAX_CEffectGUI::TimerWakeup
AAX_Result TimerWakeup(void) AAX_OVERRIDE
Periodic wakeup callback for idle-time operations.
Definition: AAX_CEffectGUI.h:99
AAX_CEffectGUI::UpdateAllParameters
virtual void UpdateAllParameters(void)
Requests an update to the GUI for every parameter view.
AAX_CEffectGUI::GetViewSize
AAX_Result GetViewSize(AAX_Point *) const AAX_OVERRIDE
Retrieves the size of the plug-in window.
Definition: AAX_CEffectGUI.h:86
AAX_CEffectGUI::~AAX_CEffectGUI
~AAX_CEffectGUI(void) AAX_OVERRIDE
AAX_CEffectGUI::GetEffectParameters
const AAX_IEffectParameters * GetEffectParameters(void) const
AAX_CEffectGUI::DeleteViewContainer
virtual void DeleteViewContainer(void)=0
Uninitializes the plug-in window and deletes the main GUI view or frame.
AAX_CEffectGUI::GetViewContainerPtr
void * GetViewContainerPtr()
AAX_CEffectGUI::GetController
AAX_IController * GetController(void)
Retrieves a reference to the plug-in's controller interface.
AAX_CEffectGUI::SetViewContainer
AAX_Result SetViewContainer(IACFUnknown *iViewContainer) AAX_OVERRIDE
Provides a handle to the main plug-in window.
AAX_CEffectGUI::Initialize
AAX_Result Initialize(IACFUnknown *iController) AAX_OVERRIDE
Main GUI initialization.
AAX_CEffectGUI::Draw
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_CEffectGUI::Uninitialize
AAX_Result Uninitialize(void) AAX_OVERRIDE
Main GUI uninitialization.
AAX_CEffectGUI::GetController
const AAX_IController * GetController(void) const
AAX_CEffectGUI::GetViewContainer
const AAX_IViewContainer * GetViewContainer(void) const
AAX_CEffectGUI::GetViewContainer
AAX_IViewContainer * GetViewContainer(void)
Retrieves a reference to the plug-in's view container interface.
AAX_CEffectGUI::Transport
AAX_ITransport * Transport()
Retrieves a reference to the plug-in's Transport interface.
AAX_CEffectGUI::ParameterUpdated
AAX_Result ParameterUpdated(AAX_CParamID paramID) AAX_OVERRIDE
Notifies the GUI that a parameter value has changed.
AAX_CEffectGUI::GetCustomLabel
AAX_Result GetCustomLabel(AAX_EPlugInStrings iSelector, AAX_IString *oString) const AAX_OVERRIDE
Called by host application to retrieve a custom plug-in string.
AAX_CEffectGUI::SetControlHighlightInfo
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
AAX_CEffectGUI::CreateViewContents
virtual void CreateViewContents(void)=0
Creates any required top-level GUI components.
AAX_CEffectGUI::CreateViewContainer
virtual void CreateViewContainer(void)=0
Initializes the plug-in window and creates the main GUI view or frame.
AAX_CEffectGUI::GetEffectParameters
AAX_IEffectParameters * GetEffectParameters(void)
Retrieves a reference to the plug-in's data model interface.
AAX_CEffectGUI::NotificationReceived
AAX_Result NotificationReceived(AAX_CTypeID inNotificationType, const void *inNotificationData, uint32_t inNotificationDataSize) AAX_OVERRIDE
Notification Hook.
AAX_CEffectGUI::Transport
const AAX_ITransport * Transport() const
AAX_CEffectGUI::AAX_CEffectGUI
AAX_CEffectGUI(void)
AAX_Point
Data structure representing a two-dimensional coordinate point.
Definition: AAX_GUITypes.h:39
AAX_Rect
Data structure representing a rectangle in a two-dimensional coordinate plane.
Definition: AAX_GUITypes.h:96
AAX_IController
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
AAX_IEffectGUI
The interface for a AAX Plug-in's user interface.
Definition: AAX_IEffectGUI.h:52
AAX_IEffectParameters
The interface for an AAX Plug-in's data model.
Definition: AAX_IEffectParameters.h:80
AAX_IString
A simple string container that can be passed across a binary boundary. This class,...
Definition: AAX_IString.h:38
AAX_ITransport
Interface to information about the host's transport state.
Definition: AAX_ITransport.h:53
AAX_IViewContainer
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