AAX SDK  2.4.1
Avid Audio Extensions Development Kit
List of all members | Public Member Functions
AAX_IHostProcessorDelegate Class Referenceabstract

#include <AAX_IHostProcessorDelegate.h>

Inheritance diagram for AAX_IHostProcessorDelegate:
[legend]

Description

Versioned interface for host methods specific to offline processing.

:Implemented by the AAX Host:

The host provides a host processor delegate to a plug-in's host processor object at initialization. The host processor object may make calls to this object to get information about the current render pass or to affect the plug-in's offline processing behavior.

Public Member Functions

virtual ~AAX_IHostProcessorDelegate ()
 
virtual AAX_Result GetAudio (const float *const inAudioIns[], int32_t inAudioInCount, int64_t inLocation, int32_t *ioNumSamples)=0
 CALL: Randomly access audio from the timeline. More...
 
virtual int32_t GetSideChainInputNum ()=0
 CALL: Returns the index of the side chain input buffer. More...
 
virtual AAX_Result ForceAnalyze ()=0
 CALL: Request an analysis pass. More...
 
virtual AAX_Result ForceProcess ()=0
 CALL: Request a process pass. More...
 

Constructor & Destructor Documentation

◆ ~AAX_IHostProcessorDelegate()

virtual AAX_IHostProcessorDelegate::~AAX_IHostProcessorDelegate ( )
inlinevirtual

Member Function Documentation

◆ GetAudio()

virtual AAX_Result AAX_IHostProcessorDelegate::GetAudio ( const float *const  inAudioIns[],
int32_t  inAudioInCount,
int64_t  inLocation,
int32_t *  ioNumSamples 
)
pure virtual

CALL: Randomly access audio from the timeline.

Called from within AAX_IHostProcessor::RenderAudio(), this method fills a buffer of samples with randomly-accessed data from the current input processing region on the timeline, including any extra samples such as processing "handles".

Note
Plug-ins that use this feature must set AAX_eProperty_UsesRandomAccess to true
It is not possible to retrieve samples from outside of the current input processing region
Always check the return value of this method before using the randomly-accessed samples
Parameters
[in]inAudioInsTimeline audio buffer(s). This must be set to inAudioIns from AAX_IHostProcessor::RenderAudio()
[in]inAudioInCountNumber of buffers in inAudioIns. This must be set to inAudioInCount from AAX_IHostProcessor::RenderAudio()
[in]inLocationA 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
  • Input: The maximum number of samples to read.
  • Output: The actual number of samples that were read from the timeline

Implemented in AAX_VHostProcessorDelegate.

◆ GetSideChainInputNum()

virtual int32_t AAX_IHostProcessorDelegate::GetSideChainInputNum ( )
pure virtual

CALL: Returns the index of the side chain input buffer.

Called from within AAX_IHostProcessor::RenderAudio(), this method returns the index of the side chain input sample buffer within inAudioIns.

Implemented in AAX_VHostProcessorDelegate.

◆ ForceAnalyze()

virtual AAX_Result AAX_IHostProcessorDelegate::ForceAnalyze ( )
pure virtual

CALL: Request an analysis pass.

Call this method to request an analysis pass from within the plug-in. Most plug-ins should rely on the host to trigger analysis passes when appropriate. However, plug-ins that require an analysis pass a) outside of the context of host-driven render or analysis, or b) when internal plug-in data changes may need to call ForceAnalyze().

Implemented in AAX_VHostProcessorDelegate.

◆ ForceProcess()

virtual AAX_Result AAX_IHostProcessorDelegate::ForceProcess ( )
pure virtual

CALL: Request a process pass.

Call this method to request a process pass from within the plug-in. If AAX_eProperty_RequiresAnalysis is defined, the resulting process pass will be preceded by an analysis pass. This method should only be used in rare circumstances by plug-ins that must launch processing outside of the normal host AudioSuite workflow.

Implemented in AAX_VHostProcessorDelegate.


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