AAX SDK 2.8.0
Avid Audio Extensions Development Kit
Loading...
Searching...
No Matches
AAX_IACFHostProcessor.h
Go to the documentation of this file.
1/*================================================================================================*/
2/*
3 *
4 * Copyright 2013-2017, 2023-2024 Avid Technology, Inc.
5 * All rights reserved.
6 *
7 * This file is part of the Avid AAX SDK.
8 *
9 * The AAX SDK is subject to commercial or open-source licensing.
10 *
11 * By using the AAX SDK, you agree to the terms of both the Avid AAX SDK License
12 * Agreement and Avid Privacy Policy.
13 *
14 * AAX SDK License: https://developer.avid.com/aax
15 * Privacy Policy: https://www.avid.com/legal/privacy-policy-statement
16 *
17 * Or: You may also use this code under the terms of the GPL v3 (see
18 * www.gnu.org/licenses).
19 *
20 * THE AAX SDK IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
21 * EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
22 * DISCLAIMED.
23 *
24 */
25
32/*================================================================================================*/
33
34
35#ifndef AAX_IACFHOSTPROCESSOR_H
36#define AAX_IACFHOSTPROCESSOR_H
37
38#include "AAX.h"
39
40#ifdef __clang__
41#pragma clang diagnostic push
42#pragma clang diagnostic ignored "-Wnon-virtual-dtor"
43#endif
44
45#include "acfunknown.h"
46
49class AAX_IString;
50
65{
66public:
67 virtual AAX_Result Initialize(IACFUnknown* iController) = 0;
68 virtual AAX_Result Uninitialize() = 0;
69
70 virtual AAX_Result InitOutputBounds ( int64_t iSrcStart, int64_t iSrcEnd, int64_t * oDstStart, int64_t * oDstEnd ) = 0;
71 virtual AAX_Result SetLocation ( int64_t iSample ) = 0;
72
73 virtual AAX_Result RenderAudio ( const float * const inAudioIns [], int32_t inAudioInCount, float * const iAudioOuts [], int32_t iAudioOutCount, int32_t * ioWindowSize ) = 0;
74 virtual AAX_Result PreRender ( int32_t inAudioInCount, int32_t iAudioOutCount, int32_t iWindowSize ) = 0;
75 virtual AAX_Result PostRender () = 0;
76
77 virtual AAX_Result AnalyzeAudio ( const float * const inAudioIns [], int32_t inAudioInCount, int32_t * ioWindowSize ) = 0;
78 virtual AAX_Result PreAnalyze ( int32_t inAudioInCount, int32_t iWindowSize ) = 0;
79 virtual AAX_Result PostAnalyze () = 0;
80};
81
90{
91public:
92 virtual AAX_Result GetClipNameSuffix ( int32_t inMaxLength, AAX_IString* outString ) const = 0;
93};
94
95#ifdef __clang__
96#pragma clang diagnostic pop
97#endif
98
99#endif //AAX_IACFHOSTPROCESSOR_H
Various utility definitions for AAX.
int32_t AAX_Result
Definition: AAX.h:347
COM compatible IUnknown C++ interface.
Definition: AAX_ACFInterface.doxygen:265
Versioned interface for an AAX host processing component.
Definition: AAX_IACFHostProcessor.h:65
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:90
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:93
Versioned interface for host methods specific to offline processing.
Definition: AAX_IHostProcessorDelegate.h:51
A simple string container that can be passed across a binary boundary. This class,...
Definition: AAX_IString.h:51