![]() |
AAX SDK
2.4.1
Avid Audio Extensions Development Kit
|
#include <AAX_CHostProcessor.h>
Concrete implementation of the AAX_IHostProcessor interface for non-real-time processing.
Host processor objects are used to process regions of audio data in a non-real-time context.
Public Member Functions | |
AAX_CHostProcessor (void) | |
virtual | ~AAX_CHostProcessor () |
Initialization and uninitialization | |
AAX_Result | Initialize (IACFUnknown *iController) AAX_OVERRIDE |
Host Processor initialization. More... | |
AAX_Result | Uninitialize () AAX_OVERRIDE |
Host Processor teardown. More... | |
Host processor interface | |
AAX_Result | InitOutputBounds (int64_t iSrcStart, int64_t iSrcEnd, int64_t *oDstStart, int64_t *oDstEnd) AAX_OVERRIDE |
Sets the processing region. More... | |
AAX_Result | SetLocation (int64_t iSample) AAX_OVERRIDE |
Updates the relative sample location of the current processing frame. More... | |
AAX_Result | RenderAudio (const float *const inAudioIns[], int32_t inAudioInCount, float *const iAudioOuts[], int32_t iAudioOutCount, int32_t *ioWindowSize) AAX_OVERRIDE |
Perform the signal processing. More... | |
AAX_Result | PreRender (int32_t inAudioInCount, int32_t iAudioOutCount, int32_t iWindowSize) AAX_OVERRIDE |
Invoked right before the start of a Preview or Render pass. More... | |
AAX_Result | PostRender () AAX_OVERRIDE |
Invoked at the end of a Render pass. More... | |
AAX_Result | AnalyzeAudio (const float *const inAudioIns[], int32_t inAudioInCount, int32_t *ioWindowSize) AAX_OVERRIDE |
Override this method if the plug-in needs to analyze the audio prior to a Render pass. More... | |
AAX_Result | PreAnalyze (int32_t inAudioInCount, int32_t iWindowSize) AAX_OVERRIDE |
Invoked right before the start of an Analysis pass. More... | |
AAX_Result | PostAnalyze () AAX_OVERRIDE |
Invoked at the end of an Analysis pass. More... | |
AAX_Result | GetClipNameSuffix (int32_t inMaxLength, AAX_IString *outString) const AAX_OVERRIDE |
Called by host application to retrieve a custom string to be appended to the clip name. More... | |
![]() | |
ACF_DECLARE_STANDARD_UNKNOWN () ACFMETHOD(InternalQueryInterface)(const acfIID &riid | |
AAX_DELETE (AAX_IHostProcessor &operator=(const AAX_IHostProcessor &)) | |
![]() | |
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... | |
Convenience methods | |
AAX_IEffectParameters * | GetEffectParameters () |
const AAX_IEffectParameters * | GetEffectParameters () const |
AAX_IHostProcessorDelegate * | GetHostProcessorDelegate () |
const AAX_IHostProcessorDelegate * | GetHostProcessorDelegate () const |
int64_t | GetLocation () const |
The relative sample location of the current processing frame. More... | |
int64_t | GetInputRange () const |
The length (in samples) of the current timeline selection. More... | |
int64_t | GetOutputRange () const |
The length (in samples) of the clip that will be rendered to the timeline. More... | |
int64_t | GetSrcStart () const |
The sample position of the beginning of the current timeline selection relative to the beginning of the current input selection, i.e. 0. More... | |
int64_t | GetSrcEnd () const |
The sample position of the end of the current timeline selection relative to the beginning of the current input selection. More... | |
int64_t | GetDstStart () const |
The sample position of the beginning of the of the clip that will be rendered to the timeline relative to the beginning of the current input selection. More... | |
int64_t | GetDstEnd () const |
The sample position of the end of the of the clip that will be rendered to the timeline relative to the beginning of the current input selection. More... | |
virtual AAX_Result | TranslateOutputBounds (int64_t iSrcStart, int64_t iSrcEnd, int64_t &oDstStart, int64_t &oDstEnd) |
Define the boundaries of the clip that will be rendered to the timeline. More... | |
virtual AAX_Result | GetAudio (const float *const inAudioIns[], int32_t inAudioInCount, int64_t inLocation, int32_t *ioNumSamples) |
Randomly access audio from the timeline. More... | |
virtual int32_t | GetSideChainInputNum () |
CALL: Returns the index of the side chain input buffer. More... | |
AAX_IController * | Controller () |
const AAX_IController * | Controller () const |
AAX_IHostProcessorDelegate * | HostProcessorDelegate () |
const AAX_IHostProcessorDelegate * | HostProcessorDelegate () const |
AAX_IEffectParameters * | EffectParameters () |
const AAX_IEffectParameters * | EffectParameters () const |
Additional Inherited Members | |
![]() | |
void **ppvObjOut | override |
AAX_CHostProcessor::AAX_CHostProcessor | ( | void | ) |
|
virtual |
|
virtual |
Host Processor initialization.
[in] | iController | A versioned reference that can be resolved to both an AAX_IController interface and an AAX_IHostProcessorDelegate |
Implements AAX_IACFHostProcessor.
|
virtual |
Host Processor teardown.
Implements AAX_IACFHostProcessor.
|
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 . |
Implements AAX_IACFHostProcessor.
|
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 |
Implements AAX_IACFHostProcessor.
|
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 |
Implements AAX_IACFHostProcessor.
|
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 |
Implements AAX_IACFHostProcessor.
|
virtual |
Invoked at the end of a Render pass.
Implements AAX_IACFHostProcessor.
|
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 |
Implements AAX_IACFHostProcessor.
|
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 |
Implements AAX_IACFHostProcessor.
|
virtual |
Invoked at the end of an Analysis pass.
Implements AAX_IACFHostProcessor.
|
virtual |
Called by host application to retrieve a custom string to be appended to the clip name.
If no string is provided then the host's default will be used.
[in] | inMaxLength | The maximum allowed string length, not including the NULL terminating char |
[out] | outString | Add a value to this string to provide a custom clip suffix |
Implements AAX_IACFHostProcessor_V2.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
The relative sample location of the current processing frame.
This method returns the relative sample location for the current RenderAudio() processing frame. For example, if a value of 10 is provided for the RenderAudio() ioWindow
parameter, then calls to this method from within each execution of RenderAudio() will return 0, 10, 20,...
|
inline |
The length (in samples) of the current timeline selection.
|
inline |
The length (in samples) of the clip that will be rendered to the timeline.
|
inline |
The sample position of the beginning of the current timeline selection relative to the beginning of the current input selection, i.e. 0.
|
inline |
The sample position of the end of the current timeline selection relative to the beginning of the current input selection.
|
inline |
The sample position of the beginning of the of the clip that will be rendered to the timeline relative to the beginning of the current input selection.
This value will be equal to the value returned by GetSrcStart() unless the selection boundaries have been modified by overriding TranslateOutputBounds()
|
inline |
The sample position of the end of the of the clip that will be rendered to the timeline relative to the beginning of the current input selection.
This value will be equal to the value returned by GetSrcStart() unless the selection boundaries have been modified by overriding TranslateOutputBounds()
|
protectedvirtual |
Define the boundaries of the clip that will be rendered to the timeline.
This method is called from AAX_CHostProcessor::InitOutputBounds(), providing a convenient hook for re-defining the processing region boundaries. See InitOutputBounds() for more information.
[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 . |
|
protectedvirtual |
Randomly access audio from the timeline.
This is a convenience wrapper around AAX_IHostProcessorDelegate::GetAudio().
[in] | inAudioIns | Timeline audio buffer(s). This must be set to inAudioIns from AAX_IHostProcessor::RenderAudio() |
[in] | inAudioInCount | Number of buffers in inAudioIns . This must be set to inAudioInCount from AAX_IHostProcessor::RenderAudio() |
[in] | inLocation | A sample location relative to the beginning of the currently processed region, e.g. a value of 0 corresponds to the timeline location returned by AAX_CHostProcessor::GetSrcStart() |
[in,out] | ioNumSamples |
|
|
protectedvirtual |
CALL: Returns the index of the side chain input buffer.
This is a convenience wrapper around AAX_IHostProcessorDelegate::GetSideChainInputNum()
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |