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

#include <AAX_IACFEffectDirectData.h>

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

Description

Optional interface for direct access to a plug-in's alg memory.

Direct data access allows a plug-in to directly manipulate the data in its algorithm's private data blocks. The callback methods in this interface provide a safe context from which this kind of access may be attempted.

Public Member Functions

Initialization and uninitialization
virtual AAX_Result Initialize (IACFUnknown *iController)=0
 Main initialization. More...
 
virtual AAX_Result Uninitialize ()=0
 Main uninitialization. More...
 
Safe data update callbacks

These callbacks provide a safe context from which to directly access the algorithm's private data blocks. Each callback is called regularly with roughly the schedule of its corresponding AAX_IEffectParameters counterpart.

Note
Do not attempt to directly access the algorithm's data from outside these callbacks. Instead, use the packet system to route data to the algorithm using the AAX host's buffered data transfer facilities.
virtual AAX_Result TimerWakeup (IACFUnknown *iDataAccessInterface)=0
 Periodic wakeup callback for idle-time operations. 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

◆ Initialize()

virtual AAX_Result AAX_IACFEffectDirectData::Initialize ( IACFUnknown iController)
pure virtual

Main initialization.

Called when the interface is created

Parameters
[in]iControllerA versioned reference that resolves to an AAX_IController interface

Implemented in AAX_CEffectDirectData.

◆ Uninitialize()

virtual AAX_Result AAX_IACFEffectDirectData::Uninitialize ( )
pure virtual

Main uninitialization.

Called when the interface is destroyed.

Implemented in AAX_CEffectDirectData.

◆ TimerWakeup()

virtual AAX_Result AAX_IACFEffectDirectData::TimerWakeup ( IACFUnknown iDataAccessInterface)
pure virtual

Periodic wakeup callback for idle-time operations.

Direct alg data updates must be triggered from this method.

This method is called from the host using a non-main thread. In general, it should be driven at approximately one call per 30 ms. However, the wakeup is not guaranteed to be called at any regular interval - for example, it could be held off by a high real-time processing load - and there is no host contract regarding maximum latency between wakeup calls.

This wakeup thread runs continuously and cannot be armed/disarmed or by the plug-in.

Parameters
[in]iDataAccessInterfaceReference to the direct access interface.
Note
It is not safe to save this address or call the methods in this interface from other threads.

Implemented in AAX_CEffectDirectData.


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