25 #ifndef _AAX_ICOMPONENTDESCRIPTOR_H_
26 #define _AAX_ICOMPONENTDESCRIPTOR_H_
366 const char inDLLFileNameUTF8 [],
367 const char iProcessProcSymbol [],
369 const char iInstanceInitProcSymbol [] = NULL,
370 const char iBackgroundProcSymbol [] = NULL,
394 template <
typename aContextType>
396 void (
AAX_CALLBACK *iProcessProc) ( aContextType *
const iInstancesBegin [],
const void * iInstancesEnd),
399 int32_t (
AAX_CALLBACK *iBackgroundProc) (
void ) = NULL );
402 template <
typename aContextType>
405 void (
AAX_CALLBACK *iProcessProc) ( aContextType *
const iInstancesBegin [],
const void * iInstancesEnd),
411 reinterpret_cast <AAX_CProcessProc>( iProcessProc ),
413 reinterpret_cast<AAX_CInstanceInitProc>( iInstanceInitProc ),
414 reinterpret_cast<AAX_CBackgroundProc>( iBackgroundProc ) );
417 #endif // #ifndef _AAX_ICOMPONENTDESCRIPTOR_H_
AAX_EMIDINodeType
MIDI node types.
Definition: AAX_Enums.h:613
virtual AAX_IPropertyMap * DuplicatePropertyMap(AAX_IPropertyMap *iPropertyMap) const =0
Creates a new property map using an existing property map.
Various utility definitions for AAX.
virtual AAX_Result AddDataInPort(AAX_CFieldIndex iFieldIndex, uint32_t iPacketSize, AAX_EDataInPortType iPortType=AAX_eDataInPortType_Buffered)=0
Adds a custom data port to the algorithm context.
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.
#define AAX_CALLBACK
Definition: AAX.h:74
virtual AAX_IPropertyMap * NewPropertyMap() const =0
Creates a new, empty property map.
virtual ~AAX_IComponentDescriptor()
Definition: AAX_IComponentDescriptor.h:49
virtual AAX_Result AddAuxOutputStem(AAX_CFieldIndex iFieldIndex, int32_t iStemFormat, const char iNameUTF8[])=0
Adds an auxiliary output stem for a plug-in.
virtual AAX_Result AddAudioBufferLength(AAX_CFieldIndex iFieldIndex)=0
Subscribes a buffer length context field.
AAX_Component< void >::CProcessProc AAX_CProcessProc
A user-defined callback that AAX calls to process data packets and/or audio.
Definition: AAX_Callbacks.h:102
virtual AAX_Result AddSideChainIn(AAX_CFieldIndex iFieldIndex)=0
Subscribes a side-chain input context field.
Data port is buffered both on the host and DSP.
Definition: AAX_Enums.h:697
Generic plug-in description property map.
Definition: AAX_IPropertyMap.h:56
virtual AAX_Result AddAudioOut(AAX_CFieldIndex iFieldIndex)=0
Subscribes an audio output context field.
virtual AAX_Result AddSampleRate(AAX_CFieldIndex iFieldIndex)=0
Subscribes a sample rate context field.
virtual AAX_Result AddProcessProc_TI(const char inDLLFileNameUTF8[], const char iProcessProcSymbol[], AAX_IPropertyMap *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.
uint32_t AAX_CTypeID
Matches type of OSType used in classic plugins.
Definition: AAX.h:117
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 buf...
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.
virtual AAX_Result Clear()=0
Clears the descriptor.
int32_t AAX_Result
Definition: AAX.h:118
virtual AAX_Result AddAudioIn(AAX_CFieldIndex iFieldIndex)=0
Subscribes an audio input context field.
AAX callback prototypes and ProcPtr definitions.
AAX_Component< void >::CBackgroundProc AAX_CBackgroundProc
A user-defined callback that AAX calls in the AAX Idle time.
Definition: AAX_Callbacks.h:149
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:138
uint32_t AAX_CSelector
Definition: AAX.h:111
virtual AAX_Result AddReservedField(AAX_CFieldIndex iFieldIndex, uint32_t iFieldType)=0
Subscribes a context field to host-provided services or information.
virtual AAX_Result AddProcessProc_Native(AAX_CProcessProc iProcessProc, AAX_IPropertyMap *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.
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.
AAX_EComponentInstanceInitAction
Selector indicating the action that occurred to prompt a component initialization callback...
Definition: AAX_Enums.h:449
virtual AAX_Result AddClock(AAX_CFieldIndex iFieldIndex)=0
Subscribes a clock context field.
virtual AAX_Result AddDmaInstance(AAX_CFieldIndex iFieldIndex, AAX_IDma::EMode iDmaMode)=0
Adds a DMA field to the plug-in's context.
AAX_CIndex AAX_CFieldIndex
Not used by AAX plug-ins (except in AAX_FIELD_INDEX macro)
Definition: AAX.h:125
Description interface for an AAX plug-in component.
Definition: AAX_IComponentDescriptor.h:46
AAX_EDataInPortType
Property value for whether a data in port should be buffered or not.
Definition: AAX_Enums.h:694
EMode
DMA mode IDs.
Definition: AAX_IDma.h:69
Cross-platform interface for access to the host's direct memory access (DMA) facilities.
Definition: AAX_Enums.h:402