AAX SDK  2.4.1
Avid Audio Extensions Development Kit
List of all members | Public Member Functions
AAX_CEffectGUI Class Referenceabstract

#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. More...
 
AAX_Result Uninitialize (void) AAX_OVERRIDE
 Main GUI uninitialization. More...
 
AAX host and plug-in event notification
AAX_Result NotificationReceived (AAX_CTypeID inNotificationType, const void *inNotificationData, uint32_t inNotificationDataSize) AAX_OVERRIDE
 Notification Hook. More...
 
View accessors
AAX_Result SetViewContainer (IACFUnknown *iViewContainer) AAX_OVERRIDE
 Provides a handle to the main plug-in window. More...
 
AAX_Result GetViewSize (AAX_Point *) const AAX_OVERRIDE
 Retrieves the size of the plug-in window. More...
 
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. More...
 
AAX_Result TimerWakeup (void) AAX_OVERRIDE
 Periodic wakeup callback for idle-time operations. More...
 
AAX_Result ParameterUpdated (AAX_CParamID paramID) AAX_OVERRIDE
 Notifies the GUI that a parameter value has changed. More...
 
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. More...
 
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. More...
 
- 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. More...
 
virtual acfUInt32 ACFMETHODCALLTYPE AddRef (void)=0
 Increments reference count. More...
 
virtual acfUInt32 ACFMETHODCALLTYPE Release (void)=0
 Decrements reference count. More...
 

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. More...
 
virtual void CreateViewContainer (void)=0
 Initializes the plug-in window and creates the main GUI view or frame. More...
 
virtual void DeleteViewContainer (void)=0
 Uninitializes the plug-in window and deletes the main GUI view or frame. More...
 
Helper methods
virtual void UpdateAllParameters (void)
 Requests an update to the GUI for every parameter view. More...
 

Private member accessors

AAX_IControllerGetController (void)
 Retrieves a reference to the plug-in's controller interface. More...
 
const AAX_IControllerGetController (void) const
 
AAX_IEffectParametersGetEffectParameters (void)
 Retrieves a reference to the plug-in's data model interface. More...
 
const AAX_IEffectParametersGetEffectParameters (void) const
 
AAX_IViewContainerGetViewContainer (void)
 Retrieves a reference to the plug-in's view container interface. More...
 
const AAX_IViewContainerGetViewContainer (void) const
 
AAX_ITransportTransport ()
 Retrieves a reference to the plug-in's Transport interface. More...
 
const AAX_ITransportTransport () const
 
AAX_EViewContainer_Type GetViewContainerType ()
 Retrieves the Container and it's type. More...
 
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]iControllerA 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]inNotificationTypeType of notification being received. Notifications form the host are one of AAX_ENotificationEvent
[in]inNotificationDataBlock of incoming notification data
[in]inNotificationDataSizeSize 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]iViewContainerAn 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
inlinevirtual

Retrieves the size of the plug-in window.

See also
AAX_IViewContainer::SetViewSize()
Parameters
[out]oViewSizeThe 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)
inlinevirtual

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  )
inlinevirtual

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]iSelectorThe requested strong. One of AAX_EPlugInStrings
[out]oStringThe 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 
)
inlinevirtual

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]iParameterIDID of parameter whose widget(s) must be highlighted
[in]iIsHighlightedTrue if turning highlight on, false if turning it off
[in]iColorDesired highlight color. One of AAX_EHighlightColor

Implements AAX_IACFEffectGUI.

References AAX_SUCCESS.

◆ CreateViewContents()

virtual void AAX_CEffectGUI::CreateViewContents ( void  )
protectedpure 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  )
protectedpure 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  )
protectedpure 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  )
protectedvirtual

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: