| AAX SDK 2.8.0 Avid Audio Extensions Development Kit

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

- Class List
- Class Index
- Class Hierarchy
- Class Members

Loading...
Searching...
No Matches
List of all members | Public Member Functions
AAX_CEffectGUI Class Referenceabstract
AAX SDK Manual » Core AAX Interface » GUI interface

`#include <AAX_CEffectGUI.h>`

Inheritance diagram for AAX_CEffectGUI:
[legend]
Collaboration diagram for AAX_CEffectGUI:
[legend]

## Description

Default implementation of the AAX_IEffectGUI interface.

This class provides a default implementation of the AAX_IEffectGUI interface.

Legacy Porting Notes:
  The default implementations in this class are mostly derived from their equivalent implementations in CProcess and CEffectProcess. For additional CProcess-derived implementations, see AAX_CEffectParameters.

Note
  See AAX_IACFEffectGUI for further information.

## Public Member Functions
| AAX_CEffectGUI (void)
| ~AAX_CEffectGUI (void) AAX_OVERRIDE
Initialization and uninitialization
AAX_Result | Initialize (IACFUnknown *iController) AAX_OVERRIDE
| Main GUI initialization.
AAX_Result | Uninitialize (void) AAX_OVERRIDE
| Main GUI uninitialization.
AAX host and plug-in event notification
AAX_Result | NotificationReceived (AAX_CTypeID inNotificationType, const void *inNotificationData, uint32_t inNotificationDataSize) AAX_OVERRIDE
| Notification Hook.
View accessors
AAX_Result | SetViewContainer (IACFUnknown *iViewContainer) AAX_OVERRIDE
| Provides a handle to the main plug-in window.
AAX_Result | GetViewSize (AAX_Point *) const AAX_OVERRIDE
| Retrieves the size of the plug-in window.
GUI update methods
AAX_Result | Draw (AAX_Rect *) AAX_OVERRIDE
| DEPRECATED, Not called from host any longer. Your chosen graphics framework should be directly handling draw events from the OS.
AAX_Result | TimerWakeup (void) AAX_OVERRIDE
| Periodic wakeup callback for idle-time operations.
AAX_Result | ParameterUpdated (AAX_CParamID paramID) AAX_OVERRIDE
| Notifies the GUI that a parameter value has changed.
Host interface methods
Miscellaneous methods to provide host-specific functionality
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.
Public Member Functions inherited from AAX_IEffectGUI
| ACF_DECLARE_STANDARD_UNKNOWN () ACFMETHOD(InternalQueryInterface)(const acfIID &riid
| AAX_DELETE (AAX_IEffectGUI &operator=(const AAX_IEffectGUI &))
Initialization and uninitialization
AAX host and plug-in event notification
View accessors
GUI update methods
Host interface methods
Miscellaneous methods to provide host-specific functionality
Public Member Functions inherited from IACFUnknown
virtual BEGIN_ACFINTERFACE ACFRESULT ACFMETHODCALLTYPE | QueryInterface (const acfIID &iid, void **ppOut)=0
| Returns pointers to supported interfaces.
virtual acfUInt32 ACFMETHODCALLTYPE | AddRef (void)=0
| Increments reference count.
virtual acfUInt32 ACFMETHODCALLTYPE | Release (void)=0
| Decrements reference count.

## Protected Member Functions
AAX_CEffectGUI pure virtual interface
The implementations of these methods will be specific to the particular GUI framework that is being incorporated with AAX_CEffectGUI. Classes that inherit from AAX_CEffectGUI must override these methods with their own framework-specific implementations.
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.
virtual void | DeleteViewContainer (void)=0
| Uninitializes the plug-in window and deletes the main GUI view or frame.
Helper methods
virtual void | UpdateAllParameters (void)
| Requests an update to the GUI for every parameter view.

## Private member accessors
AAX_IController * | GetController (void)
| Retrieves a reference to the plug-in's controller interface.
const AAX_IController * | GetController (void) const
AAX_IEffectParameters * | GetEffectParameters (void)
| Retrieves a reference to the plug-in's data model interface.
const AAX_IEffectParameters * | GetEffectParameters (void) const
AAX_IViewContainer * | GetViewContainer (void)
| Retrieves a reference to the plug-in's view container interface.
const AAX_IViewContainer * | GetViewContainer (void) const
AAX_ITransport * | Transport ()
| Retrieves a reference to the plug-in's Transport interface.
const AAX_ITransport * | Transport () const
AAX_EViewContainer_Type | GetViewContainerType ()
| Retrieves the Container and it's type.
void * | GetViewContainerPtr ()

## Additional Inherited Members
Public Attributes inherited from AAX_IEffectGUI
void **ppvObjOut | override

## Constructor & Destructor Documentation

## ◆ AAX_CEffectGUI()

AAX_CEffectGUI::AAX_CEffectGUI | ( | void |  | ) |

## ◆ ~AAX_CEffectGUI()

AAX_CEffectGUI::~AAX_CEffectGUI | ( | void |  | ) |

## Member Function Documentation

## ◆ Initialize()

AAX_Result AAX_CEffectGUI::Initialize | ( | IACFUnknown * | iController | ) |
| virtual

Main GUI initialization.

Called when the GUI is created

Parameters

  [in] | iController | A versioned reference that resolves to an AAX_IController interface

Implements AAX_IACFEffectGUI.

## ◆ Uninitialize()

AAX_Result AAX_CEffectGUI::Uninitialize | ( | void |  | ) |
| virtual

Main GUI uninitialization.

Called when the GUI is destroyed. Frees the GUI.

Implements AAX_IACFEffectGUI.

## ◆ NotificationReceived()

AAX_Result AAX_CEffectGUI::NotificationReceived | ( | AAX_CTypeID | inNotificationType,
|  | const void * | inNotificationData,
|  | uint32_t | inNotificationDataSize
| ) |  |
| virtual

Notification Hook.

Called from the host to deliver notifications to this object.

Look at the AAX_ENotificationEvent enumeration to see a description of events you can listen for and the data they come with.

- Note
    some notifications are sent only to the plug-in GUI while other notifications are sent only to the plug-in data model. If you are not seeing an expected notification, try checking the other plug-in objects' `NotificationReceived()` methods.
- Note
    the host may dispatch notifications synchronously or asynchronously, and calls to this method may occur concurrently on multiple threads.
  A plug-in may also dispatch custom notifications using AAX_IController::SendNotification(). Custom notifications will be posted back to the plug-in's other objects which support a `NotificationReceived()` method (e.g. the data model).

Parameters

  [in] | inNotificationType | Type of notification being received. Notifications form the host are one of AAX_ENotificationEvent
  [in] | inNotificationData | Block of incoming notification data
  [in] | inNotificationDataSize | Size of `inNotificationData`, in bytes

Note
  The default implementation doesn't do anything at this point, but it is probably still a good idea to call into the base class AAX_CEffectGUI::NotificationReceived() function in case we want to implement some default behaviors in the future.

Implements AAX_IACFEffectGUI.

## ◆ SetViewContainer()

AAX_Result AAX_CEffectGUI::SetViewContainer | ( | IACFUnknown * | iViewContainer | ) |
| virtual

Provides a handle to the main plug-in window.

Parameters

  [in] | iViewContainer | An AAX_IViewContainer providing a native handle to the plug-in's window

Implements AAX_IACFEffectGUI.

## ◆ GetViewSize()

AAX_Result AAX_CEffectGUI::GetViewSize | ( | AAX_Point * | oViewSize | ) | const
| inline virtual

Retrieves the size of the plug-in window.

See also
  AAX_IViewContainer::SetViewSize()

Parameters

  [out] | oViewSize | The size of the plug-in window as a point (width, height)

Implements AAX_IACFEffectGUI.

References AAX_SUCCESS.

## ◆ Draw()

AAX_Result AAX_CEffectGUI::Draw | ( | AAX_Rect * | iDrawRect | ) |
| inline virtual

DEPRECATED, Not called from host any longer. Your chosen graphics framework should be directly handling draw events from the OS.

Implements AAX_IACFEffectGUI.

References AAX_SUCCESS.

## ◆ TimerWakeup()

AAX_Result AAX_CEffectGUI::TimerWakeup | ( | void |  | ) |
| inline virtual

Periodic wakeup callback for idle-time operations.

GUI animation events such as meter updates should be triggered from this method.

This method is called from the host's main thread. In general, it should be driven at approximately one call per 30 ms. However, the wakeup is not guaranteed to be called at any regular interval - for example, it could be held off by a high real-time processing load - and there is no host contract regarding maximum latency between wakeup calls.

This wakeup runs continuously and cannot be armed/disarmed by the plug-in.

Implements AAX_IACFEffectGUI.

References AAX_SUCCESS.

## ◆ ParameterUpdated()

AAX_Result AAX_CEffectGUI::ParameterUpdated | ( | AAX_CParamID | inParamID | ) |
| virtual

Notifies the GUI that a parameter value has changed.

This method is called by the host whenever a parameter value has been modified

This method may be called on a non-main thread

Implements AAX_IACFEffectGUI.

## ◆ GetCustomLabel()

AAX_Result AAX_CEffectGUI::GetCustomLabel | ( | AAX_EPlugInStrings | iSelector,
|  | AAX_IString * | oString
| ) |  | const
| virtual

Called by host application to retrieve a custom plug-in string.

If no string is provided then the host's default will be used.

Parameters

  [in] | iSelector | The requested strong. One of AAX_EPlugInStrings
  [out] | oString | The plug-in's custom value for the requested string

Implements AAX_IACFEffectGUI.

## ◆ SetControlHighlightInfo()

AAX_Result AAX_CEffectGUI::SetControlHighlightInfo | ( | AAX_CParamID | iParameterID,
|  | AAX_CBoolean | iIsHighlighted,
|  | AAX_EHighlightColor | iColor
| ) |  |
| inline virtual

Called by host application. Indicates that a control widget should be updated with a highlight color.

Todo:
  Document this method

Legacy Porting Notes:
  This method was re-named from `SetControlHighliteInfo()`, its name in the legacy plug-in SDK.

Parameters

  [in] | iParameterID | ID of parameter whose widget(s) must be highlighted
  [in] | iIsHighlighted | True if turning highlight on, false if turning it off
  [in] | iColor | Desired highlight color. One of AAX_EHighlightColor

Implements AAX_IACFEffectGUI.

References AAX_SUCCESS.

## ◆ CreateViewContents()

virtual void AAX_CEffectGUI::CreateViewContents | ( | void |  | ) |
| protected pure virtual

Creates any required top-level GUI components.

This method is called by default from AAX_CEffectGUI::Initialize()

## ◆ CreateViewContainer()

virtual void AAX_CEffectGUI::CreateViewContainer | ( | void |  | ) |
| protected pure virtual

Initializes the plug-in window and creates the main GUI view or frame.

This method is called by default from AAX_CEffectGUI::SetViewContainer() when a valid window is present

## ◆ DeleteViewContainer()

virtual void AAX_CEffectGUI::DeleteViewContainer | ( | void |  | ) |
| protected pure virtual

Uninitializes the plug-in window and deletes the main GUI view or frame.

This method is called by default from AAX_CEffectGUI::SetViewContainer() when no valid window is present. It may also be appropriate for inheriting classes to call this method from their destructors, depending on their own internal implementation.

## ◆ UpdateAllParameters()

virtual void AAX_CEffectGUI::UpdateAllParameters | ( | void |  | ) |
| protected virtual

Requests an update to the GUI for every parameter view.

By default, calls AAX_CEffectGUI::ParameterUpdated() on every registered parameter.

By default, called from AAX_CEffectGUI::SetViewContainer() after a new view container has been created.

Todo:
  Rename to `UpdateAllParameterViews()` or another name that does not lead to confusion regarding what exactly this method should be doing.

## ◆ GetController() [1/2]

AAX_IController * AAX_CEffectGUI::GetController | ( | void |  | ) |

Retrieves a reference to the plug-in's controller interface.

## ◆ GetController() [2/2]

const AAX_IController * AAX_CEffectGUI::GetController | ( | void |  | ) | const

## ◆ GetEffectParameters() [1/2]

AAX_IEffectParameters * AAX_CEffectGUI::GetEffectParameters | ( | void |  | ) |

Retrieves a reference to the plug-in's data model interface.

## ◆ GetEffectParameters() [2/2]

const AAX_IEffectParameters * AAX_CEffectGUI::GetEffectParameters | ( | void |  | ) | const

## ◆ GetViewContainer() [1/2]

AAX_IViewContainer * AAX_CEffectGUI::GetViewContainer | ( | void |  | ) |

Retrieves a reference to the plug-in's view container interface.

## ◆ GetViewContainer() [2/2]

const AAX_IViewContainer * AAX_CEffectGUI::GetViewContainer | ( | void |  | ) | const

## ◆ Transport() [1/2]

AAX_ITransport * AAX_CEffectGUI::Transport | ( |  | ) |

Retrieves a reference to the plug-in's Transport interface.

## ◆ Transport() [2/2]

const AAX_ITransport * AAX_CEffectGUI::Transport | ( |  | ) | const

## ◆ GetViewContainerType()

AAX_EViewContainer_Type AAX_CEffectGUI::GetViewContainerType | ( |  | ) |

Retrieves the Container and it's type.

## ◆ GetViewContainerPtr()

void * AAX_CEffectGUI::GetViewContainerPtr | ( |  | ) |

The documentation for this class was generated from the following file:

- AAX_CEffectGUI.h