![]() |
AAX SDK
2.4.1
Avid Audio Extensions Development Kit
|
#include <AAX_IAutomationDelegate.h>
Interface allowing an AAX plug-in to interact with the host's event system.
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 |
|
inlinevirtual |
|
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.
[in] | iParameterID | Parameter ID that is being registered |
Implemented in AAX_VAutomationDelegate.
Referenced by AAX_CParameter< T >::SetAutomationDelegate(), and AAX_CStatelessParameter::SetAutomationDelegate().
|
pure virtual |
Unregister a control with the automation system using a char* based control identifier
[in] | iParameterID | Parameter ID that is being registered |
Implemented in AAX_VAutomationDelegate.
Referenced by AAX_CStatelessParameter::SetAutomationDelegate().
|
pure virtual |
Submits a request for the given parameter's value to be changed
[in] | iParameterID | ID of the parameter for which a change is requested |
[in] | normalizedValue | The requested new parameter value, formatted as a double and normalized to [0 1] |
Implemented in AAX_VAutomationDelegate.
|
pure virtual |
Notifies listeners that a parameter's value has changed
[in] | iParameterID | ID of the parameter that has been updated |
[in] | normalizedValue | The current parameter value, formatted as a double and normalized to [0 1] |
Implemented in AAX_VAutomationDelegate.
|
pure virtual |
Requests that the given parameter be "touched", i.e. locked for updates by the current client
[in] | iParameterID | ID of the parameter that will be touched |
Implemented in AAX_VAutomationDelegate.
Referenced by AAX_CStatelessParameter::Touch().
|
pure virtual |
Requests that the given parameter be "released", i.e. available for updates from any client
[in] | iParameterID | ID of the parameter that will be released |
Implemented in AAX_VAutomationDelegate.
Referenced by AAX_CStatelessParameter::Release().
|
pure virtual |
Gets the current touched state of a parameter
[in] | iParameterID | ID of the parameter that is being queried |
[out] | oTouched | The current touch state of the parameter |
Implemented in AAX_VAutomationDelegate.