| 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_IACFComponentDescriptor_V3 Class Referenceabstract

`#include <AAX_IACFComponentDescriptor.h>`

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

## Description

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

## Public Member Functions
virtual AAX_Result | AddProcessProc (IACFUnknown *inProperties, AAX_CSelector *outProcIDs, int32_t inProcIDsSize)=0
| Registers one or more algorithm processing entrypoints (process procedures)
Public Member Functions inherited from AAX_IACFComponentDescriptor_V2
virtual AAX_Result | AddTemporaryData (AAX_CFieldIndex inFieldIndex, uint32_t inDataElementSize)=0
| Adds a block of data to a context that is not saved between callbacks and is scaled by the system buffer size.
Public Member Functions inherited from AAX_IACFComponentDescriptor
virtual AAX_Result | Clear ()=0
| Clears the descriptor.
virtual AAX_Result | AddReservedField (AAX_CFieldIndex inFieldIndex, uint32_t inFieldType)=0
| Subscribes a context field to host-provided services or information.
virtual AAX_Result | AddAudioIn (AAX_CFieldIndex inFieldIndex)=0
| Subscribes an audio input context field.
virtual AAX_Result | AddAudioOut (AAX_CFieldIndex inFieldIndex)=0
| Subscribes an audio output context field.
virtual AAX_Result | AddAudioBufferLength (AAX_CFieldIndex inFieldIndex)=0
| Subscribes a buffer length context field.
virtual AAX_Result | AddSampleRate (AAX_CFieldIndex inFieldIndex)=0
| Subscribes a sample rate context field.
virtual AAX_Result | AddClock (AAX_CFieldIndex inFieldIndex)=0
| Subscribes a clock context field.
virtual AAX_Result | AddSideChainIn (AAX_CFieldIndex inFieldIndex)=0
| Subscribes a side-chain input context field.
virtual AAX_Result | AddDataInPort (AAX_CFieldIndex inFieldIndex, uint32_t inPacketSize, AAX_EDataInPortType inPortType)=0
| Adds a custom data port to the algorithm context.
virtual AAX_Result | AddAuxOutputStem (AAX_CFieldIndex inFieldIndex, int32_t inStemFormat, const char inNameUTF8[])=0
| Adds an auxiliary output stem for a plug-in.
virtual AAX_Result | AddPrivateData (AAX_CFieldIndex inFieldIndex, int32_t inDataSize, uint32_t inOptions=AAX_ePrivateDataOptions_DefaultOptions)=0
| Adds a private data port to the algorithm context.
virtual AAX_Result | AddDmaInstance (AAX_CFieldIndex inFieldIndex, AAX_IDma::EMode inDmaMode)=0
| Adds a DMA field to the plug-in's context.
virtual AAX_Result | AddMIDINode (AAX_CFieldIndex inFieldIndex, AAX_EMIDINodeType inNodeType, const char inNodeName[], uint32_t channelMask)=0
| Adds a MIDI node field to the plug-in's context.
virtual AAX_Result | AddProcessProc_Native (AAX_CProcessProc inProcessProc, IACFUnknown *inProperties, AAX_CInstanceInitProc inInstanceInitProc, AAX_CBackgroundProc inBackgroundProc, AAX_CSelector *outProcID)=0
| Registers an algorithm processing entrypoint (process procedure) for the native architecture.
virtual AAX_Result | AddProcessProc_TI (const char inDLLFileNameUTF8[], const char inProcessProcSymbol[], IACFUnknown *inProperties, const char inInstanceInitProcSymbol[], const char inBackgroundProcSymbol[], AAX_CSelector *outProcID)=0
| Registers an algorithm processing entrypoint (process procedure) for the native architecture.
virtual AAX_Result | AddMeters (AAX_CFieldIndex inFieldIndex, const AAX_CTypeID *inMeterIDs, const uint32_t inMeterCount)=0
| Adds a meter field to the plug-in's context.
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.

## Member Function Documentation

## ◆ AddProcessProc()

virtual AAX_Result AAX_IACFComponentDescriptor_V3::AddProcessProc | ( | IACFUnknown * | inProperties,
|  | AAX_CSelector * | outProcIDs,
|  | int32_t | inProcIDsSize
| ) |  |
| pure virtual

Registers one or more algorithm processing entrypoints (process procedures)

Any non-overlapping set of processing entrypoints may be specified. Typically this can be used to specify both Native and TI entrypoints using the same call.

The AAX Library implementation of this method includes backwards compatibility logic to complete the ProcessProc registration on hosts which do not support this method. Therefore plug-in code may use this single registration routine instead of separate calls to AddProcessProc_Native(), AddProcessProc_TI(), etc. regardless of the host version.

The following properties replace the input arguments to the platform-specific registration methods:

AddProcessProc_Native() (AAX_eProperty_PlugInID_Native, AAX_eProperty_PlugInID_AudioSuite)

- AAX_CProcessProc `iProcessProc:` AAX_eProperty_NativeProcessProc (required)
- AAX_CInstanceInitProc `iInstanceInitProc:` AAX_eProperty_NativeInstanceInitProc (optional)
- AAX_CBackgroundProc `iBackgroundProc:` AAX_eProperty_NativeBackgroundProc (optional)

AddProcessProc_TI() (AAX_eProperty_PlugInID_TI)

- `const char inDLLFileNameUTF8[]`: AAX_eProperty_TIDLLFileName (required)
- `const char iProcessProcSymbol[]`: AAX_eProperty_TIProcessProc (required)
- `const char iInstanceInitProcSymbol[]`: AAX_eProperty_TIInstanceInitProc (optional)
- `const char iBackgroundProcSymbol[]`: AAX_eProperty_TIBackgroundProc (optional)

If any platform-specific plug-in ID property is present in `iProperties` then AddProcessProc() will check for the required properties for that platform.

Note
  AAX_eProperty_AudioBufferLength will be ignored for the Native and AudioSuite ProcessProcs since it should only be used for AAX DSP.

Parameters

  [in] | inProperties | A property map for this processing callback. The property map's values are copied by the host and associated with the new ProcessProc. The property map contents are unchanged and the map may be re-used when registering additional ProcessProcs.
  [out] | outProcIDs |

Todo:
  document this parameter Returned array will be NULL-terminated

Parameters

  [in] | inProcIDsSize | The size of the array provided to `oProcIDs`. If `oProcIDs` is non-NULL but `iProcIDsSize` is not large enough for all of the registered ProcessProcs (plus one for NULL termination) then this method will fail with AAX_ERROR_ARGUMENT_BUFFER_OVERFLOW

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

- AAX_IACFComponentDescriptor.h