AAX SDK  2.4.1
Avid Audio Extensions Development Kit
List of all members | Public Member Functions
AAX_CEffectDirectData Class Reference

#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() More...
 
AAX_Result Uninitialize (void) AAX_OVERRIDE
 Main uninitialization. More...
 
Data update callbacks
AAX_Result TimerWakeup (IACFUnknown *iDataAccessInterface) AAX_OVERRIDE
 Non-virtual implementation of AAX_IEfectDirectData::TimerWakeup() More...
 
AAX host and plug-in event notification
AAX_Result NotificationReceived (AAX_CTypeID inNotificationType, const void *inNotificationData, uint32_t inNotificationDataSize) AAX_OVERRIDE
 Notification Hook. More...
 
Private member accessors
AAX_IControllerController (void)
 Returns a pointer to the plug-in's controller interface. More...
 
AAX_IEffectParametersEffectParameters (void)
 Returns a pointer to the plug-in's data model interface. More...
 
- 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. More...
 
virtual acfUInt32 ACFMETHODCALLTYPE AddRef (void)=0
 Increments reference count. More...
 
virtual acfUInt32 ACFMETHODCALLTYPE Release (void)=0
 Decrements reference count. More...
 

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. More...
 
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. More...
 

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]iControllerUnknown 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]iDataAccessInterfaceUnknown 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]inNotificationTypeType of notification being received. Notifications form the host are one of AAX_ENotificationEvent
    [in]inNotificationDataBlock of incoming notification data
    [in]inNotificationDataSizeSize 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 ( )
protectedvirtual

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)
protectedvirtual

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

Parameters
[in]iPrivateDataAccessPointer 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: