AAX SDK  2.4.1
Avid Audio Extensions Development Kit
List of all members
AAX_IACFEffectParameters_V2 Class Referenceabstract

#include <AAX_IACFEffectParameters.h>

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

Description

Supplemental interface for an AAX Plug-in's data model.

This is a supplemental interface for an instance of a plug-in's data model. This interface gets exposed to the host application. Host applications that support AAX versioned features may call into these methods. See Data model interface.

Note
Your implementation of this interface must inherit from AAX_IEffectParameters.
Todo:
Add documentation for expected error state return values

Public Member Functions

Hybrid audio methods
virtual AAX_Result RenderAudio_Hybrid (AAX_SHybridRenderInfo *ioRenderInfo)=0
 Hybrid audio render function. More...
 
MIDI methods
virtual AAX_Result UpdateMIDINodes (AAX_CFieldIndex inFieldIndex, AAX_CMidiPacket &iPacket)=0
 MIDI update callback. More...
 
virtual AAX_Result UpdateControlMIDINodes (AAX_CTypeID nodeID, AAX_CMidiPacket &iPacket)=0
 MIDI update callback for control MIDI nodes. More...
 
- Public Member Functions inherited from AAX_IACFEffectParameters
virtual AAX_Result Initialize (IACFUnknown *iController)=0
 Main data model initialization. Called when plug-in instance is first instantiated. More...
 
virtual AAX_Result Uninitialize ()=0
 Main data model uninitialization. More...
 
virtual AAX_Result NotificationReceived (AAX_CTypeID inNotificationType, const void *inNotificationData, uint32_t inNotificationDataSize)=0
 Notification Hook. More...
 
virtual AAX_Result GetNumberOfParameters (int32_t *oNumControls) const =0
 CALL: Retrieves the total number of plug-in parameters. More...
 
virtual AAX_Result GetMasterBypassParameter (AAX_IString *oIDString) const =0
 CALL: Retrieves the ID of the plug-in's Master Bypass parameter. More...
 
virtual AAX_Result GetParameterIsAutomatable (AAX_CParamID iParameterID, AAX_CBoolean *oAutomatable) const =0
 CALL: Retrieves information about a parameter's automatable status. More...
 
virtual AAX_Result GetParameterNumberOfSteps (AAX_CParamID iParameterID, int32_t *oNumSteps) const =0
 CALL: Retrieves the number of discrete steps for a parameter. More...
 
virtual AAX_Result GetParameterName (AAX_CParamID iParameterID, AAX_IString *oName) const =0
 CALL: Retrieves the full name for a parameter. More...
 
virtual AAX_Result GetParameterNameOfLength (AAX_CParamID iParameterID, AAX_IString *oName, int32_t iNameLength) const =0
 CALL: Retrieves an abbreviated name for a parameter. More...
 
virtual AAX_Result GetParameterDefaultNormalizedValue (AAX_CParamID iParameterID, double *oValue) const =0
 CALL: Retrieves default value of a parameter. More...
 
virtual AAX_Result SetParameterDefaultNormalizedValue (AAX_CParamID iParameterID, double iValue)=0
 CALL: Sets the default value of a parameter. More...
 
virtual AAX_Result GetParameterType (AAX_CParamID iParameterID, AAX_EParameterType *oParameterType) const =0
 CALL: Retrieves the type of a parameter. More...
 
virtual AAX_Result GetParameterOrientation (AAX_CParamID iParameterID, AAX_EParameterOrientation *oParameterOrientation) const =0
 CALL: Retrieves the orientation that should be applied to a parameter's controls. More...
 
virtual AAX_Result GetParameter (AAX_CParamID iParameterID, AAX_IParameter **oParameter)=0
 CALL: Retrieves an arbitrary setting within a parameter. More...
 
virtual AAX_Result GetParameterIndex (AAX_CParamID iParameterID, int32_t *oControlIndex) const =0
 CALL: Retrieves the index of a parameter. More...
 
virtual AAX_Result GetParameterIDFromIndex (int32_t iControlIndex, AAX_IString *oParameterIDString) const =0
 CALL: Retrieves the ID of a parameter. More...
 
virtual AAX_Result GetParameterValueInfo (AAX_CParamID iParameterID, int32_t iSelector, int32_t *oValue) const =0
 CALL: Retrieves a property of a parameter. More...
 
virtual AAX_Result GetParameterValueFromString (AAX_CParamID iParameterID, double *oValue, const AAX_IString &iValueString) const =0
 CALL: Converts a value string to a value. More...
 
virtual AAX_Result GetParameterStringFromValue (AAX_CParamID iParameterID, double iValue, AAX_IString *oValueString, int32_t iMaxLength) const =0
 CALL: Converts a normalized parameter value into a string representing its corresponding real value. More...
 
virtual AAX_Result GetParameterValueString (AAX_CParamID iParameterID, AAX_IString *oValueString, int32_t iMaxLength) const =0
 CALL: Retrieves the value string associated with a parameter's current value. More...
 
virtual AAX_Result GetParameterNormalizedValue (AAX_CParamID iParameterID, double *oValuePtr) const =0
 CALL: Retrieves a parameter's current value. More...
 
virtual AAX_Result SetParameterNormalizedValue (AAX_CParamID iParameterID, double iValue)=0
 CALL: Sets the specified parameter to a new value. More...
 
virtual AAX_Result SetParameterNormalizedRelative (AAX_CParamID iParameterID, double iValue)=0
 CALL: Sets the specified parameter to a new value relative to its current value. More...
 
virtual AAX_Result TouchParameter (AAX_CParamID iParameterID)=0
 "Touches" (locks) a parameter in the automation system to a particular control in preparation for updates More...
 
virtual AAX_Result ReleaseParameter (AAX_CParamID iParameterID)=0
 Releases a parameter from a "touched" state. More...
 
virtual AAX_Result UpdateParameterTouch (AAX_CParamID iParameterID, AAX_CBoolean iTouchState)=0
 Sets a "touched" state on a parameter. More...
 
virtual AAX_Result UpdateParameterNormalizedValue (AAX_CParamID iParameterID, double iValue, AAX_EUpdateSource iSource)=0
 Updates a single parameter's state to its current value. More...
 
virtual AAX_Result UpdateParameterNormalizedRelative (AAX_CParamID iParameterID, double iValue)=0
 Updates a single parameter's state to its current value, as a difference with the parameter's previous value. More...
 
virtual AAX_Result GenerateCoefficients ()=0
 Generates and dispatches new coefficient packets. More...
 
virtual AAX_Result ResetFieldData (AAX_CFieldIndex inFieldIndex, void *oData, uint32_t inDataSize) const =0
 Called by the host to reset a private data field in the plug-in's algorithm. More...
 
virtual AAX_Result GetNumberOfChunks (int32_t *oNumChunks) const =0
 Retrieves the number of chunks used by this plug-in. More...
 
virtual AAX_Result GetChunkIDFromIndex (int32_t iIndex, AAX_CTypeID *oChunkID) const =0
 Retrieves the ID associated with a chunk index. More...
 
virtual AAX_Result GetChunkSize (AAX_CTypeID iChunkID, uint32_t *oSize) const =0
 Get the size of the data structure that can hold all of a chunk's information. More...
 
virtual AAX_Result GetChunk (AAX_CTypeID iChunkID, AAX_SPlugInChunk *oChunk) const =0
 Fills a block of data with chunk information representing the plug-in's current state. More...
 
virtual AAX_Result SetChunk (AAX_CTypeID iChunkID, const AAX_SPlugInChunk *iChunk)=0
 Restores a set of plug-in parameters based on chunk information. More...
 
virtual AAX_Result CompareActiveChunk (const AAX_SPlugInChunk *iChunkP, AAX_CBoolean *oIsEqual) const =0
 Determine if a chunk represents settings that are equivalent to the plug-in's current state. More...
 
virtual AAX_Result GetNumberOfChanges (int32_t *oNumChanges) const =0
 Retrieves the number of parameter changes made since the plug-in's creation. More...
 
virtual AAX_Result TimerWakeup ()=0
 Periodic wakeup callback for idle-time operations. More...
 
virtual AAX_Result GetCurveData (AAX_CTypeID iCurveType, const float *iValues, uint32_t iNumValues, float *oValues) const =0
 Generate a set of output values based on a set of given input values. More...
 
virtual AAX_Result GetCustomData (AAX_CTypeID iDataBlockID, uint32_t inDataSize, void *oData, uint32_t *oDataWritten) const =0
 An optional interface hook for getting custom data from another module. More...
 
virtual AAX_Result SetCustomData (AAX_CTypeID iDataBlockID, uint32_t inDataSize, const void *iData)=0
 An optional interface hook for setting custom data for use by another module. More...
 
virtual AAX_Result DoMIDITransfers ()=0
 MIDI update callback. More...
 
- 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...
 

Member Function Documentation

◆ UpdateMIDINodes()

virtual AAX_Result AAX_IACFEffectParameters_V2::UpdateMIDINodes ( AAX_CFieldIndex  inFieldIndex,
AAX_CMidiPacket iPacket 
)
pure virtual

MIDI update callback.

This method is called by the host for each pending MIDI packet for MIDI nodes in algorithm context structure. Overwrite this method in Plug-In's EffectParameter class if you want to receive MIDI data packets directly in the data model. MIDI data will also be delivered to the Effect algorithm.

The host calls this method in Effects that register one or more MIDI nodes using AAX_IComponentDescriptor::AddMIDINode(). Effects that do not require MIDI data to be sent to the plug-in algorithm should override UpdateControlMIDINodes().

Parameters
[in]inFieldIndexMIDI node field index in algorithm context structure
[in]iPacketThe incoming MIDI packet for the node

Implemented in AAX_CEffectParameters.

◆ UpdateControlMIDINodes()

virtual AAX_Result AAX_IACFEffectParameters_V2::UpdateControlMIDINodes ( AAX_CTypeID  nodeID,
AAX_CMidiPacket iPacket 
)
pure virtual

MIDI update callback for control MIDI nodes.

This method is called by the host for each pending MIDI packet for Control MIDI nodes. Overwrite this method in Plug-In's EffectParameter class if you want to receive MIDI data packets directly in the data model.

The host calls this method in Effects that register one or more Control MIDI nodes using AAX_IEffectDescriptor::AddControlMIDINode(). Effects with algorithms that use MIDI data nodes should override UpdateMIDINodes().

Note
This method will not be called if an Effect includes any MIDI nodes in its algorithm context structure.
Parameters
[in]nodeIDIdentifier for the MIDI node
[in]iPacketThe incoming MIDI packet for the node

Implemented in AAX_CEffectParameters.


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