| AAX SDK 2.8.0 Avid Audio Extensions Development Kit

- Welcome
- Manual
- Classes
- Files
- Lists
- Support

- Class List
- Class Index
- Class Hierarchy
- Class Members

Loading...
Searching...
No Matches
List of all members
AAX_IACFEffectDirectData Class Referenceabstract
AAX SDK Manual » Additional AAX features » Direct data access interface

`#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.
virtual AAX_Result | Uninitialize ()=0
| Main uninitialization.
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.
Public Member Functions inherited from IACFUnknown
virtual BEGIN_ACFINTERFACE ACFRESULT ACFMETHODCALLTYPE | QueryInterface (const acfIID &iid, void **ppOut)=0
| Returns pointers to supported interfaces.
virtual acfUInt32 ACFMETHODCALLTYPE | AddRef (void)=0
| Increments reference count.
virtual acfUInt32 ACFMETHODCALLTYPE | Release (void)=0
| Decrements reference count.

## Member Function Documentation

## ◆ Initialize()

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

Main initialization.

Called when the interface is created

Parameters

  [in] | iController | A 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] | iDataAccessInterface | Reference 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:

- AAX_IACFEffectDirectData.h