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

#include <AAX_IAutomationDelegate.h>

Inheritance diagram for AAX_IAutomationDelegate:
[legend]

Description

Interface allowing an AAX plug-in to interact with the host's event system.

:Implemented by the AAX Host:

This delegate provides a means of interacting with the host's event system in order to ensure that events such as parameter updates are properly arbitrated and broadcast to all listeners. The automation delegate is used regardless of whether an individual parameter is "automatable" or "automation-enabled".

A parameter must be registered with the automation delegate in order for updates to the parameter's control in the plug-in's GUI or other controller (control surface, etc.) to be successfully processed by the host and sent to the AAX_IEffectParameters object.

The parameter identifiers used by this interface correspond to the control IDs used to identify parameters in the Parameter Mananger.

Public Member Functions

virtual ~AAX_IAutomationDelegate ()
 
virtual AAX_Result RegisterParameter (AAX_CParamID iParameterID)=0
 
virtual AAX_Result UnregisterParameter (AAX_CParamID iParameterID)=0
 
virtual AAX_Result PostSetValueRequest (AAX_CParamID iParameterID, double normalizedValue) const =0
 
virtual AAX_Result PostCurrentValue (AAX_CParamID iParameterID, double normalizedValue) const =0
 
virtual AAX_Result PostTouchRequest (AAX_CParamID iParameterID)=0
 
virtual AAX_Result PostReleaseRequest (AAX_CParamID iParameterID)=0
 
virtual AAX_Result GetTouchState (AAX_CParamID iParameterID, AAX_CBoolean *oTouched)=0
 

Constructor & Destructor Documentation

◆ ~AAX_IAutomationDelegate()

virtual AAX_IAutomationDelegate::~AAX_IAutomationDelegate ( )
inlinevirtual

Member Function Documentation

◆ RegisterParameter()

virtual AAX_Result AAX_IAutomationDelegate::RegisterParameter ( AAX_CParamID  iParameterID)
pure virtual

Register a control with the automation system using a char* based control identifier

The automation delegate owns a list of the IDs of all of the parameters that have been registered with it. This list is used to set up listeners for all of the registered parameters such that the automation delegate may update the plug-in when the state of any of the registered parameters have been modified.

See also
AAX_IAutomationDelegate::UnregisterParameter()
Parameters
[in]iParameterIDParameter ID that is being registered

Implemented in AAX_VAutomationDelegate.

Referenced by AAX_CParameter< T >::SetAutomationDelegate(), and AAX_CStatelessParameter::SetAutomationDelegate().

Here is the caller graph for this function:

◆ UnregisterParameter()

virtual AAX_Result AAX_IAutomationDelegate::UnregisterParameter ( AAX_CParamID  iParameterID)
pure virtual

Unregister a control with the automation system using a char* based control identifier

Note
All registered controls should be unregistered or the system might leak.
See also
AAX_IAutomationDelegate::RegisterParameter()
Parameters
[in]iParameterIDParameter ID that is being registered

Implemented in AAX_VAutomationDelegate.

Referenced by AAX_CStatelessParameter::SetAutomationDelegate().

Here is the caller graph for this function:

◆ PostSetValueRequest()

virtual AAX_Result AAX_IAutomationDelegate::PostSetValueRequest ( AAX_CParamID  iParameterID,
double  normalizedValue 
) const
pure virtual

Submits a request for the given parameter's value to be changed

Parameters
[in]iParameterIDID of the parameter for which a change is requested
[in]normalizedValueThe requested new parameter value, formatted as a double and normalized to [0 1]

Implemented in AAX_VAutomationDelegate.

◆ PostCurrentValue()

virtual AAX_Result AAX_IAutomationDelegate::PostCurrentValue ( AAX_CParamID  iParameterID,
double  normalizedValue 
) const
pure virtual

Notifies listeners that a parameter's value has changed

Parameters
[in]iParameterIDID of the parameter that has been updated
[in]normalizedValueThe current parameter value, formatted as a double and normalized to [0 1]

Implemented in AAX_VAutomationDelegate.

◆ PostTouchRequest()

virtual AAX_Result AAX_IAutomationDelegate::PostTouchRequest ( AAX_CParamID  iParameterID)
pure virtual

Requests that the given parameter be "touched", i.e. locked for updates by the current client

Parameters
[in]iParameterIDID of the parameter that will be touched

Implemented in AAX_VAutomationDelegate.

Referenced by AAX_CStatelessParameter::Touch().

Here is the caller graph for this function:

◆ PostReleaseRequest()

virtual AAX_Result AAX_IAutomationDelegate::PostReleaseRequest ( AAX_CParamID  iParameterID)
pure virtual

Requests that the given parameter be "released", i.e. available for updates from any client

Parameters
[in]iParameterIDID of the parameter that will be released

Implemented in AAX_VAutomationDelegate.

Referenced by AAX_CStatelessParameter::Release().

Here is the caller graph for this function:

◆ GetTouchState()

virtual AAX_Result AAX_IAutomationDelegate::GetTouchState ( AAX_CParamID  iParameterID,
AAX_CBoolean oTouched 
)
pure virtual

Gets the current touched state of a parameter

Parameters
[in]iParameterIDID of the parameter that is being queried
[out]oTouchedThe current touch state of the parameter

Implemented in AAX_VAutomationDelegate.


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