AAX SDK  2.1.1
Avid Audio Extensions Development Kit
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Macros | Enumerations
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.

Macros

#define AAX_PROPERTIES_H
 

Enumerations

enum  AAX_EProperty {
  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_UI = 16, AAX_eProperty_PlugInID_Dither = 17, AAX_eProperty_PlugInID_Deprecated = 18,
  AAX_eProperty_PlugInID_Elastic = 19, AAX_eProperty_PlugInID_Analysis = 20, AAX_eProperty_Deprecated_Plugin_List = 21, AAX_eProperty_Related_DSP_Plugin_List = 22,
  AAX_eProperty_Related_Native_Plugin_List = 23, AAX_eProperty_GeneralPropsBase = 50, AAX_eProperty_InputStemFormat = 51, AAX_eProperty_OutputStemFormat = 52,
  AAX_eProperty_DSP_AudioBufferLength = 54, AAX_eProperty_AudioBufferLength = 54, AAX_eProperty_LatencyContribution = 56, AAX_eProperty_SampleRate = 58,
  AAX_eProperty_CanBypass = 60, AAX_eProperty_TI_SharedCycleCount = 62, AAX_eProperty_TI_InstanceCycleCount = 63, AAX_eProperty_TI_MaxInstancesPerChip = 64,
  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_SupportsProgressDialog = 111, 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 = 117,
  AAX_eProperty_MaxASProp, AAX_eProperty_GUIBase = 150, AAX_eProperty_UsesClientGUI = 151, AAX_ePropety_MeterBase = 199,
  AAX_eProperty_Meter_Type = 200, AAX_eProperty_Meter_Orientation = 201, AAX_eProperty_Meter_Ballistics = 202, 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_SupportsSaveRestore = 305, AAX_eProperty_UsesTransport = 306, AAX_eProperty_StoreXMLPageTablesByType = 307,
  AAX_eProperty_RequiresChunkCallsOnMainThread = 308, AAX_eProperty_Constraint_AlwaysProcess = 351, AAX_eProperty_MaxProp
}
 The list of properties that can be added to an AAX_IPropertyMap. More...
 

Macro Definition Documentation

#define AAX_PROPERTIES_H

Enumeration Type Documentation

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

See AAX_IPropertyMap::AddProperty() for more information

Sections

Legacy Porting Notes:
These property IDs are somewhat analogous to the pluginGestalt system in the legacy SDK, and several AAX_EProperty values correlate directly with a corresponding legacy plug-in gestalt.
Legacy Porting Notes:
To ensure session interchange compatibility, make sure the 4 character ID's for AAX_eProperty_ManufacturerID, AAX_eProperty_ProductID, AAX_eProperty_PlugInID_RTAS, and AAX_eProperty_PlugInID_AudioSuite are identical to the legacy SDK's counterpart.
Note
Currently, automation is linked by Parameter Name and not Parameter ID. As per PTSW-165992, this will be re-worked to include automation remains compatible for plug-ins with identical Parameter ID's as well.
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
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 Collection identifier. Should be identical for all Effects in the same Collection.

  • Apply this property at the ProcessProc level
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 Effect identifier for real-time native audio Effects. Must be unique for all Effects in the Collection.

  • 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 Effect identifier for offline native audio Effects. Must be unique for all Effects in the Collection.

  • 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 AudioSuite plug-in Types.
AAX_eProperty_PlugInID_TI 

Four-character osid-style Effect identifier for real-time TI-accelerated audio Effects. Must be unique for all Effects in the Collection.

  • 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_UI 

This property is not used by plug-ins based on the AAX SDK.

AAX_eProperty_PlugInID_Dither 

Four-character osid-style Effect identifier for dither native audio Effects. Must be unique for all Effects in the Collection.

  • 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 Dither plug-in Types.
AAX_eProperty_PlugInID_Deprecated 

Four-character osid-style Effect identifier for a corresponding deprecated Effect. Only one deprecated effect ID may correspond to each valid (non-deprecated) effect ID.

  • Apply this property at the ProcessProc level
AAX_eProperty_PlugInID_Elastic 

This property is not used by plug-ins based on the AAX SDK.

AAX_eProperty_PlugInID_Analysis 

This property is not used by plug-ins based on the AAX SDK.

AAX_eProperty_Deprecated_Plugin_List 

Specify a list of 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_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 AddPropertyWithIDArray, which is a list of full plug-in specs (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 AddPropertyWithIDArray, which is a list of full plug-in specs (ManufacturerID, ProductID, PluginID)
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

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
Legacy Porting Notes:
Was pluginGestalt_CanBypass.
Todo:
This property should always be enabled for AAX plug-ins
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_HybridOutputStemFormat 

Hybrid Output stem format. One of AAX_EStemFormat.

AAX_eProperty_HybridInputStemFormat 

Hybrid Input stem format. One of AAX_EStemFormat.

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.

  • 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
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_SupportsProgressDialog 

The Effect controls its own progress dialog. If unsupported, the host manages this dialog.

  • Apply this property at the AAX_IEffectDescriptor level
  • This property is only applicable to offline processing
Legacy Porting Notes:
Was pluginGestalt_SupportsProgressDialog
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
AAX_eProperty_MaxASProp 
AAX_eProperty_GUIBase 
AAX_eProperty_UsesClientGUI 

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

  • Apply this property at the ProcessProc level
AAX_ePropety_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_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.

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)

  • Apply this property at the ProcessProc level
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_StoreXMLPageTablesByType 

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

This property needs to be set at the collection level.

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.

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.

AAX_eProperty_MaxProp