| AAX SDK 2.8.0 Avid Audio Extensions Development Kit

- Welcome
- Manual
- Classes
- Files
- Lists
- Support

- File List
- File Members

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
47 class AAX_IHostProcessorDelegate;
48 class AAX_IEffectParameters;
49 class AAX_IString;
50
64 class AAX_IACFHostProcessor : public IACFUnknown
65{
66 public:
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
89 class AAX_IACFHostProcessor_V2 : public AAX_IACFHostProcessor
90{
91 public:
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
AAX.h
Various utility definitions for AAX.
AAX_Result
int32_t AAX_Result
Definition: AAX.h:347
IACFUnknown
COM compatible IUnknown C++ interface.
Definition: AAX_ACFInterface.doxygen:265
AAX_IACFHostProcessor
Versioned interface for an AAX host processing component.
Definition: AAX_IACFHostProcessor.h:65
AAX_IACFHostProcessor::Initialize
virtual AAX_Result Initialize(IACFUnknown *iController)=0
Host Processor initialization.
AAX_IACFHostProcessor::InitOutputBounds
virtual AAX_Result InitOutputBounds(int64_t iSrcStart, int64_t iSrcEnd, int64_t *oDstStart, int64_t *oDstEnd)=0
Sets the processing region.
AAX_IACFHostProcessor::Uninitialize
virtual AAX_Result Uninitialize()=0
Host Processor teardown.
AAX_IACFHostProcessor::PostAnalyze
virtual AAX_Result PostAnalyze()=0
Invoked at the end of an Analysis pass.
AAX_IACFHostProcessor::PreAnalyze
virtual AAX_Result PreAnalyze(int32_t inAudioInCount, int32_t iWindowSize)=0
Invoked right before the start of an Analysis pass.
AAX_IACFHostProcessor::AnalyzeAudio
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.
AAX_IACFHostProcessor::RenderAudio
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.
AAX_IACFHostProcessor::PreRender
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.
AAX_IACFHostProcessor::SetLocation
virtual AAX_Result SetLocation(int64_t iSample)=0
Updates the relative sample location of the current processing frame.
AAX_IACFHostProcessor::PostRender
virtual AAX_Result PostRender()=0
Invoked at the end of a Render pass.
AAX_IACFHostProcessor_V2
Supplemental interface for an AAX host processing component.
Definition: AAX_IACFHostProcessor.h:90
AAX_IACFHostProcessor_V2::GetClipNameSuffix
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.
AAX_IEffectParameters
The interface for an AAX Plug-in's data model.
Definition: AAX_IEffectParameters.h:93
AAX_IHostProcessorDelegate
Versioned interface for host methods specific to offline processing.
Definition: AAX_IHostProcessorDelegate.h:51
AAX_IString
A simple string container that can be passed across a binary boundary. This class,...
Definition: AAX_IString.h:51