AAX SDK  2.1.1
Avid Audio Extensions Development Kit
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Member Functions
AAX_IACFComponentDescriptor_V2 Class Referenceabstract

#include <AAX_IACFComponentDescriptor.h>

Inheritance diagram for AAX_IACFComponentDescriptor_V2:
Inheritance graph
[legend]
Collaboration diagram for AAX_IACFComponentDescriptor_V2:
Collaboration graph
[legend]

Description

Versioned description interface for an AAX plug-in algorithm callback.

Public Member Functions

virtual AAX_Result AddTemporaryData (AAX_CFieldIndex iFieldIndex, uint32_t iDataElementSize)=0
 Adds a block of data to a context that is not saved between callbacks and is scaled by the system buffer size. More...
 
- Public Member Functions inherited from AAX_IACFComponentDescriptor
virtual AAX_Result Clear ()=0
 Clears the descriptor. More...
 
virtual AAX_Result AddReservedField (AAX_CFieldIndex iFieldIndex, uint32_t iFieldType)=0
 Subscribes a context field to host-provided services or information. More...
 
virtual AAX_Result AddAudioIn (AAX_CFieldIndex iFieldIndex)=0
 Subscribes an audio input context field. More...
 
virtual AAX_Result AddAudioOut (AAX_CFieldIndex iFieldIndex)=0
 Subscribes an audio output context field. More...
 
virtual AAX_Result AddAudioBufferLength (AAX_CFieldIndex iFieldIndex)=0
 Subscribes a buffer length context field. More...
 
virtual AAX_Result AddSampleRate (AAX_CFieldIndex iFieldIndex)=0
 Subscribes a sample rate context field. More...
 
virtual AAX_Result AddClock (AAX_CFieldIndex iFieldIndex)=0
 Subscribes a clock context field. More...
 
virtual AAX_Result AddSideChainIn (AAX_CFieldIndex iFieldIndex)=0
 Subscribes a side-chain input context field. More...
 
virtual AAX_Result AddDataInPort (AAX_CFieldIndex iFieldIndex, uint32_t iPacketSize, AAX_EDataInPortType iPortType)=0
 Adds a custom data port to the algorithm context. More...
 
virtual AAX_Result AddAuxOutputStem (AAX_CFieldIndex iFieldIndex, int32_t iStemFormat, const char iNameUTF8[])=0
 Adds an auxiliary output stem for a plug-in. More...
 
virtual AAX_Result AddPrivateData (AAX_CFieldIndex iFieldIndex, int32_t iDataSize, uint32_t iOptions=AAX_ePrivateDataOptions_DefaultOptions)=0
 Adds a private data port to the algorithm context. More...
 
virtual AAX_Result AddDmaInstance (AAX_CFieldIndex iFieldIndex, AAX_IDma::EMode iDmaMode)=0
 Adds a DMA field to the plug-in's context. More...
 
virtual AAX_Result AddMIDINode (AAX_CFieldIndex iFieldIndex, AAX_EMIDINodeType iNodeType, const char iNodeName[], uint32_t channelMask)=0
 Add your MIDI node objects as context fields. More...
 
virtual AAX_Result AddProcessProc_Native (AAX_CProcessProc iProcessProc, IACFUnknown *iProperties=NULL, AAX_CInstanceInitProc iInstanceInitProc=NULL, AAX_CBackgroundProc iBackgroundProc=NULL, AAX_CSelector *oProcID=NULL)=0
 Registers an algorithm processing entrypoint (process procedure) for the native architecture. More...
 
virtual AAX_Result AddProcessProc_TI (const char inDLLFileNameUTF8[], const char iProcessProcSymbol[], IACFUnknown *iProperties=NULL, const char iInstanceInitProcSymbol[]=NULL, const char iBackgroundProcSymbol[]=NULL, AAX_CSelector *oProcID=NULL)=0
 Registers an algorithm processing entrypoint (process procedure) for the native architecture. More...
 
virtual AAX_Result AddMeters (AAX_CFieldIndex iFieldIndex, const AAX_CTypeID *iMeterIDs, const uint32_t iMeterCount)=0
 Add a meter field to the plug-in's context. More...
 
- 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...
 

Member Function Documentation

virtual AAX_Result AAX_IACFComponentDescriptor_V2::AddTemporaryData ( AAX_CFieldIndex  iFieldIndex,
uint32_t  iDataElementSize 
)
pure virtual

Adds a block of data to a context that is not saved between callbacks and is scaled by the system buffer size.

This can be very useful if you use block processing and need to store intermediate results. Just specify your base element size and the system will scale the overall block size by the buffer size. For example, to create a buffer of floats that is the length of the block, specify 4 bytes as the elementsize.

This data block does not retain state across callback and can also be reused across instances on memory contrained systems.

Parameters
[in]iFieldIndexUnique identifier for the port, generated using AAX_FIELD_INDEX
[in]iDataElementSizeThe size of a single piece of data in the block. This number will be multipied by the processing block size to determine total block size.

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