AAX SDK  2.4.1
Avid Audio Extensions Development Kit
Enumerations | Functions
AAX_Properties.h File Reference
#include "AAX.h"

Go to the source code of this file.

Description

Contains IDs for properties that can be added to an AAX_IPropertyMap.

Enumerations

enum  AAX_EProperty : int32_t {
  AAX_eProperty_NoID = 0 ,
  AAX_eProperty_MinProp = 10 ,
  AAX_eProperty_PlugInSpecPropsBase = 10 ,
  AAX_eProperty_ManufacturerID = 11 ,
  AAX_eProperty_ProductID = 12 ,
  AAX_eProperty_PlugInID_Native = 13 ,
  AAX_eProperty_PlugInID_RTAS = AAX_eProperty_PlugInID_Native ,
  AAX_eProperty_PlugInID_AudioSuite = 14 ,
  AAX_eProperty_PlugInID_TI = 15 ,
  AAX_eProperty_PlugInID_NoProcessing = 16 ,
  AAX_eProperty_PlugInID_Deprecated = 18 ,
  AAX_eProperty_Deprecated_Plugin_List = 21 ,
  AAX_eProperty_Related_DSP_Plugin_List = 22 ,
  AAX_eProperty_Related_Native_Plugin_List = 23 ,
  AAX_eProperty_Deprecated_DSP_Plugin_List = 24 ,
  AAX_eProperty_Deprecated_Native_Plugin_List = AAX_eProperty_Deprecated_Plugin_List ,
  AAX_eProperty_PlugInID_ExternalProcessor = 25 ,
  AAX_eProperty_ExternalProcessorTypeID = 26 ,
  AAX_eProperty_ProcessProcPropsBase = 35 ,
  AAX_eProperty_NativeProcessProc = 36 ,
  AAX_eProperty_NativeInstanceInitProc = 37 ,
  AAX_eProperty_NativeBackgroundProc = 38 ,
  AAX_eProperty_TIDLLFileName = 39 ,
  AAX_eProperty_TIProcessProc = 40 ,
  AAX_eProperty_TIInstanceInitProc = 41 ,
  AAX_eProperty_TIBackgroundProc = 42 ,
  AAX_eProperty_GeneralPropsBase = 50 ,
  AAX_eProperty_InputStemFormat = 51 ,
  AAX_eProperty_OutputStemFormat = 52 ,
  AAX_eProperty_DSP_AudioBufferLength = 54 ,
  AAX_eProperty_AudioBufferLength = AAX_eProperty_DSP_AudioBufferLength ,
  AAX_eProperty_LatencyContribution = 56 ,
  AAX_eProperty_SampleRate = 58 ,
  AAX_eProperty_CanBypass = 60 ,
  AAX_eProperty_SideChainStemFormat = 61 ,
  AAX_eProperty_TI_SharedCycleCount = 62 ,
  AAX_eProperty_TI_InstanceCycleCount = 63 ,
  AAX_eProperty_TI_MaxInstancesPerChip = 64 ,
  AAX_eProperty_TI_ForceAllowChipSharing = 65 ,
  AAX_eProperty_AlwaysBypass = 75 ,
  AAX_eProperty_HybridOutputStemFormat = 90 ,
  AAX_eProperty_HybridInputStemFormat = 91 ,
  AAX_eProperty_AudiosuitePropsBase = 100 ,
  AAX_eProperty_UsesRandomAccess = 101 ,
  AAX_eProperty_RequiresAnalysis = 102 ,
  AAX_eProperty_OptionalAnalysis = 103 ,
  AAX_eProperty_AllowPreviewWithoutAnalysis = 104 ,
  AAX_eProperty_DestinationTrack = 105 ,
  AAX_eProperty_RequestsAllTrackData = 106 ,
  AAX_eProperty_ContinuousOnly = 107 ,
  AAX_eProperty_MultiInputModeOnly = 108 ,
  AAX_eProperty_DisablePreview = 110 ,
  AAX_eProperty_DoesntIncrOutputSample = 112 ,
  AAX_eProperty_NumberOfInputs = 113 ,
  AAX_eProperty_NumberOfOutputs = 114 ,
  AAX_eProperty_DisableHandles = 115 ,
  AAX_eProperty_SupportsSideChainInput = 116 ,
  AAX_eProperty_NeedsOutputDithered = 117 ,
  AAX_eProperty_DisableAudiosuiteReverse = 118 ,
  AAX_eProperty_MaxASProp ,
  AAX_eProperty_GUIBase = 150 ,
  AAX_eProperty_UsesClientGUI = 151 ,
  AAX_eProperty_MaxGUIProp ,
  AAX_eProperty_MeterBase = 199 ,
  AAX_eProperty_Meter_Type = 200 ,
  AAX_eProperty_Meter_Orientation = 201 ,
  AAX_eProperty_Meter_Ballistics = 202 ,
  AAX_eProperty_MaxMeterProp ,
  AAX_eProperty_ConstraintBase = 299 ,
  AAX_eProperty_Constraint_Location = 300 ,
  AAX_eProperty_Constraint_Topology = 301 ,
  AAX_eProperty_Constraint_NeverUnload = 302 ,
  AAX_eProperty_Constraint_NeverCache = 303 ,
  AAX_eProperty_Constraint_MultiMonoSupport = 304 ,
  AAX_eProperty_MaxConstraintProp ,
  AAX_eProperty_FeaturesBase = 305 ,
  AAX_eProperty_SupportsSaveRestore = 305 ,
  AAX_eProperty_UsesTransport = 306 ,
  AAX_eProperty_StoreXMLPageTablesByEffect = 307 ,
  AAX_eProperty_StoreXMLPageTablesByType = AAX_eProperty_StoreXMLPageTablesByEffect ,
  AAX_eProperty_RequiresChunkCallsOnMainThread = 308 ,
  AAX_eProperty_ObservesTransportState = 309 ,
  AAX_eProperty_MaxFeaturesProp ,
  AAX_eProperty_ConstraintBase_2 = 350 ,
  AAX_eProperty_Constraint_AlwaysProcess = 351 ,
  AAX_eProperty_Constraint_DoNotApplyDefaultSettings = 352 ,
  AAX_eProperty_MaxConstraintProp_2 ,
  AAX_eProperty_DebugPropertiesBase = 400 ,
  AAX_eProperty_EnableHostDebugLogs = 401 ,
  AAX_eProperty_MaxProp ,
  AAX_eProperty_MaxCap = 10000
}
 The list of properties that can be added to an AAX_IPropertyMap. More...
 

Functions

 AAX_ENUM_SIZE_CHECK (AAX_EProperty)
 

Enumeration Type Documentation

◆ AAX_EProperty

enum AAX_EProperty : int32_t

The list of properties that can be added to an AAX_IPropertyMap.

See AAX_IPropertyMap::AddProperty() for more information

Sections

Enumerator
AAX_eProperty_NoID 
AAX_eProperty_MinProp 
AAX_eProperty_PlugInSpecPropsBase 
AAX_eProperty_ManufacturerID 

Four-character osid-style manufacturer identifier.

Should be registered with Avid, and must be identical for all plug-ins from the same manufacturer.

  • Apply this property at the ProcessProc level for plug-ins that support audio processing using a ProcessProc callback, or at the Effect level for all other plug-ins.
Legacy Porting Notes:
For legacy plug-in session compatibility, this ID should match the Manufacturer ID used in the corresponding legacy plug-ins.
AAX_eProperty_ProductID 

Four-character osid-style Effect identifier.

Must be identical for all ProcessProcs within a single Effect.

  • Apply this property at the ProcessProc level for plug-ins that support audio processing using a ProcessProc callback, or at the Effect level for all other plug-ins.
Legacy Porting Notes:
For legacy plug-in session compatibility, this ID should match the Product ID used in the corresponding legacy plug-in.
AAX_eProperty_PlugInID_Native 

Four-character osid-style plug-in type identifier for real-time native audio Effects.

All registered plug-in type IDs (AAX_eProperty_PlugInID_Native, AAX_eProperty_PlugInID_AudioSuite, AAX_eProperty_PlugInID_TI, etc.) must be unique across all ProcessProcs registered within a single Effect.

Warning
As with all plug-in ID properties, this value must remain constant across all releases of the plug-in which support this Effect configuration. The value of this property should be stored in a constant rather than being calculated at run-time in order to avoid unresolvable compatibility issues with saved sessions which can occur of an ID value is accidentally changed between two plug-in version releases.
  • Apply this property at the ProcessProc level
Legacy Porting Notes:
For legacy plug-in session compatibility, this ID should match the Type ID used in the corresponding legacy RTAS plug-in Types.
AAX_eProperty_PlugInID_RTAS 
Deprecated:
Use AAX_eProperty_PlugInID_Native
AAX_eProperty_PlugInID_AudioSuite 

Four-character osid-style plug-in type identifier for offline native audio Effects.

All registered plug-in type IDs (AAX_eProperty_PlugInID_Native, AAX_eProperty_PlugInID_AudioSuite, AAX_eProperty_PlugInID_TI, etc.) must be unique across all ProcessProcs registered within a single Effect.

  • Apply this property at the ProcessProc level for plug-ins that support audio processing using a ProcessProc callback, or at the Effect level for all other AudioSuite plug-ins (e.g. those that use the AAX_IHostProcessor interface.)
Legacy Porting Notes:
For legacy plug-in session compatibility, this ID should match the Type ID used in the corresponding legacy AudioSuite plug-in Types.
AAX_eProperty_PlugInID_TI 

Four-character osid-style plug-in type identifier for real-time TI-accelerated audio Effect types.

All registered plug-in type IDs (AAX_eProperty_PlugInID_Native, AAX_eProperty_PlugInID_AudioSuite, AAX_eProperty_PlugInID_TI, etc.) must be unique across all ProcessProcs registered within a single Effect.

Warning
As with all plug-in ID properties, this value must remain constant across all releases of the plug-in which support this Effect configuration. The value of this property should be stored in a constant rather than being calculated at run-time in order to avoid unresolvable compatibility issues with saved sessions which can occur of an ID value is accidentally changed between two plug-in version releases.
  • Apply this property at the ProcessProc level
Legacy Porting Notes:
For legacy plug-in session compatibility, this ID should match the Type ID used in the corresponding legacy TDM plug-in Types.
AAX_eProperty_PlugInID_NoProcessing 

Four-character osid-style plug-in type identifier for Effect types that do not process audio.

All registered plug-in type IDs (AAX_eProperty_PlugInID_Native, AAX_eProperty_PlugInID_AudioSuite, AAX_eProperty_PlugInID_TI, etc.) must be unique across all ProcessProcs registered within a single Effect.

Warning
As with all plug-in ID properties, this value must remain constant across all releases of the plug-in which support this Effect configuration. The value of this property should be stored in a constant rather than being calculated at run-time in order to avoid unresolvable compatibility issues with saved sessions which can occur of an ID value is accidentally changed between two plug-in version releases.
  • Apply this property at the Effect level
AAX_eProperty_PlugInID_Deprecated 

Four-character osid-style plug-in type identifier for a corresponding deprecated type.

Only one deprecated effect ID may correspond to each valid (non-deprecated) effect ID. To associate a plug-in type with more than one deprecated type, use the following properties instead:

  • Apply this property at the ProcessProc level
AAX_eProperty_Deprecated_Plugin_List 
Deprecated:
Use AAX_eProperty_Deprecated_Native_Plugin_List and AAX_eProperty_Deprecated_DSP_Plugin_List See AAX_eProperty_PlugInID_RTAS for an example.
AAX_eProperty_Related_DSP_Plugin_List 

Specify a list of DSP plug-ins that are related to a plug-in type.

  • For example, use this property inside a Native process to tell the host that this plug-in can be used in place of a DSP version.
  • This property must be applied at the ProcessProc level and used with the AAX_IPropertyMap::AddPropertyWithIDArray method, which takes a list of full plug-in identifier specification triads (ManufacturerID, ProductID, PluginID)
AAX_eProperty_Related_Native_Plugin_List 

Specify a list of Native plug-ins that are related to a plug-in type.

  • This property must be applied at the ProcessProc level and used with the AAX_IPropertyMap::AddPropertyWithIDArray method, which takes a list of full plug-in identifier specification triads (ManufacturerID, ProductID, PluginID)
AAX_eProperty_Deprecated_DSP_Plugin_List 

Specify a list of DSP plug-ins that are deprecated by a new plug-in type.

  • This property must be applied at the ProcessProc level and used with the AddPropertyWithIDArray, which is a list of full plug-in specs (ManufacturerID, ProductID, PluginID)
AAX_eProperty_Deprecated_Native_Plugin_List 

Specify a list of Native plug-ins that are deprecated by a new plug-in type.

  • This property must be applied at the ProcessProc level and used with the AddPropertyWithIDArray, which is a list of full plug-in specs (ManufacturerID, ProductID, PluginID)
AAX_eProperty_PlugInID_ExternalProcessor 

Four-character osid-style plug-in type identifier for audio effects rendered on external hardware.

Note
This property is not currently used by any AAX plug-in host software

All registered plug-in type IDs must be unique across all ProcessProcs registered within a single Effect.

Warning
As with all plug-in ID properties, this value must remain constant across all releases of the plug-in which support this Effect configuration. The value of this property should be stored in a constant rather than being calculated at run-time in order to avoid unresolvable compatibility issues with saved sessions which can occur of an ID value is accidentally changed between two plug-in version releases.
  • Apply this property at the ProcessProc level
AAX_eProperty_ExternalProcessorTypeID 

Identifier for the type of the external processor hardware.

See also
AAX_eProperty_PlugInID_ExternalProcessor

The value of this property will be specific to the external processor hardware. Currently there are no public external processor hardware type IDs.

  • Apply this property at the ProcessProc level
AAX_eProperty_ProcessProcPropsBase 
AAX_eProperty_NativeProcessProc 

Address of a native effect's ProcessProc callback

Data type: AAX_CProcessProc

For use with AAX_IComponentDescriptor::AddProcessProc()

AAX_eProperty_NativeInstanceInitProc 

Address of a native effect's instance initialization callback

Data type: AAX_CInstanceInitProc

For use with AAX_IComponentDescriptor::AddProcessProc()

AAX_eProperty_NativeBackgroundProc 

Address of a native effect's background callback

Data type: AAX_CBackgroundProc

For use with AAX_IComponentDescriptor::AddProcessProc()

AAX_eProperty_TIDLLFileName 

Name of the DLL for a TI effect

Data type: UTF-8 C-string

For use with AAX_IComponentDescriptor::AddProcessProc()

AAX_eProperty_TIProcessProc 

Name of a TI effect's ProcessProc callback

Data type: C-string

For use with AAX_IComponentDescriptor::AddProcessProc()

AAX_eProperty_TIInstanceInitProc 

Name of a TI effect's instance initialization callback

Data type: C-string

For use with AAX_IComponentDescriptor::AddProcessProc()

AAX_eProperty_TIBackgroundProc 

Name of a TI effect's background callback

Data type: C-string

For use with AAX_IComponentDescriptor::AddProcessProc()

AAX_eProperty_GeneralPropsBase 
AAX_eProperty_InputStemFormat 

Input stem format. One of AAX_EStemFormat.

  • Apply this property at the ProcessProc level

For offline processing, use AAX_eProperty_NumberOfInputs

AAX_eProperty_OutputStemFormat 

Output stem format. One of AAX_EStemFormat.

  • Apply this property at the ProcessProc level

For offline processing, use AAX_eProperty_NumberOfOutputs

AAX_eProperty_DSP_AudioBufferLength 

Audio buffer length for DSP processing callbacks. One of AAX_EAudioBufferLengthDSP.

  • Apply this property at the ProcessProc level
  • This property is only applicable to DSP algorithms
AAX_eProperty_AudioBufferLength 
Deprecated:
Use AAX_eProperty_DSP_AudioBufferLength
AAX_eProperty_LatencyContribution 

Default latency contribution of a given processing callback, in samples.

  • Apply this property at the ProcessProc level

Unlike most properties, an Effect's latency contribution may also be changed dynamically at runtime. This is done via AAX_IController::SetSignalLatency(). Dynamic latency reporting may not be recognized by the host application in all circumstances, however, so Effects should always define any nonzero initial latency value using AAX_eProperty_LatencyContribution

Host Compatibility Notes:
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
AAX_eProperty_SampleRate 

Specifies which sample rates the Effect supports. A mask of AAX_ESampleRateMask.

  • Apply this property at the ProcessProc level
See also
AAX_IComponentDescriptor::AddSampleRate()
AAX_eProperty_CanBypass 

The plug-in supports a Master Bypass control.

  • Apply this property at the ProcessProc level

Nearly all AAX plug-ins should set this property to true

Set this property to false (0) to disable Master Bypass for plug-ins that cannot be bypassed, such as fold-down plug-ins that convert to a narrower channel format.

Legacy Porting Notes:
Was pluginGestalt_CanBypass.
AAX_eProperty_SideChainStemFormat 

Side chain stem format. One of AAX_EStemFormat.

Host Compatibility Notes:
Currently Pro Tools supports only AAX_eStemFormat_Mono side chain inputs
  • Apply this property at the ProcessProc level
Host Compatibility Notes:
AAX_eProperty_SideChainStemFormat is not currently implemented in DAE or AAE
AAX_eProperty_TI_SharedCycleCount 

Shared cycle count (outer, per clump, loop overhead)

  • Apply this property at the ProcessProc level
  • This property is only applicable to DSP algorithms
AAX_eProperty_TI_InstanceCycleCount 

Instance cycle count (inner, per instance, loop overhead)

  • Apply this property at the ProcessProc level
  • This property is only applicable to DSP algorithms
AAX_eProperty_TI_MaxInstancesPerChip 

Maximum number of instances of this plug-in that can be loaded on a chip. This property is only used for DMA and background thread-enabled plug-ins.

  • Apply this property at the ProcessProc level
  • This property is only applicable to DSP algorithms
AAX_eProperty_TI_ForceAllowChipSharing 

Allow different plug-in types to share the same DSP even if AAX_eProperty_TI_MaxInstancesPerChip is declared.

In general, this is not desired behavior. However, this can be useful if your plug-in instance counts are bound by a system constraint other than CPU usage and you require chip-sharing between instances of different types of the plug-in.

Note
In addition to defining this property, the types which will share allocations on the same DSP chip must be compiled into the same ELF DLL file.
  • Apply this property at the ProcessProc level
  • This property is only applicable to DSP algorithms
AAX_eProperty_AlwaysBypass 

The plug-in never alters its audio signal, audio output is always equal to audio input.

  • Apply this property at the ProcessProc level

Setting this property allows host to optimize audio routing and reduce audio latency.

AAX_eProperty_HybridOutputStemFormat 

Hybrid Output stem format. One of AAX_EStemFormat.

This property represents the stem format for the audio channels that are sent from the ProcessProc callback to the AAX_IEffectParameters::RenderAudio_Hybrid() method

AAX_eProperty_HybridInputStemFormat 

Hybrid Input stem format. One of AAX_EStemFormat.

This property represents the stem format for the audio channels that are sent from the AAX_IEffectParameters::RenderAudio_Hybrid() method to the ProcessProc callback

AAX_eProperty_AudiosuitePropsBase 
AAX_eProperty_UsesRandomAccess 

The Effect requires random access to audio data.

Legacy Porting Notes:
Was pluginGestalt_UsesRandomAccess
AAX_eProperty_RequiresAnalysis 

The Effect requires an analysis pass.

  • Apply this property at the AAX_IEffectDescriptor level
  • This property is only applicable to offline processing
Legacy Porting Notes:
Was pluginGestalt_RequiresAnalysis
AAX_eProperty_OptionalAnalysis 

The Effect supports an analysis pass, but does not require it.

Host Compatibility Notes:
In Media Composer, optional analysis will also be performed automatically before each channel is rendered. See MCDEV-2904
  • Apply this property at the AAX_IEffectDescriptor level
  • This property is only applicable to offline processing
Legacy Porting Notes:
Was pluginGestalt_OptionalAnalysis
AAX_eProperty_AllowPreviewWithoutAnalysis 

The Effect requires analysis, but is also allowed to preview.

  • Apply this property at the AAX_IEffectDescriptor level
  • This property is only applicable to offline processing
Legacy Porting Notes:
Was pluginGestalt_AnalyzeOnTheFly
AAX_eProperty_DestinationTrack 

Informs the host application to reassign output to a different track.

  • Apply this property at the AAX_IEffectDescriptor level
  • This property is only applicable to offline processing
Host Compatibility Notes:
This property is not supported on Media Composer
Legacy Porting Notes:
Was pluginGestalt_DestinationTrack
AAX_eProperty_RequestsAllTrackData 

The host should make all of the processed track's data available to the Effect.

Legacy Porting Notes:
Was pluginGestalt_RequestsAllTrackData
AAX_eProperty_ContinuousOnly 

The Effect only processes on continuous data and does not support 'clip by clip' rendering.

  • Apply this property at the AAX_IEffectDescriptor level
  • This property is only applicable to offline processing
Legacy Porting Notes:
Was pluginGestalt_ContinuousOnly
AAX_eProperty_MultiInputModeOnly 

The Effect wants multi-input mode only (no mono mode option)

  • Apply this property at the AAX_IEffectDescriptor level
  • This property is only applicable to offline processing
Legacy Porting Notes:
Was pluginGestalt_MultiInputModeOnly
AAX_eProperty_DisablePreview 

The Effect does not support preview.

  • Apply this property at the AAX_IEffectDescriptor level
  • This property is only applicable to offline processing
Legacy Porting Notes:
Was pluginGestalt_DisablePreview
AAX_eProperty_DoesntIncrOutputSample 

The Effect may not increment its output sample during some rendering calls.

Legacy Porting Notes:
Was pluginGestalt_DoesntIncrOutputSample
AAX_eProperty_NumberOfInputs 

The number of input channels that the plug-in supports.

For real-time processing, use AAX_eProperty_InputStemFormat

AAX_eProperty_NumberOfOutputs 

The number of output channels that the plug-in supports.

For real-time processing, use AAX_eProperty_OutputStemFormat

AAX_eProperty_DisableHandles 

Prevents the application of rendered region handles by the host.

  • Apply this property at the AAX_IEffectDescriptor level
  • This property is only applicable to offline processing
AAX_eProperty_SupportsSideChainInput 

Tells the host that the plug-in supports side chain inputs.

  • Apply this property at the AAX_IEffectDescriptor level
  • This property is only applicable to offline processing
AAX_eProperty_NeedsOutputDithered 

Requests that the host apply dithering to the Effect's output.

  • Apply this property at the AAX_IEffectDescriptor level
  • This property is only applicable to offline processing
Legacy Porting Notes:
Was pluginGestalt_NeedsOutputDithered
AAX_eProperty_DisableAudiosuiteReverse 

The plug-in supports audiosuite reverse. By default, all reverb and delay plug-ins support this feature. If a plug-in needs to opt out of this feature, they can set this property to true.

  • Apply this property at the AAX_IEffectDescriptor level
  • This property is only applicable to offline processing
Host Compatibility Notes:
AAX_eProperty_DisableAudiosuiteReverse is not currently implemented
AAX_eProperty_MaxASProp 
AAX_eProperty_GUIBase 
AAX_eProperty_UsesClientGUI 

Requests a host-generated GUI based on the Effect's parameters.

Use this property while your plug-in is in development to test the plug-in's data model and algorithm before its GUI has been created, or when troubleshooting problems to isolate the data model and algorithm operation from the plug-in's GUI.

  • Apply this property at the ProcessProc level
Host Compatibility Notes:
Currently supported by Pro Tools only
Note
See PTSW-189725 / PT-218397
AAX_eProperty_MaxGUIProp 
AAX_eProperty_MeterBase 
AAX_eProperty_Meter_Type 

Indicates meter type as one of AAX_EMeterType.

AAX_eProperty_Meter_Orientation 

Indicates meter orientation as one of AAX_EMeterOrientation.

AAX_eProperty_Meter_Ballistics 

Indicates meter ballistics preference as one of AAX_EMeterBallisticType.

AAX_eProperty_MaxMeterProp 
AAX_eProperty_ConstraintBase 
AAX_eProperty_Constraint_Location 

Constraint on the algorithm's location, as a mask of AAX_EConstraintLocationMask.

  • Apply this property at the ProcessProc level
AAX_eProperty_Constraint_Topology 

Constraint on the topology of the Effect's modules, as one of AAX_EConstraintTopology.

AAX_eProperty_Constraint_NeverUnload 

Tells the host that it should never unload the plug-in binary.

Host Compatibility Notes:
AAX_eProperty_Constraint_NeverUnload is not currently implemented in DAE or AAE
AAX_eProperty_Constraint_NeverCache 

Tells the host that it should never cache the plug-in binary. Only use this if required as there is a performance penalty on launch to not use the Cache. Set this property to 1, if you really need to not cache. Default is 0.

The most common reason for a plug-in to require this constraint is if the plug-in's configuration can change based on external conditions. Most of the data contained in the plug-in's description routine is cached, so if the plug-in description can change between launches of the host application then the plug-in should apply this constraint to prevent the host from using stale description information.

This property should be applied at the collection level as it affects the entire bundle.

AAX_eProperty_Constraint_MultiMonoSupport 

Indicates whether or not the plug-in supports multi-mono configurations (true/false)

Note
Multi-mono mode may not work as expected for VIs and other plug-ins which rely on non-global MIDI input. Depending on the host, multi-mono instances may not all be automatically connected to the same MIDI port upon instantiation. Therefore it is recommended to set this property to 0 for any plug-ins if this lack of automatic connection may confuse users.
  • Apply this property at the ProcessProc level
AAX_eProperty_MaxConstraintProp 
AAX_eProperty_FeaturesBase 
AAX_eProperty_SupportsSaveRestore 

Indicates whether or not the plug-in supports Save/Restore features. (true/false)

  • Apply this property to show or hide the Settings section in the plug-in window.
  • This property value is true by default.
Legacy Porting Notes:
Was pluginGestalt_SupportsSaveRestore
AAX_eProperty_UsesTransport 

Indicates whether or not the plug-in uses transport requests. (true/false)

AAX_eProperty_StoreXMLPageTablesByEffect 

This property specifies whether the plug-in bundle contains an XML file per plug-in type.

AAX plug-ins always provide XML page table data via external files referenced by AAX_eResourceType_PageTable. If AAX_eProperty_StoreXMLPageTablesByEffect is not defined or is set to 0 (the default) then the host may assume that all Effects in the collection use the same XML page table file. If this property is set to a non-zero value, the plug-in may describe a different AAX_eResourceType_PageTable for each separate Effect.

This property needs to be set at the collection level.

AAX_eProperty_StoreXMLPageTablesByType 
Deprecated:
Use AAX_eProperty_StoreXMLPageTablesByEffect
AAX_eProperty_RequiresChunkCallsOnMainThread 

Indicates whether the plug-in supports SetChunk and GetChunk calls on threads other than the main thread. It is actually important for plug-ins to support these calls on non-main threads, so that is the default. However, in response to a few companies having issues with this, we have decided to support this constraint for now.

property value should be set to true if you need Chunk calls on the main thread.

Values: 0 (off, default), 1 (on)

AAX_eProperty_ObservesTransportState 

Indicates whether the plug-in subscribes to the TransportStateChanged notification to receive transport info.

property value should be set to true if you need subscribe to the TransportStateNotification.

Values: 0 (off, default), 1 (on)

AAX_eProperty_MaxFeaturesProp 
AAX_eProperty_ConstraintBase_2 
AAX_eProperty_Constraint_AlwaysProcess 

Indicates that the plug-in's processing should never be disabled by the host (true/false)

Some hosts will disable processing for plug-in chains in certain circumstances to conserve system resources, e.g. when the chains' output drops to silence for an extended period.

Note
This property may impact performance of other plug-ins. For example, the Dynamic Plug-In Processing feature in Pro Tools operates over chains of plug-ins rather than single instances; any plug-in that defines AAX_eProperty_Constraint_AlwaysProcess will force its entire signal chain to continue processing. Therefore it is important to avoid using this property unless features such as Dynamic Plug-In Processing are actually interfering in some way with the operation of the plug-in.
AAX_eProperty_Constraint_DoNotApplyDefaultSettings 

Requests that the host does not send default settings chunks to the plug-in after instantiation (true/false)

Some hosts will apply the plug-in's default settings via chunks after creating a new plug-in instance as a way to ensure that the all new plug-in instances are initialized to the same state.

If a plug-in can make this guarantee itself and does not wish to receive any default settings chunks from the host after instantiation then it may set this property.

Support for this property is not guaranteed; the plug-in must be able to handle default settings chunk application even if this property is set, or clearly document the plug-in's host compatibility.

AAX_eProperty_MaxConstraintProp_2 
AAX_eProperty_DebugPropertiesBase 
AAX_eProperty_EnableHostDebugLogs 

Enables host debug logging for this plug-in.

This logging is made via DigiTrace using the DTF_AAXHOST facility, generally at DTP_LOW priority

  • It is recommended to set this property to 1 for debug builds and to 0 for release builds of a plug-in
  • Apply this property at the AAX_IEffectDescriptor level
AAX_eProperty_MaxProp 
AAX_eProperty_MaxCap 

Function Documentation

◆ AAX_ENUM_SIZE_CHECK()

AAX_ENUM_SIZE_CHECK ( AAX_EProperty  )