| AAX SDK 2.8.0 Avid Audio Extensions Development Kit

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

Loading...
Searching...
No Matches
Host Support
AAX SDK Manual » Supplemental Information

Supported features in each AAX host.

# Host Support

These tables list AAX host support for various AAX interfaces, as well as support for general features. The tables include the version number for the earliest version of each Avid host software which supports the given interface or feature.
The earliest version of each host to support AAX plug-ins is:

- Pro Tools 10.0
- Media Composer 8.1
- VENUE 4.1

For more information about versioning in AAX, including how to check for host support of a particular interface, see The Avid Component Framework (ACF).

## Platform Support

| Pro Tools | Media Composer | VENUE |
AAX Native | 10.0 | 8.1 | none |
AAX DSP | 10.0 | none | 4.1 |
AAX Hybrid | 11.0* | none | none |
Offline processing (AudioSuite) | 10.0 | 8.1** | none |
`ProcessProc` / data model co-location | 10.0 | 8.1 | none |
`Monolithic` topology | 10.0 | 8.1 | none |
Native processor architecture | 10: x86/i386 11+: x86_64 | 8.1+: x86_64 | 4.1: x86/i386 4.5+: x86_64 |
Compatibility with arm64/x86_64 FAT binaries on macOS | 2021.10 |  | n/a |
Properties File | 2024.3 | none | none |

Note
  Pro Tools 11.0 supports AAX Hybrid processing for real-time plug-ins only. Support for AudioSuite processing for AAX Hybrid is supported starting in Pro Tools 11.1.
  Media Composer 8.5 and higher support both multichannel and mono AudioSuite processing. Earlier versions of Media Composer support mono only.

## Describe Interfaces

| Pro Tools | Media Composer | VENUE |
AAX_IACFCollection | 10.0 | 8.1 | 4.1 |
AAX_IACFComponentDescriptor | 10.0 | 8.1 | 4.1 |
V2 | 11.0 | 8.1 | 4.5? |
V3 | 12.8 | none | 5.6 |
AAX_IACFEffectDescriptor | 10.0 | 8.1 | 4.1 |
V2 | 11.0 | 8.1 | 4.5? |
AAX_IACFPropertyMap | 10.0 | 8.1 | 4.1 |
V2 | 11.0 | 8.1 | 4.5? |
V3 | 12.9 | none | 5.6 |
AAX_IACFDescriptionHost | 12.8 | none | none |
AAX_IACFFeatureInfo | 12.8 | none | none |

## Run-Time Interfaces

| Pro Tools | Media Composer | VENUE |
AAX_IACFAutomationDelegate | 10.0 | 8.1 | 4.1 |
AAX_IACFController | 10.0 | 8.1 | 4.1 |
V2 | 11.0 | 8.1 | none |
V3 | 12.4 | 8.6 | none |
AAX_IACFEffectDirectData | 10.0 | 8.1 | 4.1 |
V2 |  |  |  |
AAX_IACFEffectGUI | 10.0 | 8.1 | 4.1 |
AAX_IACFEffectParameters | 10.0 | 8.1 | 4.1 |
V2 | 11.0 | 8.1 | 4.5? |
V3 | 11.2 | 8.1 | none |
V4 | none | none | 5.6 |
AAX_IACFHostProcessor | 10.0 | 8.1 | none |
V2 | 12.0 | none | none |
AAX_IACFHostProcessorDelegate | 10.0 | none | none |
V2 | 11.0 | none | none |
V3 | 12.0 | none | none |
AAX_IACFHostServices | 10.0 | 8.1 | 4.1? |
V2 | 12.0 | 8.6 | none |
V3 | 12.8.3 | none | none |
AAX_IACFPageTable | 12.8 | none | 5.7 |
V2 | 12.8.2 | none | 5.7 |
AAX_IACFPageTableController | none | none | 5.7 |
AAX_IACFPrivateDataAccess | 10.0 | 8.1 | 4.1 |
AAX_IACFSessionDocument | 2023.6.0 | none | none |
AAX_IACFSessionDocumentClient | 2023.6.0 | none | none |
AAX_IACFTaskAgent | none | none | none |
AAX_IACFTransport | 10.0 | 8.5 (partial) | none |
V2 | 10.3.7 | 8.5 (partial) | none |
V3 | 2021.3 |  | none |
V4 | 2023.9 |  | none |
V5 | 2024.3 |  | none |
AAX_IACFTransportControl | 2023.9 | none | none |
AAX_IACFViewContainer | 10.0 | 8.1 | 4.1 |
V2 | 12.0.1 | none | none |
V3 | 2022.4 | none | none |

## Features

| Pro Tools | Media Composer | VENUE |
Basic Stem Formats (mono through 7.1) | 10.0 | 8.1 | none |
7.x.2 Stem Formats | 12.8 | none | none |
Surround Stem Formats (5.0.2 to 9.1.6) | none | none | none |
Ambisonics Stem Formats (first through third order) | 12.8.2 | none | none |
Ambisonics Stem Formats (fourth through seventh order) | none | none | none |
Plug-in type conversion | 10.3.8, 11.0*, 11.1 | none | none |
Auxiliary Output Stems | 10.0 | none | none |
Sidechain Inputs | 10.0 | 8.5 | none |
MIDI | 10.0 | none | none |
Automation recording and playback | 10.0 | none | none |
Plug-in presets | 10.0 | 8.4 | 4.1 |
External control surfaces | 10.0 | 8.1 | none |

# Host Compatibility Notes

See also
  Compatibility Notes in the Pro Tools Guide document

Member AAX_CMidiPacket::mIsImmediate
  This value is not currently set. Use `mTimestamp == 0` to detect immediate packets
Member AAX_CParameter< T >::AAX_CParameter (AAX_CParamID identifier, const AAX_IString &name, T defaultValue, const AAX_ITaperDelegate< T > &taperDelegate, const AAX_IDisplayDelegate< T > &displayDelegate, bool automatable=false)

  As of Pro Tools 10.2, DAE will check for a matching parameter NAME and not an ID when reading in automation data from a session saved with an AAX plug-ins RTAS/TDM counter part.

  As of Pro Tools 11.1, AAE will first try to match ID. If that fails, AAE will fall back to matching by Name.

Module AAX_DigiTrace_Guide
  This feature is available in Pro Tools 12.6 and higher
Member AAX_eConstraintLocationMask_DLLChipAffinity
  This constraint is supported in Pro Tools 10.2 and higher
Member AAX_eCurveType_Dynamics
  Pro Tools requests this curve type for Dynamics plug-ins only
Member AAX_eCurveType_EQ
  Pro Tools requests this curve type for EQ plug-ins only
Member AAX_eCurveType_Reduction
  Pro Tools requests this curve type for Dynamics plug-ins only
Member AAX_eDataInPortType_Incremental
  Supported in Pro Tools 12.5 and higher; when AAX_eDataInPortType_Incremental is not supported the port will be treated as AAX_eDataInPortType_Unbuffered
Member AAX_EHostModeBits
  Supported in Venue 5.6 and higher
Member AAX_eNotificationEvent_ASPreviewState

  Supported in Pro Tools 11 and higher

  Not supported by Media Composer

Member AAX_eNotificationEvent_ASProcessingState

  Supported in Pro Tools 11 and higher

  Not supported by Media Composer

Member AAX_eNotificationEvent_DelayCompensationState
  Supported in Pro Tools 12.6 and higher
Member AAX_eNotificationEvent_EnteringOfflineMode
  Supported in Pro Tools 11 and higher
Member AAX_eNotificationEvent_ExitingOfflineMode
  Supported in Pro Tools 11 and higher
Member AAX_eNotificationEvent_HostLocale
  Supported in Pro Tools 2024.3 and higher
Member AAX_eNotificationEvent_HostModeChanged
  Supported in Venue 5.6 and higher
Member AAX_eNotificationEvent_LogState
  Pro Tools currently only sends this notification to the Direct Data object in the plug-in
Member AAX_eNotificationEvent_MaxViewSizeChanged
  Supported in Pro Tools 11.1 and higher
Member AAX_eNotificationEvent_ParameterNameChanged
  Supported in Pro Tools 2023.3 and higher
Member AAX_eNotificationEvent_PresetOpened
  Supported in Pro Tools 11 and higher
Member AAX_eNotificationEvent_PriorSettingsInvalid
  Supported in Venue 5.6 and higher
Member AAX_eNotificationEvent_SessionBeingOpened

  Supported in Pro Tools 11 and higher

  Not supported by Media Composer

Member AAX_eNotificationEvent_SessionPathChanged
  Supported in Pro Tools 11.1 and higher
Member AAX_eNotificationEvent_SideChainBeingConnected
  Supported in Pro Tools 11.1 and higher
Member AAX_eNotificationEvent_SideChainBeingDisconnected
  Supported in Pro Tools 11.1 and higher
Member AAX_eNotificationEvent_SignalLatencyChanged
  Supported in Pro Tools 11.1 and higher
Member AAX_eNotificationEvent_TrackNameChanged

  Supported in Pro Tools 11.2 and higher

  Not supported by Media Composer

Member AAX_eNotificationEvent_TransportStateChanged
  Supported in Pro Tools 2021.10 and higher
Member AAX_ePlugInStrings_Progress

  Not currently supported by Pro Tools

Member AAX_eProcessingState_BeginPassGroup
  AudioSuite pass group notifications are supported starting in Pro Tools 12.0
Member AAX_eProcessingState_EndPassGroup
  AudioSuite pass group notifications are supported starting in Pro Tools 12.0
Member AAX_eProperty_Constraint_NeverUnload
  AAX_eProperty_Constraint_NeverUnload is not currently implemented in DAE or AAE
Member AAX_eProperty_DestinationTrack
  This property is not supported on Media Composer
Member AAX_eProperty_LatencyContribution
  Maximum delay compensation limits will vary from host to host. If your plug-in exceeds the delay compensation sample limit for a given AAX host then you should note this limitation in your user documentation. Example limits:
  - Pro Tools 9 and higher: 16,383 samples at 44.1/48 kHz, 32,767 samples at 88.2/96 kHz, or 65,534 samples at 176.4/192 kHz
  - Media Composer 8.1 and higher: 16,383 samples at 44.1/48 kHz, 32,767 samples at 88.2/96 kHz
Member AAX_eProperty_OptionalAnalysis
  In Media Composer, optional analysis will also be performed automatically before each channel is rendered. See MCDEV-2904
Member AAX_eProperty_SideChainStemFormat

  Currently Pro Tools supports only AAX_eStemFormat_Mono side chain inputs

  AAX_eProperty_SideChainStemFormat is not currently implemented in DAE or AAE

Member AAX_eProperty_UsesClientGUI
  Currently supported by Pro Tools only
Member AAX_IACFEffectParameters::CompareActiveChunk (const AAX_SPlugInChunk *iChunkP, AAX_CBoolean *oIsEqual) const =0
  In Pro Tools, this method will only be called if a prior call to GetNumberOfChanges() has indicated that the plug-in's state has changed. If the plug-in's current settings are different from the settings in `aChunkP` then the plug-in's Compare Light will be illuminated in the plug-in header, allowing users to toggle between the plug-in's custom state and its saved state.
Member AAX_IACFEffectParameters::GetCurveData (AAX_CTypeID iCurveType, const float *iValues, uint32_t iNumValues, float *oValues) const =0
  Versions of S6 software which support the GetCurveDataDisplayRange() method will not display a plug-in's curve data unless both GetCurveData() and GetCurveDataDisplayRange() are supported by the plug-in.
Member AAX_IACFEffectParameters::GetParameterNameOfLength (AAX_CParamID iParameterID, AAX_IString *oName, int32_t iNameLength) const =0
  In most cases, the AAX host will call GetParameterName() or GetParameterNameOfLength() to retrieve parameter names for display. However, when Pro Tools is retrieving a plug-in name for display on a control surface the XML data stored in the plug-in's page tables will be used in preference to values retrieved from these methods.
Member AAX_IComponentDescriptor::AddAuxOutputStem (AAX_CFieldIndex inFieldIndex, int32_t inStemFormat, const char inNameUTF8[])=0

  There is a hard limit to the number of outputs that Pro Tools supports for a single plug-in instance. This limit is currently set at 256 channels, which includes all of the plug-in's output channels in addition to the sum total of all of its aux output stem channels.

  Pro Tools supports only mono and stereo auxiliary output stem formats

Member AAX_IComponentDescriptor::AddClock (AAX_CFieldIndex inFieldIndex)=0
  As of Pro Tools 11.1, this field may be used in both Native and DSP plug-ins. The DSP clock data is a 16-bit cycling counter. This field was only available for Native plug-ins in previous Pro Tools versions.
Member AAX_IComponentDescriptor::AddMIDINode (AAX_CFieldIndex inFieldIndex, AAX_EMIDINodeType inNodeType, const char inNodeName[], uint32_t channelMask)=0
  Due to current restrictions MIDI data won't be delivered to DSP algorithms, only to AAX Native.
Member AAX_IController::GetHostName (AAX_IString *outHostNameString) const =0
  Pro Tools versions from Pro Tools 11.0 to Pro Tools 12.3.1 will return a generic version string to this call. This issue is resolved beginning in Pro Tools 12.4.
Member AAX_IMIDINode::PostMIDIPacket (AAX_CMidiPacket *packet)=0
  Pro Tools supports the following MIDI events from plug-ins:
  - NoteOn
  - NoteOff
  - Pitch bend
  - Polyphonic key pressure
  - Bank select (controller #0)
  - Program change (no bank)
  - Channel pressure
Member AAX_ITransport::GetBarBeatPosition (int32_t *Bars, int32_t *Beats, int64_t *DisplayTicks, int64_t SampleLocation) const =0
  There is a minor performance cost associated with using this API in Pro Tools. It should not be used excessively without need.
Member AAX_ITransport::GetCurrentLoopPosition (bool *bLooping, int64_t *LoopStartTick, int64_t *LoopEndTick) const =0
  This does not indicate anything about the status of the "Loop Record" option. Even when the host is configured to loop playback, looping may not occur if certain conditions are not met (i.e. the length of the selection is too short)
Member AAX_ITransport::GetCurrentTickPosition (int64_t *TickPosition) const =0
  The tick resolution here is different than that of the tick displayed in Pro Tools. "Display ticks" (as they are called) are 1/960 of a quarter note.
Member AAX_ITransport::GetCustomTickPosition (int64_t *oTickPosition, int64_t iSampleLocation) const =0
  There is a minor performance cost associated with using this API in Pro Tools. It should not be used excessively without need.
Member AAX_IViewContainer::GetModifiers (uint32_t *outModifiers)=0
  Although this method allows plug-ins to acquire the current state of the Windows key (normally blocked by Pro Tools), plug-ins should not use key combinations that require this key.
Module AAX_Media_Composer_Guide
  Some early versions of Media Composer 8 do not search the system plug-ins directory recursively. If your plug-ins are installed into a sub-directory beneath this main directory then they will not be loaded by the affected versions of Media Composer.
Module AAX_Page_Table_Guide
  Pro Tools versions prior to Pro Tools 11.1 use plug-ins' ProControl and ICON page tables (Dynamics, EQ, Channel Strip, Custom Fader, etc.) to map plug-in parameters to EUCON-enabled surfaces, so be sure that your plug-ins also implement these page tables correctly so that users with earlier versions of Pro Tools can have the best possible experience when using your plug-ins.
Module AAX_Pro_Tools_Guide

  Pro Tools requires PACE Eden digital signatures for AAX plug-ins.

  Supported in Pro Tools 2019.XX and higher. Also supported (and enabled by default) in Pro Tools developer builds beginning with Pro Tools 2019.6.

Module AAX_TI_Guide

  32 and 64-sample quantum is available in Pro Tools 10.2 and higher

  Beginning in Pro Tools 11, AAX DSP algorithms also support optional temporary data spaces that can be described in the Describe module and are shared among all instances on a DSP. This is an alternative to declaring large data blocks on the stack for better memory management and to prevent stack overflows. Please refer to AAX_IComponentDescriptor::AddTemporaryData() for usage instructions.

Module AdditionalFeatures_CurveDisplays
  For S6 control surface displays, see PT-226228 and PT-226227 in the Known Issues page for more information about the requirements listed in this section.
Module advancedTopics_relatedTypes

  Pro Tools versions prior to Pro Tools 12.3 do not allow explicit type conversion between types with different product ID values. Beginning in Pro Tools 12.3 both the product ID and the plug-in ID may differ between explicitly related types.

Module AuxInterface_TaskAgent
  This interface is not yet used in any AAX hosts
Module CommonInterface_Algorithm
  As of Pro Tools 10.2.1 an algorithm's initialization calllback routine will have up to 5 seconds to execute.
Module CommonInterface_FormatSpecification

  *`_ACFGetSDKVersion` is required for 64-bit AAX plug-ins only

Module ExamplePlugIns
  The DemoDelay_DynamicLatencyComp example is compatible with Pro Tools 11.1 and higher.

Collaboration diagram for Host Support: