| AAX SDK 2.6.1 Avid Audio Extensions Development Kit

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

- File List
- File Members

Loading...
Searching...
No Matches
AAX_IController.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
19/*================================================================================================*/
20
21
22#ifndef _AAX_ICONTROLLER_H_
23#define _AAX_ICONTROLLER_H_
24
25#include "AAX_Properties.h"
26#include "AAX_IString.h"
27#include "AAX.h"
28#include <memory>
29
30// Forward declarations
31 class AAX_IPageTable;
32
33
41 class AAX_IController
42{
43 public:
44
45 virtual ~AAX_IController(void) {}
46
52 virtual AAX_Result GetEffectID (
53 AAX_IString * outEffectID) const = 0;
60 virtual // AAX_VController
61 AAX_Result
62 GetSampleRate (
63 AAX_CSampleRate *outSampleRate ) const = 0;
70 virtual // AAX_VController
71 AAX_Result
72 GetInputStemFormat (
73 AAX_EStemFormat *outStemFormat ) const = 0;
80 virtual // AAX_VController
81 AAX_Result
82 GetOutputStemFormat (
83 AAX_EStemFormat *outStemFormat) const = 0;
100 virtual
101 AAX_Result
102 GetSignalLatency(
103 int32_t* outSamples) const = 0;
127 virtual
128 AAX_Result
129 GetCycleCount(
130 AAX_EProperty inWhichCycleCount,
131 AAX_CPropertyValue* outNumCycles) const = 0;
145 virtual
146 AAX_Result
147 GetTODLocation (
148 AAX_CTimeOfDay* outTODLocation ) const = 0;
150
180 virtual
181 AAX_Result
182 SetSignalLatency(
183 int32_t inNumSamples) = 0;
210 virtual
211 AAX_Result
212 SetCycleCount(
213 AAX_EProperty* inWhichCycleCounts,
214 AAX_CPropertyValue* iValues,
215 int32_t numValues) = 0;
217
248 virtual // AAX_VController
249 AAX_Result
250 PostPacket (
251 AAX_CFieldIndex inFieldIndex,
252 const void * inPayloadP,
253 uint32_t inPayloadSize) = 0;
255
283 virtual AAX_Result SendNotification (/* AAX_ENotificationEvent */ AAX_CTypeID inNotificationType, const void* inNotificationData, uint32_t inNotificationDataSize) = 0;
294 virtual AAX_Result SendNotification (/* AAX_ENotificationEvent */ AAX_CTypeID inNotificationType) = 0;
296
312 virtual AAX_Result GetCurrentMeterValue ( AAX_CTypeID inMeterID, float * outMeterValue ) const = 0;
321 virtual AAX_Result GetMeterPeakValue ( AAX_CTypeID inMeterID, float * outMeterPeakValue ) const = 0;
328 virtual AAX_Result ClearMeterPeakValue ( AAX_CTypeID inMeterID ) const = 0;
337 virtual AAX_Result GetMeterCount ( uint32_t * outMeterCount ) const = 0;
348 virtual AAX_Result GetMeterClipped ( AAX_CTypeID inMeterID, AAX_CBoolean * outClipped ) const = 0;
357 virtual AAX_Result ClearMeterClipped ( AAX_CTypeID inMeterID ) const = 0;
359
360
375 virtual AAX_Result GetNextMIDIPacket ( AAX_CFieldIndex* outPort, AAX_CMidiPacket* outPacket ) = 0;
377
392 virtual
393 AAX_Result GetHybridSignalLatency(int32_t* outSamples) const = 0;
408 virtual
409 AAX_Result GetCurrentAutomationTimestamp(AAX_CTransportCounter* outTimestamp) const = 0;
419 virtual
420 AAX_Result GetHostName(AAX_IString* outHostNameString) const = 0;
427 virtual
428 AAX_Result GetPlugInTargetPlatform(AAX_CTargetPlatform* outTargetPlatform) const = 0;
435 virtual
436 AAX_Result GetIsAudioSuite(AAX_CBoolean* outIsAudioSuite) const = 0;
437
464 virtual
465 AAX_IPageTable*
466 CreateTableCopyForEffect(
467 AAX_CPropertyValue inManufacturerID,
468 AAX_CPropertyValue inProductID,
469 AAX_CPropertyValue inPlugInID,
470 uint32_t inTableType,
471 int32_t inTablePageSize) const = 0;
472
496 virtual
497 AAX_IPageTable*
498 CreateTableCopyForLayout(
499 const char * inEffectID,
500 const char * inLayoutName,
501 uint32_t inTableType,
502 int32_t inTablePageSize) const = 0;
503
527 virtual
528 AAX_IPageTable*
529 CreateTableCopyForEffectFromFile(
530 const char* inPageTableFilePath,
531 AAX_ETextEncoding inFilePathEncoding,
532 AAX_CPropertyValue inManufacturerID,
533 AAX_CPropertyValue inProductID,
534 AAX_CPropertyValue inPlugInID,
535 uint32_t inTableType,
536 int32_t inTablePageSize) const = 0;
537
556 virtual
557 AAX_IPageTable*
558 CreateTableCopyForLayoutFromFile(
559 const char* inPageTableFilePath,
560 AAX_ETextEncoding inFilePathEncoding,
561 const char* inLayoutName,
562 uint32_t inTableType,
563 int32_t inTablePageSize) const = 0;
564};
565
566#endif // #ifndef _AAX_IPLUGIN_H_
AAX_ETextEncoding
AAX_ETextEncoding
Describes possible string encodings.
Definition: AAX_Enums.h:1331
AAX_EStemFormat
AAX_EStemFormat
Stem format definitions.
Definition: AAX_Enums.h:230
AAX.h
Various utility definitions for AAX.
AAX_CSampleRate
float AAX_CSampleRate
Literal sample rate value used by the sample rate field. For AAX_eProperty_SampleRate,...
Definition: AAX.h:331
AAX_CTimeOfDay
int64_t AAX_CTimeOfDay
Hardware running clock value. MIDI packet time stamps are measured against this clock....
Definition: AAX.h:329
AAX_Result
int32_t AAX_Result
Definition: AAX.h:334
AAX_CTargetPlatform
int32_t AAX_CTargetPlatform
Matches type of target platform.
Definition: AAX.h:344
AAX_CBoolean
uint8_t AAX_CBoolean
Cross-compiler boolean type used by AAX interfaces.
Definition: AAX.h:326
AAX_CPropertyValue
int32_t AAX_CPropertyValue
32-bit property values
Definition: AAX.h:335
AAX_CTransportCounter
int64_t AAX_CTransportCounter
Offset of samples from transport start. Same as TimeOfDay, but added for new interfaces as TimeOfDay ...
Definition: AAX.h:330
AAX_CTypeID
uint32_t AAX_CTypeID
Matches type of OSType used in classic plugins.
Definition: AAX.h:333
AAX_CFieldIndex
AAX_CIndex AAX_CFieldIndex
Not used by AAX plug-ins (except in AAX_FIELD_INDEX macro)
Definition: AAX.h:346
AAX_IString.h
An AAX string interface.
AAX_Properties.h
Contains IDs for properties that can be added to an AAX_IPropertyMap.
AAX_EProperty
AAX_EProperty
The list of properties that can be added to an AAX_IPropertyMap.
Definition: AAX_Properties.h:69
AAX_IController::GetHybridSignalLatency
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...
AAX_CMidiPacket
Packet structure for MIDI data.
Definition: AAX.h:636
AAX_IController
Interface for the AAX host's view of a single instance of an effect. Used by both clients of the AAX ...
Definition: AAX_IController.h:42
AAX_IController::SendNotification
virtual AAX_Result SendNotification(AAX_CTypeID inNotificationType, const void *inNotificationData, uint32_t inNotificationDataSize)=0
CALL: Dispatch a notification.
AAX_IController::GetCurrentMeterValue
virtual AAX_Result GetCurrentMeterValue(AAX_CTypeID inMeterID, float *outMeterValue) const =0
CALL: Retrieves the current value of a host-managed plug-in meter.
AAX_IController::SetCycleCount
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.
AAX_IController::GetMeterClipped
virtual AAX_Result GetMeterClipped(AAX_CTypeID inMeterID, AAX_CBoolean *outClipped) const =0
CALL: Retrieves the clipped flag from a host-managed plug-in meter.
AAX_IController::CreateTableCopyForLayout
virtual AAX_IPageTable * CreateTableCopyForLayout(const char *inEffectID, const char *inLayoutName, uint32_t inTableType, int32_t inTablePageSize) const =0
Copy the current page table data for a particular plug-in effect and page table layout.
AAX_IController::GetCycleCount
virtual AAX_Result GetCycleCount(AAX_EProperty inWhichCycleCount, AAX_CPropertyValue *outNumCycles) const =0
CALL: returns the plug-in's current real-time DSP cycle count.
AAX_IController::GetNextMIDIPacket
virtual AAX_Result GetNextMIDIPacket(AAX_CFieldIndex *outPort, AAX_CMidiPacket *outPacket)=0
CALL: Retrieves MIDI packets for described MIDI nodes.
AAX_IController::ClearMeterClipped
virtual AAX_Result ClearMeterClipped(AAX_CTypeID inMeterID) const =0
CALL: Clears the clipped flag from a host-managed plug-in meter.
AAX_IController::GetMeterCount
virtual AAX_Result GetMeterCount(uint32_t *outMeterCount) const =0
CALL: Retrieves the number of host-managed meters registered by a plug-in.
AAX_IController::CreateTableCopyForLayoutFromFile
virtual AAX_IPageTable * CreateTableCopyForLayoutFromFile(const char *inPageTableFilePath, AAX_ETextEncoding inFilePathEncoding, const char *inLayoutName, uint32_t inTableType, int32_t inTablePageSize) const =0
Copy the current page table data for a particular plug-in effect and page table layout.
AAX_IController::GetPlugInTargetPlatform
virtual AAX_Result GetPlugInTargetPlatform(AAX_CTargetPlatform *outTargetPlatform) const =0
CALL: Returns execution platform type, native or TI.
AAX_IController::CreateTableCopyForEffectFromFile
virtual AAX_IPageTable * CreateTableCopyForEffectFromFile(const char *inPageTableFilePath, AAX_ETextEncoding inFilePathEncoding, AAX_CPropertyValue inManufacturerID, AAX_CPropertyValue inProductID, AAX_CPropertyValue inPlugInID, uint32_t inTableType, int32_t inTablePageSize) const =0
Copy the current page table data for a particular plug-in type.
AAX_IController::GetMeterPeakValue
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.
AAX_IController::~AAX_IController
virtual ~AAX_IController(void)
Definition: AAX_IController.h:45
AAX_IController::ClearMeterPeakValue
virtual AAX_Result ClearMeterPeakValue(AAX_CTypeID inMeterID) const =0
CALL: Clears the peak value from a host-managed plug-in meter.
AAX_IController::GetOutputStemFormat
virtual AAX_Result GetOutputStemFormat(AAX_EStemFormat *outStemFormat) const =0
CALL: Returns the plug-in's output stem format.
AAX_IController::GetInputStemFormat
virtual AAX_Result GetInputStemFormat(AAX_EStemFormat *outStemFormat) const =0
CALL: Returns the plug-in's input stem format.
AAX_IController::GetEffectID
virtual AAX_Result GetEffectID(AAX_IString *outEffectID) const =0
AAX_IController::GetHostName
virtual AAX_Result GetHostName(AAX_IString *outHostNameString) const =0
CALL: Returns name of the host application this plug-in instance is being loaded by....
AAX_IController::GetSignalLatency
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.
AAX_IController::SendNotification
virtual AAX_Result SendNotification(AAX_CTypeID inNotificationType)=0
CALL: Sends an event to the GUI (no payload)
AAX_IController::CreateTableCopyForEffect
virtual AAX_IPageTable * CreateTableCopyForEffect(AAX_CPropertyValue inManufacturerID, AAX_CPropertyValue inProductID, AAX_CPropertyValue inPlugInID, uint32_t inTableType, int32_t inTablePageSize) const =0
Copy the current page table data for a particular plug-in type.
AAX_IController::PostPacket
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.
AAX_IController::SetSignalLatency
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 ...
AAX_IController::GetIsAudioSuite
virtual AAX_Result GetIsAudioSuite(AAX_CBoolean *outIsAudioSuite) const =0
CALL: Returns true for AudioSuite instances.
AAX_IController::GetCurrentAutomationTimestamp
virtual AAX_Result GetCurrentAutomationTimestamp(AAX_CTransportCounter *outTimestamp) const =0
CALL: Returns the current automation timestamp if called during the GenerateCoefficients() call AND t...
AAX_IController::GetSampleRate
virtual AAX_Result GetSampleRate(AAX_CSampleRate *outSampleRate) const =0
CALL: Returns the current literal sample rate.
AAX_IController::GetTODLocation
virtual AAX_Result GetTODLocation(AAX_CTimeOfDay *outTODLocation) const =0
CALL: Returns the current Time Of Day (TOD) of the system.
AAX_IPageTable
Interface to the host's representation of a plug-in instance's page table.
Definition: AAX_IPageTable.h:25
AAX_IString
A simple string container that can be passed across a binary boundary. This class,...
Definition: AAX_IString.h:38