- Member AAX_CParameter< T >::AAX_CParameter (AAX_CParamID identifier, const AAX_CString &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.
- Member AAX_ePlugInCategory_Example
- AAX_ePlugInCategory_Example is compatible with Pro Tools 11 and higher. Effects with this category will not appear in Pro Tools 10.
- Member AAX_eProperty_Constraint_NeverUnload
- AAX_eProperty_Constraint_NeverUnload is not currently implemented in DAE or AAE
- 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::GetParameterNameOfLength (AAX_CParamID iParameterID, AAX_IString *oName, int32_t iNameLength) const =0
- In most cases, the AAX host will call GetParameterName() 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 GetParameterName().
- Member AAX_IComponentDescriptor::AddAuxOutputStem (AAX_CFieldIndex iFieldIndex, int32_t iStemFormat, const char iNameUTF8[])=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 iFieldIndex)=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 iFieldIndex, AAX_EMIDINodeType iNodeType, const char iNodeName[], uint32_t channelMask)=0
- Due to current restrictions MIDI data won't be delivered to DSP algorithms, only to AAX Native.
- 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 *oModifiers)=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.
- Group 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.
- Group AAX_Pro_Tools_Guide
Pro Tools 11 requires PACE Eden digital signatures for AAX plug-ins.
Pro Tools 10 requires either PACE DSig or Eden digital signatures for AAX plug-ins.
As of Pro Tools 10.2, support has been added to allow binary-level encryption of AAX DSP algorithms. Please note that this is NOT a requirement of AAX DSP plug-ins, and serves only as an additional security measure to protect an algorithm’s DLL.
In Pro Tools 11 and above, the Avid Audio Engine (AAE) no longer automatically generates clipping indication for plug-ins. This is because the new engine can operate properly well beyond a unity sample value of 1.0. Thus, it is up to the plug-in itself to set and clear its clip indicators as needed.
- Group 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.
Beginning with Pro Tools 10.2, the TI shell supports a "processor affinity" property, which indicates that a DSP ProcessProc should be preferentially loaded onto the same DSP as other instances from the same DLL binary. This is a requirement for some designs that must share global data between different processing configurations.
Note that this property should only be used when absolutely required, as it will constrain the DSP manager and reduce overall DSP plug-in instance counts on the system.
- Group CommonInterface_Algorithm
- As of Pro Tools 10.2.1 an algorithm's initialization calllback routine will have up to 5 seconds to execute.
- Group CommonInterface_FormatSpecification
*The plug-in's binary filename must not contain any spaces. There is a bug in Pro Tools that will prevent binaries with spaces from being loaded properly. This is logged as PTSW-189928.
*_ACFGetSDKVersion is required for 64-bit AAX plug-ins only
- Group ExamplePlugIns
- The DemoDelay_DynamicLatencyComp example is compatible with Pro Tools 11.1 and higher.