AAX SDK  2.1.1
Avid Audio Extensions Development Kit
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AAX_IACFHostProcessor.h
Go to the documentation of this file.
1 /*================================================================================================*/
2 /*
3  *
4  * Copyright 2013 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 Technolgy, 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 
54 {
55 public:
56  virtual AAX_Result Initialize(IACFUnknown* iController) = 0;
57  virtual AAX_Result Uninitialize() = 0;
58 
59  virtual AAX_Result InitOutputBounds ( int64_t iSrcStart, int64_t iSrcEnd, int64_t * oDstStart, int64_t * oDstEnd ) = 0;
60  virtual AAX_Result SetLocation ( int64_t iSample ) = 0;
61 
62  virtual AAX_Result RenderAudio ( const float * const iAudioIns [], int32_t iAudioInCount, float * const iAudioOuts [], int32_t iAudioOutCount, int32_t * ioWindowSize ) = 0;
63  virtual AAX_Result PreRender ( int32_t iAudioInCount, int32_t iAudioOutCount, int32_t iWindowSize ) = 0;
64  virtual AAX_Result PostRender () = 0;
65 
66  virtual AAX_Result AnalyzeAudio ( const float * const iAudioIns [], int32_t iAudioInCount, int32_t * ioWindowSize ) = 0;
67  virtual AAX_Result PreAnalyze ( int32_t iAudioInCount, int32_t iWindowSize ) = 0;
68  virtual AAX_Result PostAnalyze () = 0;
69 };
70 
71 #ifdef __clang__
72 #pragma clang diagnostic pop
73 #endif
74 
75 #endif //AAX_IACFHOSTPROCESSOR_H
virtual AAX_Result PostRender()=0
Invoked at the end of a Render pass.
Various utility definitions for AAX.
virtual AAX_Result Uninitialize()=0
Host Processor teardown.
Delegate for retrieving offline processing information from the host.
Definition: AAX_IHostProcessorDelegate.h:39
virtual AAX_Result AnalyzeAudio(const float *const iAudioIns[], int32_t iAudioInCount, int32_t *ioWindowSize)=0
Override this method if the plug-in needs to analyze the audio prior to a Render pass.
virtual AAX_Result PreRender(int32_t iAudioInCount, int32_t iAudioOutCount, int32_t iWindowSize)=0
Invoked right before the start of a Preview or Render pass.
virtual AAX_Result PostAnalyze()=0
Invoked at the end of an Analysis pass.
virtual AAX_Result RenderAudio(const float *const iAudioIns[], int32_t iAudioInCount, float *const iAudioOuts[], int32_t iAudioOutCount, int32_t *ioWindowSize)=0
Perform the signal processing.
COM compatible IUnknown C++ interface.
Definition: AAX_ACFInterface.dox:231
virtual AAX_Result PreAnalyze(int32_t iAudioInCount, int32_t iWindowSize)=0
Invoked right before the start of an Analysis pass.
int32_t AAX_Result
Definition: AAX.h:118
The interface for an AAX Plug-in's data model.
Definition: AAX_IEffectParameters.h:80
virtual AAX_Result InitOutputBounds(int64_t iSrcStart, int64_t iSrcEnd, int64_t *oDstStart, int64_t *oDstEnd)=0
Sets the processing region.
Versioned interface for an AAX host processing component.
Definition: AAX_IACFHostProcessor.h:53
virtual AAX_Result Initialize(IACFUnknown *iController)=0
Host Processor initialization.
virtual AAX_Result SetLocation(int64_t iSample)=0
Updates the relative sample location of the current processing frame.