AAX SDK  2.4.1
Avid Audio Extensions Development Kit
AAX_IACFHostProcessor.h
Go to the documentation of this file.
1 /*================================================================================================*/
2 /*
3  *
4  * Copyright 2013-2017 by Avid Technology, Inc.
5  * All rights reserved.
6  *
7  * CONFIDENTIAL: This document contains confidential information. Do not
8  * read or examine this document unless you are an Avid Technology employee
9  * or have signed a non-disclosure agreement with Avid Technology which protects
10  * the confidentiality of this document. DO NOT DISCLOSE ANY INFORMATION
11  * CONTAINED IN THIS DOCUMENT TO ANY THIRD-PARTY WITHOUT THE PRIOR WRITTEN CONSENT
12  * OF Avid Technology, INC.
13  *
14  */
15 
22 /*================================================================================================*/
23 
24 
25 #ifndef AAX_IACFHOSTPROCESSOR_H
26 #define AAX_IACFHOSTPROCESSOR_H
27 
28 #include "AAX.h"
29 
30 #ifdef __clang__
31 #pragma clang diagnostic push
32 #pragma clang diagnostic ignored "-Wnon-virtual-dtor"
33 #endif
34 
35 #include "acfunknown.h"
36 
39 class AAX_IString;
40 
55 {
56 public:
57  virtual AAX_Result Initialize(IACFUnknown* iController) = 0;
58  virtual AAX_Result Uninitialize() = 0;
59 
60  virtual AAX_Result InitOutputBounds ( int64_t iSrcStart, int64_t iSrcEnd, int64_t * oDstStart, int64_t * oDstEnd ) = 0;
61  virtual AAX_Result SetLocation ( int64_t iSample ) = 0;
62 
63  virtual AAX_Result RenderAudio ( const float * const inAudioIns [], int32_t inAudioInCount, float * const iAudioOuts [], int32_t iAudioOutCount, int32_t * ioWindowSize ) = 0;
64  virtual AAX_Result PreRender ( int32_t inAudioInCount, int32_t iAudioOutCount, int32_t iWindowSize ) = 0;
65  virtual AAX_Result PostRender () = 0;
66 
67  virtual AAX_Result AnalyzeAudio ( const float * const inAudioIns [], int32_t inAudioInCount, int32_t * ioWindowSize ) = 0;
68  virtual AAX_Result PreAnalyze ( int32_t inAudioInCount, int32_t iWindowSize ) = 0;
69  virtual AAX_Result PostAnalyze () = 0;
70 };
71 
80 {
81 public:
82  virtual AAX_Result GetClipNameSuffix ( int32_t inMaxLength, AAX_IString* outString ) const = 0;
83 };
84 
85 #ifdef __clang__
86 #pragma clang diagnostic pop
87 #endif
88 
89 #endif //AAX_IACFHOSTPROCESSOR_H
Various utility definitions for AAX.
int32_t AAX_Result
Definition: AAX.h:337
COM compatible IUnknown C++ interface.
Definition: AAX_ACFInterface.doxygen:248
Versioned interface for an AAX host processing component.
Definition: AAX_IACFHostProcessor.h:55
virtual AAX_Result Initialize(IACFUnknown *iController)=0
Host Processor initialization.
virtual AAX_Result InitOutputBounds(int64_t iSrcStart, int64_t iSrcEnd, int64_t *oDstStart, int64_t *oDstEnd)=0
Sets the processing region.
virtual AAX_Result Uninitialize()=0
Host Processor teardown.
virtual AAX_Result PostAnalyze()=0
Invoked at the end of an Analysis pass.
virtual AAX_Result PreAnalyze(int32_t inAudioInCount, int32_t iWindowSize)=0
Invoked right before the start of an Analysis pass.
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.
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.
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.
virtual AAX_Result SetLocation(int64_t iSample)=0
Updates the relative sample location of the current processing frame.
virtual AAX_Result PostRender()=0
Invoked at the end of a Render pass.
Supplemental interface for an AAX host processing component.
Definition: AAX_IACFHostProcessor.h:80
virtual AAX_Result GetClipNameSuffix(int32_t inMaxLength, AAX_IString *outString) const =0
Called by host application to retrieve a custom string to be appended to the clip name.
The interface for an AAX Plug-in's data model.
Definition: AAX_IEffectParameters.h:83
Versioned interface for host methods specific to offline processing.
Definition: AAX_IHostProcessorDelegate.h:41
A simple string container that can be passed across a binary boundary. This class,...
Definition: AAX_IString.h:41