![]() |
AAX SDK
2.4.1
Avid Audio Extensions Development Kit
|
#include <AAX_VController.h>
Version-managed concrete Controller class.
For usage information, see Host-provided interfaces
Public Member Functions | |
AAX_VController (IACFUnknown *pUnknown) | |
~AAX_VController () override | |
AAX_Result | GetEffectID (AAX_IString *outEffectID) const AAX_OVERRIDE |
AAX_Result | GetSampleRate (AAX_CSampleRate *outSampleRate) const AAX_OVERRIDE |
CALL: Returns the current literal sample rate. More... | |
AAX_Result | GetInputStemFormat (AAX_EStemFormat *outStemFormat) const AAX_OVERRIDE |
CALL: Returns the plug-in's input stem format. More... | |
AAX_Result | GetOutputStemFormat (AAX_EStemFormat *outStemFormat) const AAX_OVERRIDE |
CALL: Returns the plug-in's output stem format. More... | |
AAX_Result | GetSignalLatency (int32_t *outSamples) const AAX_OVERRIDE |
CALL: Returns the most recent signal (algorithmic) latency that has been published by the plug-in. More... | |
AAX_Result | GetHybridSignalLatency (int32_t *outSamples) const AAX_OVERRIDE |
CALL: Returns the latency between the algorithm normal input samples and the inputs returning from the hyrbid component. More... | |
AAX_Result | GetPlugInTargetPlatform (AAX_CTargetPlatform *outTargetPlatform) const AAX_OVERRIDE |
CALL: Returns execution platform type, native or TI. More... | |
AAX_Result | GetIsAudioSuite (AAX_CBoolean *outIsAudioSuite) const AAX_OVERRIDE |
CALL: Returns true for AudioSuite instances. More... | |
AAX_Result | GetCycleCount (AAX_EProperty inWhichCycleCount, AAX_CPropertyValue *outNumCycles) const AAX_OVERRIDE |
CALL: returns the plug-in's current real-time DSP cycle count. More... | |
AAX_Result | GetTODLocation (AAX_CTimeOfDay *outTODLocation) const AAX_OVERRIDE |
CALL: Returns the current Time Of Day (TOD) of the system. More... | |
AAX_Result | GetCurrentAutomationTimestamp (AAX_CTransportCounter *outTimestamp) const AAX_OVERRIDE |
CALL: Returns the current automation timestamp if called during the GenerateCoefficients() call AND the generation of coefficients is being triggered by an automation point instead of immediate changes. More... | |
AAX_Result | GetHostName (AAX_IString *outHostNameString) const AAX_OVERRIDE |
CALL: Returns name of the host application this plug-in instance is being loaded by. This string also typically includes version information. More... | |
AAX_Result | SetSignalLatency (int32_t inNumSamples) AAX_OVERRIDE |
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... | |
AAX_Result | SetCycleCount (AAX_EProperty *inWhichCycleCounts, AAX_CPropertyValue *iValues, int32_t numValues) AAX_OVERRIDE |
CALL: Indicates a change in the plug-in's real-time DSP cycle count. More... | |
AAX_Result | PostPacket (AAX_CFieldIndex inFieldIndex, const void *inPayloadP, uint32_t inPayloadSize) AAX_OVERRIDE |
CALL: Posts a data packet to the host for routing between plug-in components. More... | |
AAX_Result | SendNotification (AAX_CTypeID inNotificationType, const void *inNotificationData, uint32_t inNotificationDataSize) AAX_OVERRIDE |
CALL: Dispatch a notification. More... | |
AAX_Result | SendNotification (AAX_CTypeID inNotificationType) AAX_OVERRIDE |
CALL: Sends an event to the GUI (no payload)
| |
AAX_Result | GetCurrentMeterValue (AAX_CTypeID inMeterID, float *outMeterValue) const AAX_OVERRIDE |
CALL: Retrieves the current value of a host-managed plug-in meter. More... | |
AAX_Result | GetMeterPeakValue (AAX_CTypeID inMeterID, float *outMeterPeakValue) const AAX_OVERRIDE |
CALL: Retrieves the currently held peak value of a host-managed plug-in meter. More... | |
AAX_Result | ClearMeterPeakValue (AAX_CTypeID inMeterID) const AAX_OVERRIDE |
CALL: Clears the peak value from a host-managed plug-in meter. More... | |
AAX_Result | GetMeterClipped (AAX_CTypeID inMeterID, AAX_CBoolean *outClipped) const AAX_OVERRIDE |
CALL: Retrieves the clipped flag from a host-managed plug-in meter. More... | |
AAX_Result | ClearMeterClipped (AAX_CTypeID inMeterID) const AAX_OVERRIDE |
CALL: Clears the clipped flag from a host-managed plug-in meter. More... | |
AAX_Result | GetMeterCount (uint32_t *outMeterCount) const AAX_OVERRIDE |
CALL: Retrieves the number of host-managed meters registered by a plug-in. More... | |
AAX_Result | GetNextMIDIPacket (AAX_CFieldIndex *outPort, AAX_CMidiPacket *outPacket) AAX_OVERRIDE |
CALL: Retrieves MIDI packets for described MIDI nodes. More... | |
virtual AAX_IPageTable * | CreateTableCopyForEffect (AAX_CPropertyValue inManufacturerID, AAX_CPropertyValue inProductID, AAX_CPropertyValue inPlugInID, uint32_t inTableType, int32_t inTablePageSize) const AAX_OVERRIDE |
Copy the current page table data for a particular plug-in type. More... | |
virtual AAX_IPageTable * | CreateTableCopyForLayout (const char *inEffectID, const char *inLayoutName, uint32_t inTableType, int32_t inTablePageSize) const AAX_OVERRIDE |
Copy the current page table data for a particular plug-in effect and page table layout. More... | |
virtual AAX_IPageTable * | CreateTableCopyForEffectFromFile (const char *inPageTableFilePath, AAX_ETextEncoding inFilePathEncoding, AAX_CPropertyValue inManufacturerID, AAX_CPropertyValue inProductID, AAX_CPropertyValue inPlugInID, uint32_t inTableType, int32_t inTablePageSize) const AAX_OVERRIDE |
Copy the current page table data for a particular plug-in type. More... | |
virtual AAX_IPageTable * | CreateTableCopyForLayoutFromFile (const char *inPageTableFilePath, AAX_ETextEncoding inFilePathEncoding, const char *inLayoutName, uint32_t inTableType, int32_t inTablePageSize) const AAX_OVERRIDE |
Copy the current page table data for a particular plug-in effect and page table layout. More... | |
![]() | |
virtual | ~AAX_IController (void) |
AAX_VController::AAX_VController | ( | IACFUnknown * | pUnknown | ) |
|
override |
|
virtual |
Implements AAX_IController.
|
virtual |
CALL: Returns the current literal sample rate.
[out] | outSampleRate | The current sample rate |
Implements AAX_IController.
|
virtual |
CALL: Returns the plug-in's input stem format.
[out] | outStemFormat | The current input stem format |
Implements AAX_IController.
|
virtual |
CALL: Returns the plug-in's output stem format.
[out] | outStemFormat | The current output stem format |
Implements AAX_IController.
|
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.
[out] | outSamples | The number of samples of signal delay published by the plug-in |
Implements AAX_IController.
|
virtual |
CALL: Returns the latency between the algorithm normal input samples and the inputs returning from the hyrbid component.
This method provides the number of samples that the AAX host expects the plug-in to delay a signal. The host will use this value when accounting for latency across the system.
[out] | outSamples | The number of samples of hybrid signal delay |
Implements AAX_IController.
|
virtual |
CALL: Returns execution platform type, native or TI.
[out] | outTargetPlatform | The type of the current execution platform as one of AAX_ETargetPlatform. |
Implements AAX_IController.
|
virtual |
CALL: Returns true for AudioSuite instances.
[out] | outIsAudioSuite | The boolean flag which indicate true for AudioSuite instances. |
Implements AAX_IController.
|
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.
[in] | inWhichCycleCount | Selector for the requested cycle count metric. One of: |
[in] | outNumCycles | The current value of the selected cycle count metric |
Implements AAX_IController.
|
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. TOD is the number of samples that the playhead has traversed since the beginning of playback.
[out] | outTODLocation | The current Time Of Day as set by the host |
Implements AAX_IController.
|
virtual |
CALL: Returns the current automation timestamp if called during the GenerateCoefficients() call AND the generation of coefficients is being triggered by an automation point instead of immediate changes.
[out] | outTimestamp | The current coefficient timestamp. Sample count from transport start. |
Implements AAX_IController.
|
virtual |
CALL: Returns name of the host application this plug-in instance is being loaded by. This string also typically includes version information.
[out] | outHostNameString | The name of the current host application. |
Implements AAX_IController.
|
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.
[in] | inNumSamples | The number of samples of signal delay that the plug-in requests to incur |
Implements AAX_IController.
|
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.
[in] | inWhichCycleCounts | Array of selectors indicating the specific cycle count metrics that should be set. Each selector must be one of: |
[in] | iValues | An array of values requested, one for each of the selected cycle count metrics. |
[in] | numValues | The size of iValues |
Implements AAX_IController.
|
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().
[in] | inFieldIndex | The packet's destination port |
[in] | inPayloadP | A pointer to the packet's payload data |
[in] | inPayloadSize | The size, in bytes, of the payload data |
Implements AAX_IController.
|
virtual |
CALL: Dispatch a notification.
The notification is handled by the host and may be delivered back to other plug-in components such as the GUI or data model (via AAX_IEffectGUI::NotificationReceived() or AAX_IEffectParameters::NotificationReceived(), respectively) depending on the notification type.
The host may choose to dispatch the posted notification either synchronously or asynchronously.
See the AAX_ENotificationEvent documentation for more information.
This method is supported by AAX V2 Hosts only. Check the return code on the return of this function. If the error is AAX_ERROR_UNIMPLEMENTED, your plug-in is being loaded into a host that doesn't support this feature.
[in] | inNotificationType | Type of notification to send |
[in] | inNotificationData | Block of notification data |
[in] | inNotificationDataSize | Size of inNotificationData , in bytes |
Implements AAX_IController.
|
virtual |
CALL: Sends an event to the GUI (no payload)
This version of the notification method is a convenience for notifications which do not take any payload data. Internally, it simply calls AAX_IController::SendNotification(AAX_CTypeID, const void*, uint32_t) with a null payload.
[in] | inNotificationType | Type of notification to send |
Implements AAX_IController.
|
virtual |
CALL: Retrieves the current value of a host-managed plug-in meter.
[in] | inMeterID | ID of the meter that is being queried |
[out] | outMeterValue | The queried meter's current value |
Implements AAX_IController.
|
virtual |
CALL: Retrieves the currently held peak value of a host-managed plug-in meter.
[in] | inMeterID | ID of the meter that is being queried |
[out] | outMeterPeakValue | The queried meter's currently held peak value |
Implements AAX_IController.
|
virtual |
CALL: Clears the peak value from a host-managed plug-in meter.
[in] | inMeterID | ID of the meter that is being cleared |
Implements AAX_IController.
|
virtual |
CALL: Retrieves the clipped flag from a host-managed plug-in meter.
See AAX_IComponentDescriptor::AddMeters().
[in] | inMeterID | ID of the meter that is being queried. |
[out] | outClipped | The queried meter's clipped flag. |
Implements AAX_IController.
|
virtual |
CALL: Clears the clipped flag from a host-managed plug-in meter.
See AAX_IComponentDescriptor::AddMeters().
[in] | inMeterID | ID of the meter that is being cleared. |
Implements AAX_IController.
|
virtual |
CALL: Retrieves the number of host-managed meters registered by a plug-in.
See AAX_IComponentDescriptor::AddMeters().
[out] | outMeterCount | The number of registered plug-in meters. |
Implements AAX_IController.
|
virtual |
CALL: Retrieves MIDI packets for described MIDI nodes.
[out] | outPort | port ID of the MIDI node that has unhandled packet |
[out] | outPacket | The MIDI packet |
Implements AAX_IController.
|
virtual |
Copy the current page table data for a particular plug-in type.
The host may restrict plug-ins to only copying page table data from certain plug-in types, such as plug-ins from the same manufacturer or plug-in types within the same effect.
See Page Table Guide for more information about page tables.
inTableType
is unknown or if inTablePageSize
is not a supported size for the given table type.[in] | inManufacturerID | Manufacturer ID of the desired plug-in type |
[in] | inProductID | Product ID of the desired plug-in type |
[in] | inPlugInID | Type ID of the desired plug-in type (AAX_eProperty_PlugInID_Native, AAX_eProperty_PlugInID_TI) |
[in] | inTableType | Four-char type identifier for the requested table type (e.g. 'PgTL' , 'Av81' , etc.) |
[in] | inTablePageSize | Page size for the requested table. Some tables support multiple page sizes. |
Implements AAX_IController.
|
virtual |
Copy the current page table data for a particular plug-in effect and page table layout.
The host may restrict plug-ins to only copying page table data from certain effects, such as effects registered within the current AAX plug-in bundle.
See Page Table Guide for more information about page tables.
inLayoutName
is not a valid layout name for the page tables registered for the effect.[in] | inEffectID | Effect ID for the desired effect. See AAX_ICollection::AddEffect() |
[in] | inLayoutName | Page table layout name ("name" attribute of the PTLayout XML tag) |
[in] | inTableType | Four-char type identifier for the requested table type (e.g. 'PgTL' , 'Av81' , etc.) |
[in] | inTablePageSize | Page size for the requested table. Some tables support multiple page sizes. |
Implements AAX_IController.
|
virtual |
Copy the current page table data for a particular plug-in type.
inTableType
is unknown or if inTablePageSize
is not a supported size for the given table type.[in] | inPageTableFilePath | Path to XML page table file. |
[in] | inFilePathEncoding | File path text encoding. |
[in] | inManufacturerID | Manufacturer ID of the desired plug-in type |
[in] | inProductID | Product ID of the desired plug-in type |
[in] | inPlugInID | Type ID of the desired plug-in type (AAX_eProperty_PlugInID_Native, AAX_eProperty_PlugInID_TI) |
[in] | inTableType | Four-char type identifier for the requested table type (e.g. 'PgTL' , 'Av81' , etc.) |
[in] | inTablePageSize | Page size for the requested table. Some tables support multiple page sizes. |
Implements AAX_IController.
|
virtual |
Copy the current page table data for a particular plug-in effect and page table layout.
inLayoutName
is not a valid layout name for the page tables file.[in] | inPageTableFilePath | Path to XML page table file. |
[in] | inFilePathEncoding | File path text encoding. |
[in] | inLayoutName | Page table layout name ("name" attribute of the PTLayout XML tag) |
[in] | inTableType | Four-char type identifier for the requested table type (e.g. 'PgTL' , 'Av81' , etc.) |
[in] | inTablePageSize | Page size for the requested table. Some tables support multiple page sizes. |
Implements AAX_IController.