AAX SDK  2.1.1
Avid Audio Extensions Development Kit
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Member Functions
AAX_IACFController Class Referenceabstract

#include <AAX_IACFController.h>

Inheritance diagram for AAX_IACFController:
Inheritance graph
[legend]
Collaboration diagram for AAX_IACFController:
Collaboration graph
[legend]

Description

Interface for the AAX host's view of a single instance of an effect. Used by both clients of the AAXHost and by effect components.

Public Member Functions

virtual AAX_Result GetEffectID (AAX_IString *oEffectID) const =0
 
virtual AAX_Result GetSampleRate (AAX_CSampleRate *oSampleRate) const =0
 CALL: Returns the current literal sample rate. More...
 
virtual AAX_Result GetInputStemFormat (AAX_EStemFormat *oStemFormat) const =0
 CALL: Returns the plug-in's input stem format. More...
 
virtual AAX_Result GetOutputStemFormat (AAX_EStemFormat *oStemFormat) const =0
 CALL: Returns the plug-in's output stem format. More...
 
virtual AAX_Result GetSignalLatency (int32_t *oSamples) const =0
 CALL: Returns the most recent signal (algorithmic) latency that has been published by the plug-in. More...
 
virtual AAX_Result GetCycleCount (AAX_EProperty iWhichCycleCount, AAX_CPropertyValue *oValue) const =0
 CALL: returns the plug-in's current real-time DSP cycle count. More...
 
virtual AAX_Result GetTODLocation (AAX_CTimeOfDay *oTODLocation) const =0
 CALL: Returns the current Time Of Day (TOD) of the system. More...
 
virtual AAX_Result SetSignalLatency (int32_t iNumSamples)=0
 CALL: Submits a request to change the delay compensation value that the host uses to account for the plug-in's signal (algorithmic) latency. More...
 
virtual AAX_Result SetCycleCount (AAX_EProperty *iWhichCycleCounts, AAX_CPropertyValue *iValues, int32_t oNumValues)=0
 CALL: Indicates a change in the plug-in's real-time DSP cycle count. More...
 
virtual AAX_Result PostPacket (AAX_CFieldIndex iFieldIndex, const void *iPayloadP, uint32_t iPayloadSize)=0
 CALL: Posts a data packet to the host for routing between plug-in components. More...
 
virtual AAX_Result GetCurrentMeterValue (AAX_CTypeID iMeterID, float *oMeterValue) const =0
 CALL: Retrieves the current value of a host-managed plug-in meter. More...
 
virtual AAX_Result GetMeterPeakValue (AAX_CTypeID iMeterID, float *oPeakValue) const =0
 CALL: Retrieves the currently held peak value of a host-managed plug-in meter. More...
 
virtual AAX_Result ClearMeterPeakValue (AAX_CTypeID iMeterID) const =0
 CALL: Clears the peak value from a host-managed plug-in meter. More...
 
virtual AAX_Result GetMeterClipped (AAX_CTypeID iMeterID, AAX_CBoolean *oClipped) const =0
 CALL: Retrieves the clipped flag from a host-managed plug-in meter. More...
 
virtual AAX_Result ClearMeterClipped (AAX_CTypeID iMeterID) const =0
 CALL: Clears the clipped flag from a host-managed plug-in meter. More...
 
virtual AAX_Result GetMeterCount (uint32_t *oMeterCount) const =0
 CALL: Retrieves the number of host-managed meters registered by a plug-in. More...
 
virtual AAX_Result GetNextMIDIPacket (AAX_CFieldIndex *oPort, AAX_CMidiPacket *oPacket)=0
 CALL: Retrieves MIDI packets for described MIDI nodes. 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

virtual AAX_Result AAX_IACFController::GetEffectID ( AAX_IString oEffectID) const
pure virtual

virtual AAX_Result AAX_IACFController::GetSampleRate ( AAX_CSampleRate oSampleRate) const
pure virtual

CALL: Returns the current literal sample rate.

Parameters
[out]oSampleRateThe current sample rate
virtual AAX_Result AAX_IACFController::GetInputStemFormat ( AAX_EStemFormat oStemFormat) const
pure virtual

CALL: Returns the plug-in's input stem format.

Parameters
[out]oStemFormatThe current input stem format
virtual AAX_Result AAX_IACFController::GetOutputStemFormat ( AAX_EStemFormat oStemFormat) const
pure virtual

CALL: Returns the plug-in's output stem format.

Parameters
[out]oStemFormatThe current output stem format
virtual AAX_Result AAX_IACFController::GetSignalLatency ( int32_t *  oSamples) const
pure virtual

CALL: Returns the most recent signal (algorithmic) latency that has been published by the plug-in.

This method provides the most recently published signal latency. The host may not have updated its delay compensation to match this signal latency yet, so plug-ins that dynamically change their latency using SetSignalLatency() should always wait for an AAX_eNotificationEvent_SignalLatencyChanged notification before updating its algorithm to incur this latency.

See Also
SetSignalLatency()
Parameters
[out]oSamplesThe number of samples of signal delay published by the plug-in
virtual AAX_Result AAX_IACFController::GetCycleCount ( AAX_EProperty  iWhichCycleCount,
AAX_CPropertyValue oValue 
) const
pure virtual

CALL: returns the plug-in's current real-time DSP cycle count.

This method provides the number of cycles that the AAX host expects the DSP plug-in to consume. The host uses this value when allocating DSP resources for the plug-in.

Note
A plug-in should never apply a DSP algorithm with more demanding resource requirements than what is currently accounted for by the host. To set a higher cycle count value, a plug-in must call AAX_IController::SetCycleCount(), then poll AAX_IController::GetCycleCount() until the new value has been applied. Once the host has recognized the new cycle count value, the plug-in may apply the more demanding algorithm.
Parameters
[in]iWhichCycleCountSelector for the requested cycle count metric. One of:
[in]oValueThe current value of the selected cycle count metric
Todo:
PLACEHOLDER - NOT CURRENTLY IMPLEMENTED IN HOST
virtual AAX_Result AAX_IACFController::GetTODLocation ( AAX_CTimeOfDay oTODLocation) const
pure virtual

CALL: Returns the current Time Of Day (TOD) of the system.

This method provides a plug-in the TOD (in samples) of the current system.

Parameters
[out]oTODLocationThe current Time Of Day as set by the host
virtual AAX_Result AAX_IACFController::SetSignalLatency ( int32_t  iNumSamples)
pure virtual

CALL: Submits a request to change the delay compensation value that the host uses to account for the plug-in's signal (algorithmic) latency.

This method is used to request a change in the number of samples that the AAX host expects the plug-in to delay a signal.

The host is not guaranteed to immediately apply the new latency value. A plug-in should avoid incurring an actual algorithmic latency that is different than the latency accounted for by the host.

To set a new latency value, a plug-in must call AAX_IController::SetSignalLatency(), then wait for an AAX_eNotificationEvent_SignalLatencyChanged notification. Once this notification has been received, AAX_IController::GetSignalLatency() will reflect the updated latency value and the plug-in should immediately apply any relevant algorithmic changes that alter its latency to this new value.

Parameters
[in]iNumSamplesThe number of samples of signal delay that the plug-in requests to incur
virtual AAX_Result AAX_IACFController::SetCycleCount ( AAX_EProperty iWhichCycleCounts,
AAX_CPropertyValue iValues,
int32_t  oNumValues 
)
pure virtual

CALL: Indicates a change in the plug-in's real-time DSP cycle count.

This method is used to request a change in the number of cycles that the AAX host expects the DSP plug-in to consume.

Note
A plug-in should never apply a DSP algorithm with more demanding resource requirements than what is currently accounted for by the host. To set a higher cycle count value, a plug-in must call AAX_IController::SetCycleCount(), then poll AAX_IController::GetCycleCount() until the new value has been applied. Once the host has recognized the new cycle count value, the plug-in may apply the more demanding algorithm.
Parameters
[in]iWhichCycleCountsArray of selectors indicating the specific cycle count metrics that should be set. Each selector must be one of:
[in]iValuesAn array of values requested, one for each of the selected cycle count metrics.
[out]oNumValuesThe number of values provided
Todo:
PLACEHOLDER - NOT CURRENTLY IMPLEMENTED IN HOST
virtual AAX_Result AAX_IACFController::PostPacket ( AAX_CFieldIndex  iFieldIndex,
const void *  iPayloadP,
uint32_t  iPayloadSize 
)
pure virtual

CALL: Posts a data packet to the host for routing between plug-in components.

The posted packet is identified with a AAX_CFieldIndex packet index value, which is equivalent to the target data port's identifier. The packet's payload must have the expected size for the given packet index / data port, as defined when the port is created in Describe. See AAX_IComponentDescriptor::AddDataInPort().

Parameters
[in]iFieldIndexThe packet's destination port
[in]iPayloadPA pointer to the packet's payload data
[in]iPayloadSizeThe size, in bytes, of the payload data
virtual AAX_Result AAX_IACFController::GetCurrentMeterValue ( AAX_CTypeID  iMeterID,
float *  oMeterValue 
) const
pure virtual

CALL: Retrieves the current value of a host-managed plug-in meter.

Parameters
[in]iMeterIDID of the meter that is being queried
[out]oMeterValueThe queried meter's current value
virtual AAX_Result AAX_IACFController::GetMeterPeakValue ( AAX_CTypeID  iMeterID,
float *  oPeakValue 
) const
pure virtual

CALL: Retrieves the currently held peak value of a host-managed plug-in meter.

Parameters
[in]iMeterIDID of the meter that is being queried
[out]oPeakValueThe queried meter's currently held peak value
virtual AAX_Result AAX_IACFController::ClearMeterPeakValue ( AAX_CTypeID  iMeterID) const
pure virtual

CALL: Clears the peak value from a host-managed plug-in meter.

Parameters
[in]iMeterIDID of the meter that is being cleared
virtual AAX_Result AAX_IACFController::GetMeterClipped ( AAX_CTypeID  iMeterID,
AAX_CBoolean oClipped 
) const
pure virtual

CALL: Retrieves the clipped flag from a host-managed plug-in meter.

See AAX_IComponentDescriptor::AddMeters().

Parameters
[in]iMeterIDID of the meter that is being queried.
[out]oClippedThe queried meter's clipped flag.
virtual AAX_Result AAX_IACFController::ClearMeterClipped ( AAX_CTypeID  iMeterID) const
pure virtual

CALL: Clears the clipped flag from a host-managed plug-in meter.

See AAX_IComponentDescriptor::AddMeters().

Parameters
[in]iMeterIDID of the meter that is being cleared.
virtual AAX_Result AAX_IACFController::GetMeterCount ( uint32_t *  oMeterCount) const
pure virtual

CALL: Retrieves the number of host-managed meters registered by a plug-in.

See AAX_IComponentDescriptor::AddMeters().

Parameters
[out]oMeterCountThe number of registered plug-in meters.
virtual AAX_Result AAX_IACFController::GetNextMIDIPacket ( AAX_CFieldIndex oPort,
AAX_CMidiPacket oPacket 
)
pure virtual

CALL: Retrieves MIDI packets for described MIDI nodes.

Parameters
[out]oPortport ID of the MIDI node that has unhandled packet
[out]oPacketThe MIDI packet

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