![]() |
AAX SDK
2.4.1
Avid Audio Extensions Development Kit
|
#include "AAX.h"
Go to the source code of this file.
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_CALLBACK * | AAXCreateObjectProc(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 IACFUnknown* AAX_CALLBACK* AAXCreateObjectProc(void) |
typedef AAX_Component<void>::CProcessProc AAX_CProcessProc |
A user-defined callback that AAX calls to process data packets and/or audio.
iContextPtrsEnd
gives the upper bound of the vector and (inContextPtrsEnd - inContextPtrsBegin)
gives the count.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.
typedef AAX_Component<void>::CPacketAllocator AAX_CPacketAllocator |
Used by AAX_SchedulePacket()
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().
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.
Should | return 0 on success, anything else on failure. Failure will prevent the instance from being created. |
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
Should | return 0 on success, anything else on failure. Failure will cause the AAX host to signal an error up the callchain. |
typedef AAX_Component<void>::CInitPrivateDataProc AAX_CInitPrivateDataProc |
A user-defined callback to initialize a private data block.
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.
inFieldIndex
.inSize
.iNewBlock
. The data in this block must be fully self-contained to ensure portability to a new device or memory space. enum 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 |