| 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 | Public Member Functions
AAX_CEffectDirectData Class Reference
AAX SDK Manual » Additional AAX features » Direct data access interface

`#include <AAX_CEffectDirectData.h>`

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

## Description

Default implementation of the AAX_IEffectDirectData interface.

This class provides a default implementation of the AAX_IEffectDirectData interface.

## Public Member Functions
| AAX_CEffectDirectData (void)
virtual | ~AAX_CEffectDirectData (void)
Initialization and uninitialization
AAX_Result | Initialize (IACFUnknown *iController) AAX_OVERRIDE AAX_FINAL
| Non-virtual implementation of AAX_IEfectDirectData::Initialize()
AAX_Result | Uninitialize (void) AAX_OVERRIDE
| Main uninitialization.
Data update callbacks
AAX_Result | TimerWakeup (IACFUnknown *iDataAccessInterface) AAX_OVERRIDE
| Non-virtual implementation of AAX_IEfectDirectData::TimerWakeup()
AAX host and plug-in event notification
AAX_Result | NotificationReceived (AAX_CTypeID inNotificationType, const void *inNotificationData, uint32_t inNotificationDataSize) AAX_OVERRIDE
| Notification Hook.
Private member accessors
AAX_IController * | Controller (void)
| Returns a pointer to the plug-in's controller interface.
AAX_IEffectParameters * | EffectParameters (void)
| Returns a pointer to the plug-in's data model interface.
Public Member Functions inherited from AAX_IEffectDirectData
| ACF_DECLARE_STANDARD_UNKNOWN () ACFMETHOD(InternalQueryInterface)(const acfIID &riid
| AAX_DELETE (AAX_IEffectDirectData &operator=(const AAX_IEffectDirectData &))
AAX host and plug-in event notification
Initialization and 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.
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.

## AAX_CEffectDirectData virtual interface
virtual AAX_Result | Initialize_PrivateDataAccess ()
| Initialization routine for classes that inherit from AAX_CEffectDirectData. This method is called by the default Initialize() implementation after all internal members have been initialized, and provides a safe location in which to perform any additional initialization tasks.
virtual AAX_Result | TimerWakeup_PrivateDataAccess (AAX_IPrivateDataAccess *iPrivateDataAccess)
| Callback provided with an AAX_IPrivateDataAccess. Override this method to access the algorithm's private data using the AAX_IPrivateDataAccess interface.

## Additional Inherited Members
Public Attributes inherited from AAX_IEffectDirectData
void **ppvObjOut | override

## Constructor & Destructor Documentation

## ◆ AAX_CEffectDirectData()

AAX_CEffectDirectData::AAX_CEffectDirectData | ( | void |  | ) |

## ◆ ~AAX_CEffectDirectData()

virtual AAX_CEffectDirectData::~AAX_CEffectDirectData | ( | void |  | ) |
| virtual

## Member Function Documentation

## ◆ Initialize()

AAX_Result AAX_CEffectDirectData::Initialize | ( | IACFUnknown * | iController | ) |
| virtual

Non-virtual implementation of AAX_IEfectDirectData::Initialize()

This implementation initializes all private AAX_CEffectDirectData members and calls Initialize_PrivateDataAccess(). For custom initialization, inherited classes should override Initialize_PrivateDataAccess().

Parameters

  [in] | iController | Unknown pointer that resolves to an AAX_IController.

Implements AAX_IACFEffectDirectData.

## ◆ Uninitialize()

AAX_Result AAX_CEffectDirectData::Uninitialize | ( | void |  | ) |
| virtual

Main uninitialization.

Called when the interface is destroyed.

Implements AAX_IACFEffectDirectData.

## ◆ TimerWakeup()

AAX_Result AAX_CEffectDirectData::TimerWakeup | ( | IACFUnknown * | iDataAccessInterface | ) |
| virtual

Non-virtual implementation of AAX_IEfectDirectData::TimerWakeup()

This implementation interprets the IACFUnknown and forwards the resulting AAX_IPrivateDataAccess to TimerWakeup_PrivateDataAccess()

Parameters

  [in] | iDataAccessInterface | Unknown pointer that resolves to an AAX_IPrivateDataAccess. This interface is only valid for the duration of this method's execution and is discarded when the method returns.

Implements AAX_IACFEffectDirectData.

## ◆ NotificationReceived()

AAX_Result AAX_CEffectDirectData::NotificationReceived | ( | AAX_CTypeID | inNotificationType,
|  | const void * | inNotificationData,
|  | uint32_t | inNotificationDataSize
| ) |  |
| virtual

Notification Hook.

Called from the host to deliver notifications to this object.

Look at the AAX_ENotificationEvent enumeration to see a description of events you can listen for and the data they come with.

- Note
    some notifications are sent only to the plug-in GUI or plug-in data model while other notifications are sent only to the EffectDirectData. If you are not seeing an expected notification, try checking the other plug-in objects' `NotificationReceived()` methods.
- Note
    the host may dispatch notifications synchronously or asynchronously, and calls to this method may occur concurrently on multiple threads.
  Parameters

    [in] | inNotificationType | Type of notification being received. Notifications form the host are one of AAX_ENotificationEvent
    [in] | inNotificationData | Block of incoming notification data
    [in] | inNotificationDataSize | Size of `inNotificationData`, in bytes

Implements AAX_IACFEffectDirectData_V2.

## ◆ Controller()

AAX_IController * AAX_CEffectDirectData::Controller | ( | void |  | ) |

Returns a pointer to the plug-in's controller interface.

Todo:
  Change to GetController to match other AAX_CEffect modules

## ◆ EffectParameters()

AAX_IEffectParameters * AAX_CEffectDirectData::EffectParameters | ( | void |  | ) |

Returns a pointer to the plug-in's data model interface.

Todo:
  Change to GetController to match other AAX_CEffect modules

## ◆ Initialize_PrivateDataAccess()

virtual AAX_Result AAX_CEffectDirectData::Initialize_PrivateDataAccess | ( |  | ) |
| protected virtual

Initialization routine for classes that inherit from AAX_CEffectDirectData. This method is called by the default Initialize() implementation after all internal members have been initialized, and provides a safe location in which to perform any additional initialization tasks.

## ◆ TimerWakeup_PrivateDataAccess()

virtual AAX_Result AAX_CEffectDirectData::TimerWakeup_PrivateDataAccess | ( | AAX_IPrivateDataAccess * | iPrivateDataAccess | ) |
| protected virtual

Callback provided with an AAX_IPrivateDataAccess. Override this method to access the algorithm's private data using the AAX_IPrivateDataAccess interface.

Parameters

  [in] | iPrivateDataAccess | Pointer to an AAX_IPrivateDataAccess interface. This interface is only valid for the duration of this method.

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

- AAX_CEffectDirectData.h