AAX SDK  2.4.1
Avid Audio Extensions Development Kit
Classes | Typedefs | Enumerations
AAX_Callbacks.h File Reference
#include "AAX.h"

Go to the source code of this file.

Description

AAX callback prototypes and ProcPtr definitions

Classes

class  AAX_Component< aContextType >
 Empty class containing type declarations for the AAX algorithm and associated callbacks. More...
 

Typedefs

typedef IACFUnknown *AAX_CALLBACKAAXCreateObjectProc(void)
 
typedef AAX_Component< void >::CProcessProc AAX_CProcessProc
 A user-defined callback that AAX calls to process data packets and/or audio. More...
 
typedef AAX_Component< void >::CPacketAllocator AAX_CPacketAllocator
 Used by AAX_SchedulePacket() More...
 
typedef AAX_Component< void >::CInstanceInitProc AAX_CInstanceInitProc
 A user-defined callback that AAX calls to notify the component that an instance is being added or removed. More...
 
typedef AAX_Component< void >::CBackgroundProc AAX_CBackgroundProc
 A user-defined callback that AAX calls in the AAX Idle time. More...
 
typedef AAX_Component< void >::CInitPrivateDataProc AAX_CInitPrivateDataProc
 A user-defined callback to initialize a private data block. More...
 

Enumerations

enum  AAX_CProcPtrID {
  kAAX_ProcPtrID_Create_EffectParameters = 0 ,
  kAAX_ProcPtrID_Create_EffectGUI = 1 ,
  kAAX_ProcPtrID_Create_HostProcessor = 3 ,
  kAAX_ProcPtrID_Create_EffectDirectData = 5
}
 

Typedef Documentation

◆ AAXCreateObjectProc

typedef IACFUnknown* AAX_CALLBACK* AAXCreateObjectProc(void)

◆ AAX_CProcessProc

typedef AAX_Component<void>::CProcessProc AAX_CProcessProc

A user-defined callback that AAX calls to process data packets and/or audio.

iContextPtrsBegin
A vector of context pointers. Each element points to the context for one instance of this component. iContextPtrsEnd gives the upper bound of the vector and (inContextPtrsEnd - inContextPtrsBegin) gives the count.
iContextPtrsEnd
The upper bound of the vector at iContextPtrsBegin. (inContextPtrsEnd - iContextPtrsBegin) gives the count of this vector.

The instance vector was originally NULL-terminated in earlier versions of this API. However, the STL-style begin/end pattern was suggested as a more general representation that could, for instance, allow a vector to be split for parallel processing.

◆ AAX_CPacketAllocator

typedef AAX_Component<void>::CPacketAllocator AAX_CPacketAllocator

Used by AAX_SchedulePacket()

Deprecated:

A AAX_CProcessProc that calls AAX_SchedulePacket() must include a AAX_CPacketAllocator field in its context and register that field with AAX. AAX will then populate that field with a AAX_CPacketAllocator to pass to AAX_SchedulePacket().

See also
AAX_SchedulePacket()

◆ AAX_CInstanceInitProc

typedef AAX_Component<void>::CInstanceInitProc AAX_CInstanceInitProc

A user-defined callback that AAX calls to notify the component that an instance is being added or removed.

This optional callback allows the component to keep per-instance data. It's called before the instance appears in the list supplied to CProcessProc, and then after the instance is removed from the list.

iInstanceContextPtr
A pointer to the context data structure of the instance being added or removed from the processing list.
iAction
Indicates the action that triggered the init callback, e.g. whether the instance is being added or removed.
Return values
Shouldreturn 0 on success, anything else on failure. Failure will prevent the instance from being created.

◆ AAX_CBackgroundProc

typedef AAX_Component<void>::CBackgroundProc AAX_CBackgroundProc

A user-defined callback that AAX calls in the AAX Idle time.

This optional callback allows the component to do background processing in whatever manner the plug-in developer desires

Return values
Shouldreturn 0 on success, anything else on failure. Failure will cause the AAX host to signal an error up the callchain.

◆ AAX_CInitPrivateDataProc

typedef AAX_Component<void>::CInitPrivateDataProc AAX_CInitPrivateDataProc

A user-defined callback to initialize a private data block.

Deprecated:

A component that requires private data supplies AAX_CInitPrivateDataProc callbacks to set its private data to the state it should be in at the start of audio. The component first declares one or more pointers to private data in its context. It then registers each such field with AAX along with its data size, various other attributes, and a AAX_CInitPrivateDataProc. The AAX_CInitPrivateDataProc always runs on the host system, not the DSP. AAX allocates storage for each private data block and calls its associated AAX_CInitPrivateDataProc to initialize it. If the component's AAX_CProcessProc runs on external hardware, AAX initializes private data blocks on the host system and copies them to the remote system.

See also
alg_pd_init
inFieldIndex
The port ID of the block to be initialized, as generated by AAX_FIELD_INDEX(). A component can register a separate AAX_CInitPrivateDataProc for each of its private data blocks, or it can use fewer functions that switch on inFieldIndex.
inNewBlock
A pointer to the block to be initialized. If the component runs externally, AAX will copy this block to the remote system after it is initialized.
inSize
The size of the block to be initialized. If a component has multiple private blocks that only need to be zeroed out, say, it can use a single AAX_CInitPrivateDataProc for all of these blocks that zeroes them out according to inSize.
inController
A pointer to the current Effect instance's AAX_IController.
Note
Do not directly reference data from this interface when populating iNewBlock. The data in this block must be fully self-contained to ensure portability to a new device or memory space.
Deprecated:

Enumeration Type Documentation

◆ AAX_CProcPtrID

Enumerator
kAAX_ProcPtrID_Create_EffectParameters 

AAX_IEffectParameters creation procedure

kAAX_ProcPtrID_Create_EffectGUI 

AAX_IEffectGUI creation procedure

kAAX_ProcPtrID_Create_HostProcessor 

AAX_IHostProcessor creation procedure

kAAX_ProcPtrID_Create_EffectDirectData 

AAX_IEffectDirectData creation procedure, used by PIs that want direct access to their alg memory