| AAX SDK 2.6.1 Avid Audio Extensions Development Kit

- Welcome
- Manual
- Classes
- Files
- Lists
- Support

- File List
- File Members

Loading...
Searching...
No Matches
AAX_IACFComponentDescriptor.h
Go to the documentation of this file.
1/*================================================================================================*/
2/*
3 *
4 * Copyright 2013-2017, 2023 Avid Technology, Inc.
5 * All rights reserved.
6 *
7 * CONFIDENTIAL: this document contains confidential information of Avid. Do
8 * not disclose to any third party. Use of the information contained in this
9 * document is subject to an Avid SDK license.
10 *
11 */
12
19/*================================================================================================*/
20
21
22#ifndef _AAX_IACFCOMPONENTDESCRIPTOR_H_
23#define _AAX_IACFCOMPONENTDESCRIPTOR_H_
24
25#include "AAX.h"
26#include "AAX_Callbacks.h"
27#include "AAX_IDma.h"
28
29#ifdef __clang__
30#pragma clang diagnostic push
31#pragma clang diagnostic ignored "-Wnon-virtual-dtor"
32#endif
33
34#include "acfunknown.h"
35
36
39 class AAX_IACFComponentDescriptor : public IACFUnknown
40{
41 public:
42 virtual AAX_Result Clear () = 0;
43 virtual AAX_Result AddReservedField ( AAX_CFieldIndex inFieldIndex, uint32_t inFieldType ) = 0;
44 virtual AAX_Result AddAudioIn ( AAX_CFieldIndex inFieldIndex ) = 0;
45 virtual AAX_Result AddAudioOut ( AAX_CFieldIndex inFieldIndex ) = 0;
46 virtual AAX_Result AddAudioBufferLength ( AAX_CFieldIndex inFieldIndex ) = 0;
47 virtual AAX_Result AddSampleRate ( AAX_CFieldIndex inFieldIndex ) = 0;
48 virtual AAX_Result AddClock ( AAX_CFieldIndex inFieldIndex ) = 0;
49 virtual AAX_Result AddSideChainIn ( AAX_CFieldIndex inFieldIndex ) = 0;
50 virtual AAX_Result AddDataInPort ( AAX_CFieldIndex inFieldIndex, uint32_t inPacketSize, AAX_EDataInPortType inPortType) = 0;
51 virtual AAX_Result AddAuxOutputStem ( AAX_CFieldIndex inFieldIndex, int32_t inStemFormat, const char inNameUTF8[]) = 0;
52 virtual AAX_Result AddPrivateData ( AAX_CFieldIndex inFieldIndex, int32_t inDataSize, uint32_t inOptions = AAX_ePrivateDataOptions_DefaultOptions ) = 0;
53 virtual AAX_Result AddDmaInstance ( AAX_CFieldIndex inFieldIndex, AAX_IDma::EMode inDmaMode ) = 0;
54 virtual AAX_Result AddMIDINode ( AAX_CFieldIndex inFieldIndex, AAX_EMIDINodeType inNodeType, const char inNodeName[], uint32_t channelMask ) = 0;
55
56 virtual AAX_Result AddProcessProc_Native (
57 AAX_CProcessProc inProcessProc,
58 IACFUnknown * inProperties,
59 AAX_CInstanceInitProc inInstanceInitProc,
60 AAX_CBackgroundProc inBackgroundProc,
61 AAX_CSelector * outProcID) = 0;
62 virtual AAX_Result AddProcessProc_TI (
63 const char inDLLFileNameUTF8 [],
64 const char inProcessProcSymbol [],
65 IACFUnknown * inProperties,
66 const char inInstanceInitProcSymbol [],
67 const char inBackgroundProcSymbol [],
68 AAX_CSelector * outProcID) = 0;
69
70 virtual AAX_Result AddMeters ( AAX_CFieldIndex inFieldIndex, const AAX_CTypeID* inMeterIDs, const uint32_t inMeterCount ) = 0;
71};
72
75 class AAX_IACFComponentDescriptor_V2 : public AAX_IACFComponentDescriptor
76{
77 public:
78 virtual AAX_Result AddTemporaryData( AAX_CFieldIndex inFieldIndex, uint32_t inDataElementSize) = 0;
79};
80
83 class AAX_IACFComponentDescriptor_V3 : public AAX_IACFComponentDescriptor_V2
84{
85 public:
86 virtual AAX_Result AddProcessProc (
87 IACFUnknown * inProperties,
88 AAX_CSelector* outProcIDs,
89 int32_t inProcIDsSize) = 0;
90};
91
92#ifdef __clang__
93#pragma clang diagnostic pop
94#endif
95
96#endif // #ifndef _AAX_IACFCOMPONENTDESCRIPTOR_H_
AAX_EMIDINodeType
AAX_EMIDINodeType
MIDI node types.
Definition: AAX_Enums.h:980
AAX_ePrivateDataOptions_DefaultOptions
@ AAX_ePrivateDataOptions_DefaultOptions
Definition: AAX_Enums.h:760
AAX_EDataInPortType
AAX_EDataInPortType
Property value for whether a data in port should be buffered or not.
Definition: AAX_Enums.h:1063
AAX.h
Various utility definitions for AAX.
AAX_Result
int32_t AAX_Result
Definition: AAX.h:334
AAX_CTypeID
uint32_t AAX_CTypeID
Matches type of OSType used in classic plugins.
Definition: AAX.h:333
AAX_CFieldIndex
AAX_CIndex AAX_CFieldIndex
Not used by AAX plug-ins (except in AAX_FIELD_INDEX macro)
Definition: AAX.h:346
AAX_CSelector
uint32_t AAX_CSelector
Definition: AAX.h:327
AAX_IDma.h
Cross-platform interface for access to the host's direct memory access (DMA) facilities.
AAX_Callbacks.h
AAX callback prototypes and ProcPtr definitions
AAX_CInstanceInitProc
AAX_Component< void >::CInstanceInitProc AAX_CInstanceInitProc
A user-defined callback that AAX calls to notify the component that an instance is being added or rem...
Definition: AAX_Callbacks.h:137
AAX_CBackgroundProc
AAX_Component< void >::CBackgroundProc AAX_CBackgroundProc
A user-defined callback that AAX calls in the AAX Idle time.
Definition: AAX_Callbacks.h:148
AAX_CProcessProc
AAX_Component< void >::CProcessProc AAX_CProcessProc
A user-defined callback that AAX calls to process data packets and/or audio.
Definition: AAX_Callbacks.h:101
IACFUnknown
COM compatible IUnknown C++ interface.
Definition: AAX_ACFInterface.doxygen:252
AAX_IACFComponentDescriptor
Versioned description interface for an AAX plug-in algorithm callback.
Definition: AAX_IACFComponentDescriptor.h:40
AAX_IACFComponentDescriptor::AddAudioBufferLength
virtual AAX_Result AddAudioBufferLength(AAX_CFieldIndex inFieldIndex)=0
Subscribes a buffer length context field.
AAX_IACFComponentDescriptor::AddProcessProc_Native
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.
AAX_IACFComponentDescriptor::AddMeters
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.
AAX_IACFComponentDescriptor::AddAudioOut
virtual AAX_Result AddAudioOut(AAX_CFieldIndex inFieldIndex)=0
Subscribes an audio output context field.
AAX_IACFComponentDescriptor::AddMIDINode
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.
AAX_IACFComponentDescriptor::AddAudioIn
virtual AAX_Result AddAudioIn(AAX_CFieldIndex inFieldIndex)=0
Subscribes an audio input context field.
AAX_IACFComponentDescriptor::AddAuxOutputStem
virtual AAX_Result AddAuxOutputStem(AAX_CFieldIndex inFieldIndex, int32_t inStemFormat, const char inNameUTF8[])=0
Adds an auxiliary output stem for a plug-in.
AAX_IACFComponentDescriptor::AddSampleRate
virtual AAX_Result AddSampleRate(AAX_CFieldIndex inFieldIndex)=0
Subscribes a sample rate context field.
AAX_IACFComponentDescriptor::AddReservedField
virtual AAX_Result AddReservedField(AAX_CFieldIndex inFieldIndex, uint32_t inFieldType)=0
Subscribes a context field to host-provided services or information.
AAX_IACFComponentDescriptor::AddPrivateData
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.
AAX_IACFComponentDescriptor::Clear
virtual AAX_Result Clear()=0
Clears the descriptor.
AAX_IACFComponentDescriptor::AddSideChainIn
virtual AAX_Result AddSideChainIn(AAX_CFieldIndex inFieldIndex)=0
Subscribes a side-chain input context field.
AAX_IACFComponentDescriptor::AddProcessProc_TI
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.
AAX_IACFComponentDescriptor::AddDmaInstance
virtual AAX_Result AddDmaInstance(AAX_CFieldIndex inFieldIndex, AAX_IDma::EMode inDmaMode)=0
Adds a DMA field to the plug-in's context.
AAX_IACFComponentDescriptor::AddDataInPort
virtual AAX_Result AddDataInPort(AAX_CFieldIndex inFieldIndex, uint32_t inPacketSize, AAX_EDataInPortType inPortType)=0
Adds a custom data port to the algorithm context.
AAX_IACFComponentDescriptor::AddClock
virtual AAX_Result AddClock(AAX_CFieldIndex inFieldIndex)=0
Subscribes a clock context field.
AAX_IACFComponentDescriptor_V2
Versioned description interface for an AAX plug-in algorithm callback.
Definition: AAX_IACFComponentDescriptor.h:76
AAX_IACFComponentDescriptor_V2::AddTemporaryData
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 buf...
AAX_IACFComponentDescriptor_V3
Versioned description interface for an AAX plug-in algorithm callback.
Definition: AAX_IACFComponentDescriptor.h:84
AAX_IACFComponentDescriptor_V3::AddProcessProc
virtual AAX_Result AddProcessProc(IACFUnknown *inProperties, AAX_CSelector *outProcIDs, int32_t inProcIDsSize)=0
Registers one or more algorithm processing entrypoints (process procedures)
AAX_IDma::EMode
EMode
DMA mode IDs.
Definition: AAX_IDma.h:68