![]() |
AAX SDK
2.4.1
Avid Audio Extensions Development Kit
|
#include <AAX_IACFHostProcessor.h>
Versioned interface for an AAX host processing component.
Public Member Functions | |
virtual AAX_Result | Initialize (IACFUnknown *iController)=0 |
Host Processor initialization. More... | |
virtual AAX_Result | Uninitialize ()=0 |
Host Processor teardown. More... | |
virtual AAX_Result | InitOutputBounds (int64_t iSrcStart, int64_t iSrcEnd, int64_t *oDstStart, int64_t *oDstEnd)=0 |
Sets the processing region. More... | |
virtual AAX_Result | SetLocation (int64_t iSample)=0 |
Updates the relative sample location of the current processing frame. More... | |
virtual AAX_Result | RenderAudio (const float *const inAudioIns[], int32_t inAudioInCount, float *const iAudioOuts[], int32_t iAudioOutCount, int32_t *ioWindowSize)=0 |
Perform the signal processing. More... | |
virtual AAX_Result | PreRender (int32_t inAudioInCount, int32_t iAudioOutCount, int32_t iWindowSize)=0 |
Invoked right before the start of a Preview or Render pass. More... | |
virtual AAX_Result | PostRender ()=0 |
Invoked at the end of a Render pass. More... | |
virtual AAX_Result | AnalyzeAudio (const float *const inAudioIns[], int32_t inAudioInCount, int32_t *ioWindowSize)=0 |
Override this method if the plug-in needs to analyze the audio prior to a Render pass. More... | |
virtual AAX_Result | PreAnalyze (int32_t inAudioInCount, int32_t iWindowSize)=0 |
Invoked right before the start of an Analysis pass. More... | |
virtual AAX_Result | PostAnalyze ()=0 |
Invoked at the end of an Analysis pass. More... | |
![]() | |
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... | |
|
pure virtual |
Host Processor initialization.
[in] | iController | A versioned reference that can be resolved to both an AAX_IController interface and an AAX_IHostProcessorDelegate |
Implemented in AAX_CHostProcessor.
|
pure virtual |
Host Processor teardown.
Implemented in AAX_CHostProcessor.
|
pure virtual |
Sets the processing region.
This method allows offline processing plug-ins to vary the length and/or start/end points of the audio processing region.
This method is called in a few different scenarios:
Plug-ins that inherit from AAX_CHostProcessor should not override this method. Instead, use the following convenience functions:
oDstStart
and oDstEnd
oDstStart
and oDstEnd
instead (preferably by overriding TranslateOutputBounds().)[in] | iSrcStart | The selection start of the user selected region. This is will always return 0 for a given selection on the timeline. |
[in] | iSrcEnd | The selection end of the user selected region. This will always return the value of the selection length on the timeline. |
[in] | oDstStart | The starting sample location in the output audio region. By default, this is the same as iSrcStart . |
[in] | oDstEnd | The ending sample location in the output audio region. By default, this is the same as iSrcEnd . |
Implemented in AAX_CHostProcessor.
|
pure virtual |
Updates the relative sample location of the current processing frame.
This method is called by the host to update the relative sample location of the current processing frame.
[in] | iSample | The sample location of the first sample in the current processing frame relative to the beginning of the full processing buffer |
Implemented in AAX_CHostProcessor.
|
pure virtual |
Perform the signal processing.
This method is called by the host to invoke the plug-in's signal processing.
ProcessAudio
method[in] | inAudioIns | Input audio buffer |
[in] | inAudioInCount | The number if input channels |
[in] | iAudioOuts | The number of output channels |
[in] | iAudioOutCount | A user defined destination end of the ingested audio |
[in] | ioWindowSize | Window buffer length of the received audio |
Implemented in AAX_CHostProcessor.
|
pure virtual |
Invoked right before the start of a Preview or Render pass.
This method is called by the host to allow a plug-in to make any initializations before processing actually begins. Upon a Preview pass, PreRender will also be called at the beginning of every "loop".
[in] | inAudioInCount | The number if input channels |
[in] | iAudioOutCount | The number of output channels |
[in] | iWindowSize | Window buffer length of the ingested audio |
Implemented in AAX_CHostProcessor.
|
pure virtual |
Invoked at the end of a Render pass.
Implemented in AAX_CHostProcessor.
|
pure virtual |
Override this method if the plug-in needs to analyze the audio prior to a Render pass.
Use this after declaring the appropriate properties in Describe. See AAX_eProperty_RequiresAnalysis and AAX_eProperty_OptionalAnalysis
To request an analysis pass from within a plug-in, use AAX_IHostProcessorDelegate::ForceAnalyze()
AnalyzeAudio
(bool isMasterBypassed
) method[in] | inAudioIns | Input audio buffer |
[in] | inAudioInCount | The number of input channels |
[in] | ioWindowSize | Window buffer length of the ingested audio |
Implemented in AAX_CHostProcessor.
|
pure virtual |
Invoked right before the start of an Analysis pass.
This method is called by the host to allow a plug-in to make any initializations before an Analysis pass actually begins.
[in] | inAudioInCount | The number if input channels |
[in] | iWindowSize | Window buffer length of the ingested audio |
Implemented in AAX_CHostProcessor.
|
pure virtual |
Invoked at the end of an Analysis pass.
Implemented in AAX_CHostProcessor.