AAX SDK  2.1.1
Avid Audio Extensions Development Kit
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AAX_CEffectGUI.h
Go to the documentation of this file.
1 /*================================================================================================*/
2 /*
3  *
4  * Copyright 2013 by Avid Technology, Inc.
5  * All rights reserved.
6  *
7  * CONFIDENTIAL: This document contains confidential information. Do not
8  * read or examine this document unless you are an Avid Technology employee
9  * or have signed a non-disclosure agreement with Avid Technology which protects
10  * the confidentiality of this document. DO NOT DISCLOSE ANY INFORMATION
11  * CONTAINED IN THIS DOCUMENT TO ANY THIRD-PARTY WITHOUT THE PRIOR WRITTEN CONSENT
12  * OF Avid Technolgy, INC.
13  *
14  */
15 
22 /*================================================================================================*/
23 
24 
25 #ifndef AAX_CEFFECTGUI_H
26 #define AAX_CEFFECTGUI_H
27 
28 #include "AAX_IEffectGUI.h"
30 
31 #include <string>
32 #include <vector>
33 #include <map>
34 
35 
37 class AAX_IController;
38 class AAX_IViewContainer;
39 class AAX_ITransport;
40 
41 
42 
57 {
58 public:
59 
60  AAX_CEffectGUI(void);
61  virtual ~AAX_CEffectGUI(void);
62 
63 public:
64 
68  virtual AAX_Result Initialize (IACFUnknown * iController );
69  virtual AAX_Result Uninitialize (void);
71 
81  virtual AAX_Result NotificationReceived(AAX_CTypeID iNotificationType, const void * iNotificationData, uint32_t iNotificationDataSize);
83 
87  virtual AAX_Result SetViewContainer (IACFUnknown * iViewContainer );
88  virtual AAX_Result GetViewSize (AAX_Point * /* oViewSize */ ) const
89  {
90  return AAX_SUCCESS;
91  }
93 
97  virtual AAX_Result Draw (AAX_Rect * /* iDrawRect */ )
98  {
99  return AAX_SUCCESS;
100  }
101  virtual AAX_Result TimerWakeup (void)
102  {
103  return AAX_SUCCESS;
104  }
105  virtual AAX_Result ParameterUpdated(AAX_CParamID paramID);
107 
113  virtual AAX_Result GetCustomLabel ( AAX_EPlugInStrings iSelector, AAX_IString * oString ) const;
114 
115  virtual AAX_Result SetControlHighlightInfo (AAX_CParamID /* iParameterID */, AAX_CBoolean /* iIsHighlighted */, AAX_EHighlightColor /* iColor */)
116  {
117  return AAX_SUCCESS;
118  }
120 
121 protected:
122 
136  virtual void CreateViewContents (void) = 0;
143  virtual void CreateViewContainer (void) = 0;
151  virtual void DeleteViewContainer (void) = 0;
152 
167  virtual void UpdateAllParameters (void);
169 
170 public: //These accessors are public here as they are often needed by contained views.
171 
180  const AAX_IController* GetController (void) const;
181 
187  const AAX_IEffectParameters* GetEffectParameters (void) const;
188 
194  const AAX_IViewContainer* GetViewContainer (void) const;
195 
201  const AAX_ITransport* Transport() const;
202 
208  void * GetViewContainerPtr ();
210 
211 private:
212  //These are private, but they all have protected accessors.
213  AAX_IController * mController;
214  AAX_IEffectParameters * mEffectParameters;
215  AAX_IViewContainer * mViewContainer;
216  AAX_ITransport* mTransport;
217 };
218 
219 
220 #endif
AAX_EViewContainer_Type
Type of view container.
Definition: AAX_GUITypes.h:101
virtual AAX_Result ParameterUpdated(AAX_CParamID paramID)
Notifies the GUI that a parameter value has changed.
virtual AAX_Result GetViewSize(AAX_Point *) const
Retrieves the size of the plug-in window.
Definition: AAX_CEffectGUI.h:88
Default implementation of the AAX_IEffectGUI interface.
Definition: AAX_CEffectGUI.h:56
Data structure representing a two-dimensional coordinate point.
Definition: AAX_GUITypes.h:35
The interface for a AAX Plug-in&#39;s user interface.
virtual void DeleteViewContainer(void)=0
Uninitializes the plug-in window and deletes the main GUI view or frame.
AAX_EPlugInStrings
Effect string identifiers.
Definition: AAX_Enums.h:286
AAX_IController * GetController(void)
Retrieves a reference to the plug-in&#39;s controller interface.
virtual AAX_Result Uninitialize(void)
Main GUI uninitialization.
virtual AAX_Result SetControlHighlightInfo(AAX_CParamID, AAX_CBoolean, AAX_EHighlightColor)
Called by host application. Indicates that a control widget should be updated with a highlight color...
Definition: AAX_CEffectGUI.h:115
uint8_t AAX_CBoolean
Cross-compiler boolean type used by AAX interfaces.
Definition: AAX.h:110
AAX_IViewContainer * GetViewContainer(void)
Retrieves a reference to the plug-in&#39;s view container interface.
virtual AAX_Result SetViewContainer(IACFUnknown *iViewContainer)
Provides a handle to the main plug-in window.
Interface for the AAX host&#39;s view of a single instance of an effect. Used both by clients of the AAX ...
Definition: AAX_IViewContainer.h:40
uint32_t AAX_CTypeID
Matches type of OSType used in classic plugins.
Definition: AAX.h:117
COM compatible IUnknown C++ interface.
Definition: AAX_ACFInterface.dox:231
A simple string container that can be passed across a binary boundary. This class, for simplicity, is not versioned and thus can never change.
Definition: AAX_IString.h:40
virtual void CreateViewContainer(void)=0
Initializes the plug-in window and creates the main GUI view or frame.
int32_t AAX_Result
Definition: AAX.h:118
AAX_ITransport * Transport()
Retrieves a reference to the plug-in&#39;s Transport interface.
Definition: AAX_Errors.h:32
void * GetViewContainerPtr()
AAX_EHighlightColor
Highlight color selector.
Definition: AAX_Enums.h:69
virtual AAX_Result NotificationReceived(AAX_CTypeID iNotificationType, const void *iNotificationData, uint32_t iNotificationDataSize)
Notification Hook.
virtual void UpdateAllParameters(void)
Requests an update to the GUI for every parameter view.
AAX_CEffectGUI(void)
virtual AAX_Result GetCustomLabel(AAX_EPlugInStrings iSelector, AAX_IString *oString) const
Called by host application to retrieve a custom plug-in string.
Interface for the AAX host&#39;s view of a single instance of an effect. Used by both clients of the AAX ...
Definition: AAX_IController.h:39
AAX_IEffectParameters * GetEffectParameters(void)
Retrieves a reference to the plug-in&#39;s data model interface.
virtual AAX_Result Initialize(IACFUnknown *iController)
Main GUI initialization.
virtual AAX_Result Draw(AAX_Rect *)
DEPRECATED, Not called from host any longer. Your chosen graphics framework should be directly handli...
Definition: AAX_CEffectGUI.h:97
Interface to information about the host&#39;s transport state.
Definition: AAX_ITransport.h:43
virtual void CreateViewContents(void)=0
Creates any required top-level GUI components.
AAX_EViewContainer_Type GetViewContainerType()
Retrieves the Container and it&#39;s type.
The interface for an AAX Plug-in&#39;s data model.
Definition: AAX_IEffectParameters.h:80
Data structure representing a rectangle in a two-dimensional coordinate plane.
Definition: AAX_GUITypes.h:68
const char * AAX_CParamID
Parameter identifier.
Definition: AAX.h:128
virtual AAX_Result TimerWakeup(void)
Periodic wakeup callback for idle-time operations.
Definition: AAX_CEffectGUI.h:101
The interface for a AAX Plug-in&#39;s user interface.
Definition: AAX_IEffectGUI.h:52
virtual ~AAX_CEffectGUI(void)
The data model interface that is exposed to the host application.