AAX SDK 2.6.1
Avid Audio Extensions Development Kit
Loading...
Searching...
No Matches
AAX_IACFController.h
Go to the documentation of this file.
1/*================================================================================================*/
2/*
3 *
4 * Copyright 2013-2017, 2023 Avid Technology, Inc.
5 * All rights reserved.
6 *
7 * CONFIDENTIAL: this document contains confidential information of Avid. Do
8 * not disclose to any third party. Use of the information contained in this
9 * document is subject to an Avid SDK license.
10 *
11 */
12
20/*================================================================================================*/
21
22
23#ifndef _AAX_IACFCONTROLLER_H_
24#define _AAX_IACFCONTROLLER_H_
25
26#include "AAX.h"
27
28#ifdef __clang__
29#pragma clang diagnostic push
30#pragma clang diagnostic ignored "-Wnon-virtual-dtor"
31#endif
32
33#include "acfunknown.h"
34
35// Forward declarations
36class AAX_IPageTable;
37class AAX_IString;
38
43{
44public:
45
46 // Host information getters
48 virtual
51 AAX_IString * outEffectID) const = 0;
52
54 virtual
57 AAX_CSampleRate *outSampleRate ) const = 0;
58
60 virtual
63 AAX_EStemFormat *outStemFormat ) const = 0;
64
66 virtual
69 AAX_EStemFormat *outStemFormat) const = 0;
70
72 virtual
75 int32_t* outSamples) const = 0;
76
78 virtual
81 AAX_EProperty inWhichCycleCount,
82 AAX_CPropertyValue* outNumCycles) const = 0;
83
85 virtual
88 AAX_CTimeOfDay* outTODLocation ) const = 0;
89
90 //Host Information Setters (Dynamic info)
92 virtual
95 int32_t inNumSamples) = 0;
96
98 virtual
101 AAX_EProperty* inWhichCycleCounts,
102 AAX_CPropertyValue* iValues,
103 int32_t numValues) = 0;
104
105 // Posting functions
107 virtual
110 AAX_CFieldIndex inFieldIndex,
111 const void * inPayloadP,
112 uint32_t inPayloadSize) = 0;
113
114 //Metering functions
116 virtual
119 AAX_CTypeID inMeterID,
120 float * outMeterValue ) const = 0;
121
123 virtual
126 AAX_CTypeID inMeterID,
127 float * outMeterPeakValue ) const = 0;
128
130 virtual
133 AAX_CTypeID inMeterID ) const = 0;
134
136 virtual
139 AAX_CTypeID inMeterID,
140 AAX_CBoolean * outClipped ) const = 0;
141
143 virtual
146 AAX_CTypeID inMeterID ) const = 0;
147
149 virtual
152 uint32_t * outMeterCount ) const = 0;
153
154 // MIDI methods
156 virtual
159 AAX_CFieldIndex* outPort,
160 AAX_CMidiPacket* outPacket ) = 0;
161
162 };
163
167{
168public:
169 // Notification method
171 virtual
174 AAX_CTypeID inNotificationType,
175 const void* inNotificationData,
176 uint32_t inNotificationDataSize) = 0;
177
179 virtual
182 int32_t* outSamples) const = 0;
183
185 virtual
188 AAX_CTransportCounter* outTimestamp) const = 0;
189
191 virtual
194 AAX_IString* outHostNameString) const = 0;
195};
196
200{
201public:
203 virtual
206 AAX_CTargetPlatform* outTargetPlatform) const = 0;
207
209 virtual
211 GetIsAudioSuite(AAX_CBoolean* outIsAudioSuite) const = 0;
212};
213
214#ifdef __clang__
215#pragma clang diagnostic pop
216#endif
217
218#endif // #ifndef _AAX_IACFCONTROLLER_H_
AAX_EStemFormat
Stem format definitions.
Definition: AAX_Enums.h:230
Various utility definitions for AAX.
float AAX_CSampleRate
Literal sample rate value used by the sample rate field. For AAX_eProperty_SampleRate,...
Definition: AAX.h:331
int64_t AAX_CTimeOfDay
Hardware running clock value. MIDI packet time stamps are measured against this clock....
Definition: AAX.h:329
int32_t AAX_Result
Definition: AAX.h:334
int32_t AAX_CTargetPlatform
Matches type of target platform.
Definition: AAX.h:344
uint8_t AAX_CBoolean
Cross-compiler boolean type used by AAX interfaces.
Definition: AAX.h:326
int32_t AAX_CPropertyValue
32-bit property values
Definition: AAX.h:335
int64_t AAX_CTransportCounter
Offset of samples from transport start. Same as TimeOfDay, but added for new interfaces as TimeOfDay ...
Definition: AAX.h:330
uint32_t AAX_CTypeID
Matches type of OSType used in classic plugins.
Definition: AAX.h:333
AAX_CIndex AAX_CFieldIndex
Not used by AAX plug-ins (except in AAX_FIELD_INDEX macro)
Definition: AAX.h:346
AAX_EProperty
The list of properties that can be added to an AAX_IPropertyMap.
Definition: AAX_Properties.h:69
COM compatible IUnknown C++ interface.
Definition: AAX_ACFInterface.doxygen:252
Packet structure for MIDI data.
Definition: AAX.h:636
Interface for the AAX host's view of a single instance of an effect. Used by both clients of the AAXH...
Definition: AAX_IACFController.h:43
virtual AAX_Result GetCurrentMeterValue(AAX_CTypeID inMeterID, float *outMeterValue) const =0
CALL: Retrieves the current value of a host-managed plug-in meter.
virtual AAX_Result GetCycleCount(AAX_EProperty inWhichCycleCount, AAX_CPropertyValue *outNumCycles) const =0
CALL: returns the plug-in's current real-time DSP cycle count.
virtual AAX_Result GetSampleRate(AAX_CSampleRate *outSampleRate) const =0
CALL: Returns the current literal sample rate.
virtual AAX_Result SetCycleCount(AAX_EProperty *inWhichCycleCounts, AAX_CPropertyValue *iValues, int32_t numValues)=0
CALL: Indicates a change in the plug-in's real-time DSP cycle count.
virtual AAX_Result PostPacket(AAX_CFieldIndex inFieldIndex, const void *inPayloadP, uint32_t inPayloadSize)=0
CALL: Posts a data packet to the host for routing between plug-in components.
virtual AAX_Result GetMeterClipped(AAX_CTypeID inMeterID, AAX_CBoolean *outClipped) const =0
CALL: Retrieves the clipped flag from a host-managed plug-in meter.
virtual AAX_Result GetNextMIDIPacket(AAX_CFieldIndex *outPort, AAX_CMidiPacket *outPacket)=0
CALL: Retrieves MIDI packets for described MIDI nodes.
virtual AAX_Result GetOutputStemFormat(AAX_EStemFormat *outStemFormat) const =0
CALL: Returns the plug-in's output stem format.
virtual AAX_Result ClearMeterClipped(AAX_CTypeID inMeterID) const =0
CALL: Clears the clipped flag from a host-managed plug-in meter.
virtual AAX_Result GetMeterCount(uint32_t *outMeterCount) const =0
CALL: Retrieves the number of host-managed meters registered by a plug-in.
virtual AAX_Result GetEffectID(AAX_IString *outEffectID) const =0
virtual AAX_Result ClearMeterPeakValue(AAX_CTypeID inMeterID) const =0
CALL: Clears the peak value from a host-managed plug-in meter.
virtual AAX_Result GetInputStemFormat(AAX_EStemFormat *outStemFormat) const =0
CALL: Returns the plug-in's input stem format.
virtual AAX_Result GetSignalLatency(int32_t *outSamples) const =0
CALL: Returns the most recent signal (algorithmic) latency that has been published by the plug-in.
virtual AAX_Result GetMeterPeakValue(AAX_CTypeID inMeterID, float *outMeterPeakValue) const =0
CALL: Retrieves the currently held peak value of a host-managed plug-in meter.
virtual AAX_Result SetSignalLatency(int32_t inNumSamples)=0
CALL: Submits a request to change the delay compensation value that the host uses to account for the ...
virtual AAX_Result GetTODLocation(AAX_CTimeOfDay *outTODLocation) const =0
CALL: Returns the current Time Of Day (TOD) of the system.
Interface for the AAX host's view of a single instance of an effect. Used by both clients of the AAXH...
Definition: AAX_IACFController.h:167
virtual AAX_Result GetCurrentAutomationTimestamp(AAX_CTransportCounter *outTimestamp) const =0
CALL: Returns the current automation timestamp if called during the GenerateCoefficients() call AND t...
virtual AAX_Result SendNotification(AAX_CTypeID inNotificationType, const void *inNotificationData, uint32_t inNotificationDataSize)=0
CALL: Dispatch a notification.
virtual AAX_Result GetHostName(AAX_IString *outHostNameString) const =0
CALL: Returns name of the host application this plug-in instance is being loaded by....
virtual AAX_Result GetHybridSignalLatency(int32_t *outSamples) const =0
CALL: Returns the latency between the algorithm normal input samples and the inputs returning from th...
Interface for the AAX host's view of a single instance of an effect. Used by both clients of the AAXH...
Definition: AAX_IACFController.h:200
virtual AAX_Result GetIsAudioSuite(AAX_CBoolean *outIsAudioSuite) const =0
CALL: Returns true for AudioSuite instances.
virtual AAX_Result GetPlugInTargetPlatform(AAX_CTargetPlatform *outTargetPlatform) const =0
CALL: Returns execution platform type, native or TI.
Interface to the host's representation of a plug-in instance's page table.
Definition: AAX_IPageTable.h:25
A simple string container that can be passed across a binary boundary. This class,...
Definition: AAX_IString.h:38