| AAX SDK 2.8.0 Avid Audio Extensions Development Kit

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

Loading...
Searching...
No Matches
Change Log
AAX SDK Manual » Supplemental Information

Changes between AAX SDK versions.

Note
  See Host Support for information about which host versions support various AAX features.

# Change Log

## AAX SDK 2.8.0

### AAX Library

- Added task-related support files for AAX_CTask and AAX_IHostTaskAgent

### License

- Added an open source option to the AAX SDK license

### Directory Changes

- Renamed all `msvc` and `vs2017` directories to `vs`

### Documentation

- Converted the SDK's readme file to markdown
- Documented that AAX_eProperty_DisableAudioSuiteReverse is now supported (starting in Pro Tools 2024.6)

### Example plug-ins

- Added new example plug-in DemoMIDI_Transpose

### Extensions

- Converted use of `juce::PlatformUtilities` to `juce::Process` when setting the module instance handle in the JUCE GUI extension to enable support for JUCE version 7 and higher

### Resolved bugs

- Added explicit copy constructors to classes in AAX_Exception.h to resolve an MSVC warning

## AAX SDK 2.7.0

### AAX Library

- Enhanced AAX_VCollection to provide information about the host version when required during Describe. Access via AAX_ICollection::GetHostVersion()

### Definitions

- Added a notification AAX_eNotificationEvent_HostLocale to allow plugins to follow the host's loclization setting.
- Added new feature identifier AAXATTR_Client_Version to support AAX_ICollection::GetHostVersion()

### Documentation

- Added documentation for MIDI Effects to the Pro Tools Guide

### Interface

- Added AAX_IACFTransport_V5 that provides the ability to query key signature, typically accessed through AAX_ITransport::GetKeySignature()

### Resolved bugs

- Fixed compiler errors in AAX_CRangeTaperDelegate when instantiated for certain integer types
- Fixed a compiler error in AAX_CParameter constructors affecting certain compilers

### specification

- Added the Properties File as an optional file in the plugin bundle specification

## AAX SDK 2.6.1

### Build

- Reduced default warning Visual Studio level to `Level4` to eliminate warnings from standard library headers

### Definitions

- Added AAX_eProperty_ShowInMenus for plugins that should not be shown in the host's effect menus
- Added new plugin category AAX_EPlugInCategory_MIDIEffect for MIDI Effect plugins

### Example plug-ins

- The DemoMIDI_Synth_AuxOutput plugin now demonstrates stereo auxiliary outputs

### Extensions

- Updated the JUCE GUI extension to support JUCE version 7

## AAX SDK 2.6.0

### AAX Library

- Added a implementation AAX_CSessionDocumentClient for the session document client interface
- Changed the behavior of AAX_AggregateResult to avoid crash on an exception thrown from the class destructor
- Added additional reference implementations of AAX_IDataBuffer - AAX_CArrayDataBuffer and AAX_CArrayDataBufferOfType

### Definitions

- Added a new tracing priority, kAAX_Trace_Priority_Critical

### Documentation

- Re-named TI Guide to HDX DSP Guide
- Clarified documentation for HDX DSP Multi-shell packing
- Added documentation regarding Using the Pro Tools Scripting SDK with AAX
- Added `BNDL` as a valid bundle ID in AAX Format Specification

### Interface

- - Added AAX_IACFTransportControl and AAX_IACFTransport_V4, with methods typically accessed through AAX_ITransport
  - Added AAX_IACFSessionDocument, with methods typically accessed through AAX_ISessionDocument, and AAX_IACFSessionDocumentClient, with implementation usually performed via AAX_CSessionDocumentClient
  - Added AAX_IACFDataBuffer, with methods typically accessed through AAX_IDataBuffer when the data buffer is implemented on the host

### Resolved bugs

- Added return value checks for internal calls to AAX_IEffectParameters::GetNumberOfParameters and AAX_IEffectParameters::GetParameterIDFromIndex

## AAX SDK 2.5.1

### AAX Library

- Updated AAX_CParameter so that the host is now automatically notified whenever AAX_CParameter::SetName() is used.

### Definitions

- Added kAAX_ParameterIdentifierMaxSize to define the maximum size of a AAX_CParamID c-string.

### Interface

- Added Task agent interface including the AAX_ITaskAgent module and the generic AAX_IDataBuffer reference counted data container.
- Added AAX_eNotificationEvent_ParameterNameChanged notification type. Users of AAX_CParameter do not need to post this notification directly.

### Utilities

- Replaced `snprintf` and fixed size buffers with C++ idioms in the AAX_StringUtilities.h utility functions

## AAX SDK 2.5.0

### Definitions

- Added AAX_EStemFormat definitions for surround stem formats from 5.0.2 to 9.1.6 and for Ambisonics formats from fourth to seventh order

### Example plug-ins

- DemoGain_UpMixer has been updated with all combinations of the new stem formats

### Interface

- New interfaces:
  - AAX_IACFViewContainer_V3, with methods to track mouse movement over controls, accessed through AAX_IViewContainer
  See Host Support for host support information

## AAX SDK 2.4.1

### Build

- Treat Warnings As Errors is now disabled for the AAX Library Xcode project
- The AAX Library Xcode project is no longer configured to use the Legacy Build System, which is deprecated in current Xcode

## AAX SDK 2.4.0

### Build

- Compilation for arm64 is now supported
- Explicitly set macOS project architectures to `x86_64` and `arm64`
- Updated Visual Studio project format to VS2017 and resolved newly detected warnings
- Reduced Visual Studio warning level from `EnableAllWarnigs` to `Level4` for the AAXLibrary project

### Definitions

- Added AAX_eProperty_AlwaysBypass for plug-ins that always pass the audio signal through unaltered
- Added AAX_eProperty_ObservesTransportState , AAX_eNotificationEvent_TransportStateChanged , AAX_ETransportState , AAX_ERecordMode , and AAX_TransportStateInfo_V1 to provide information about the current state of the host transport
- Added AAX_eNotificationEvent_LogState as an optional logging convenience mechanism for certain plug-ins that use the Direct Data feature
- Extended AAX_EFrameRate to include additional frame rates. These additional rates can be queried using AAX_ITransport::GetHDTimeCodeInfo()
- Added AAX_ERROR_PRINT_FAILURE for printing library method failures

### Documentation

- Added the Real-time performance page and the Plug-In Causes Audio Streaming Errors troubleshooting section with overview of best practices for avoiding streaming errors and achieving good performance for audio processing on real-time threads
- Updated the HDX DSP Guide page with a "Getting Started" section and with information about Pro Tools | Carbon
- Corrected the documented range of acceptable values between AAX_ERROR_PLUGIN_BEGIN and AAX_ERROR_PLUGIN_END
- Improved Doxygen dot image resolution, now using SVG

### Example plug-ins

- DemoGain_UpMixer now registers non-converting combinations

### Interface

- New interfaces:
  - AAX_IACFEffectDirectData_V2, with methods accessed through AAX_IEffectDirectData
  - AAX_IACFTransport_V3, with methods typically accessed through AAX_ITransport
  See Host Support for host support information

### Resolved bugs

- Fixed AAXSDK-705

### Utilities

- CreatePackage.bat now removes the read-only attribute from the .aaxplugin folder on Windows

## AAX SDK 2.3.2

### AAX Library

- Removed unnecessary `virtual` keyword usage for method overrides
- Removed unused `mClipped` member of AAX_CEffectParameters
- Convert `mViewContainer` member of AAX_CEffectGUI to a smart pointer

### Build

- Xcode 10 and Visual Studio 2017 are now supported
- Added Xcode workspace and Visual Studio solution containing all projects in the AAX SDK for convenience
- Removed 32-bit architecture targets from all project configurations. 32-bit architectures are still supported by AAX if you choose to explicitly add them to your build project configurations.
- Updated all Xcode projects to recommended `CFBundleIdentifier` usage and build settings

### Definitions

- Added AAX_eProperty_Constraint_DoNotApplyDefaultSettings for plug-ins which need to disable the normal default settings application procedure used by Pro Tools
- Added AAX_eNotificationEvent_PriorSettingsInvalid which may be useful for certain plug-ins when running in Venue systems
- Added AAX_eProperty_PlugInID_NoProcessing for Effect types that do not process audio
- Removed `AAX_eProperty_SupportsProgressDialog` which is not supported in any AAX host

### Documentation

- Fixes and improvements in the "Plug-In spec properties" section of AAX_Properties.h
- Added Quick Start and Troubleshooting documentation sections
- Added additional detail to the Digital signature section of the Pro Tools Guide

### Example plug-ins

- Changed ID generation algorithm for DemoGain_UpMixer. Older copies of this example plug-in will not be recovered in saved sessions.

### Resolved bugs

- Fixed AAXSDK-663 AAX SDK `#pragma pack` errors with XCode 10 and later

## AAX SDK 2.3.1

### AAX Library

- Enhanced support for AAX_CheckedResult - added AAX_CAPTURE, AAX_CAPTURE_MULT, and AAX_AggregateResult to assist with common Describe error handling scenarios
- Updated AAX_CMonolithicParameters::StaticDescribe() to use AAX_CheckedResult for error checking
- Added AAX_CStatelessParameter for "momentary" parameters which do not require state, such as tap tempo buttons which can be mapped to a control surface
- Improved tolerance for unknown parameters when building or parsing plug-in settings chunk data
- Added AAX_DEBUGASSERT, AAX_STACKTRACE, and AAX_TRACEORSTACKTRACE to the library of tracing and assertion macros in AAX_Assert.h
- Fixed warnings which would prevent compilation in Visual Studio 2015 and Visual Studio 2017 when Treat Warnings As Errors is enabled
- Removed Visual Studio 2008, Visual Studio 2010, and Xcode 3 projects

### Definitions

- Removed guard preventing AAX_CPP11_SUPPORT from being set for PACE Fusion compiler builds
- Deprecated AAX_EHostMode - replaced by AAX_EHostModeBits

### Documentation

- Documentation added to EQ and Dynamics Curve Displays for the EQ Curves feature in Pro Tools 2018.1
- Added Checking Results and Describe Validation sections to Description callback
- Added Building your plug-in installer section to Distributing Your AAX Plug-In, including information about bundling Track Presets with the plug-in installer

### Example plug-ins

- Updated all example plug-ins' Describe routines to use AAX_CheckedResult for error checking
- Updated some example plug-ins' parameter registration code in EffectInit() with a safer parameter creation and release style using std::unique_ptr
- Updated the RectiFi example plug-in to match the current shipping version of Avid's Recti-Fi plug-in
- DemoGain_UpMixer now converts arbitrarily between all stem formats, both wider and narrower
- Removed Visual Studio 2008, Visual Studio 2010, and Xcode 3 projects
- Common Xcode settings updated with "macosx10.11" base SDK and "10.9" deployment target
- Added AAX DSP for higher stem formats in DemoGain_Multichannel and DemoGain_UpMixer

### Extensions

- Updated the VSTGUI extension and example plug-in to use VSTGUI 4.3

### Interface

- New interfaces:
  - AAX_IACFPageTable_V2, with methods accessed through AAX_IPageTable
  - AAX_IACFHostServices_V3, with methods typically accessed through the macros in AAX_Assert.h
  See Host Support for host support information

### Utilities

- Added reference count tracing logic to AAX_CACFUnknown.cpp, which can be toggled on using the `AAX_DEBUG_ACF_REFCOUNT` macro
- Added some convenience functions to AAX_PageTableUtilities.h
- Added getLowestSampleRateInMask() and getMaskForSampleRate() convenience functions

## AAX SDK 2.3.0

### AAX Library

- Added AAX_Exception.h with the AAX::Exception namespace for AAX-specific exception objects and the AAX_CheckedResult class which can be used for throwing AAX exceptions when an error is encountered.
- Added a try/catch block in the library implementation of AAXRegisterPlugin such that exceptions may safely be thrown during Describe
- AAX_ICollection now provides convenience methods to access an AAX_IDescriptionHost and IACFDefinition, if these interfaces are supported by the host during Describe
- AAX_IComponentDescriptor now provides the generic AddProcessProc() method for specifying multiple ProcessProcs at once using a property map
- AAX_IController now provides methods for copying page table data from other effect variants or from arbitrary page table files on disk
- AAX_IPropertyMap now supports pointer-sized properties
- AAX_IPropertyMap objects can now be generated from other property map objects without requiring access to a component factory interface

### Definitions

- Added a new stem format definition for the 7.0.2 format
- Removed the previous FuMa Ambisonics formats and added definitions for second-order, and third-order ACN Ambisonics stems
- Added new notification types:
  - AAX_eNotificationEvent_ParameterMappingChanged (plug-in to host)
  - AAX_eNotificationEvent_HostModeChanged (host to plug-in)
- C++11 keyword compatibility macros added to AAX.h
- Removed the `AAX_AlignedDouble` definition, which was unused

### Documentation

- New documentation:
  - Distributing Your AAX Plug-In
  - EQ and Dynamics Curve Displays
  - Adding signposts to the DigiTrace log at run-time
  - Plug-in preset data comparison for Media Composer
  - Interactive mode for DTT
  - Descriptions of Avid Dock, Avid S1 and Avid Control app in the Page Table Guide
- There is a new process for requesting the digital signing toolkit for digitally signing AAX plug-ins
- Added a PDF print-out of this Doxygen documentation to assist with text-based searches
- Updated the Contacting Avid section of the main page to clarify the various processes for communicating with Avid
- Updated AAX_Errors.h with a list of current internal AAX host error values, which are useful for reference when troubleshooting host errors.
- Updated the HDX DSP Guide with information about using the latest version of Code Composer Studio with this AAX SDK

### Example plug-ins

- Base Mac OS SDK setting in the common .xcconfig files is now macosx10.9
- DemoGain_Multichannel now includes an example of gain reduction metering
- DemoGain_Multichannel now supports 7.0.2 and First-order, second-order, and third-order Ambisonics stem formats
- DemoGain_UpMixer example plug-in added to demonstrate a width-changing effect
- The DemoMIDI_NoteOn example plug-in algorithm now supports note hold

### Interface

- New interfaces:
  - AAX_IACFComponentDescriptor_V3, with methods accessed through AAX_IComponentDescriptor
  - AAX_IACFDescriptionHost, with methods accessed through AAX_IDescriptionHost
  - AAX_IACFEffectParameters_V4, with methods accessed through AAX_IEffectParameters
  - AAX_IACFFeatureInfo, with methods accessed through AAX_IFeatureInfo
  - AAX_IACFPageTable, with methods accessed through AAX_IPageTable
  - AAX_IACFPageTableController, with methods accessed through AAX_IController
  - AAX_IACFPropertyMap_V3, with methods accessed through AAX_IPropertyMap
  See Host Support for host support information
- Added the concept of a host "feature" which can be queried during Describe execution using AAX_IDescriptionHost and AAX_IFeatureInfo

### Resolved bugs

- Resolved AAXSDK-533: AAXLibrary compiles with warnings in VS2015 / VS2017
- Resolved AAXSDK-514: Using collection-level properties leads to a leaked ACF object
- Fixed bugs with taper delegates when the minimum and maximum values are equal
- Some unnecessary headers removed or converted to forward declarations

## AAX SDK 2.2.2

### AAX Library

- Added new methods to AAX_IParameter for easier conversion between logical and normalized parameter values
- Re-named `AAX_CParameterManager::ControlIndexFromID()` to AAX_CParameterManager::GetParameterIndex()
- Added AAX Library project for Visual Studio 2013
- Added warning exclusion for C4738 to 32-bit Release configuration of the AAX Library project on Windows to fix a treat-warnings-as-errors build failure that can occur in this configuration when linking statically to the MSVC run-time libraries

### Definitions

- Added new stem format selectors for the following stem formats:
  - The 7.1.2 speaker configuration
  - First-order, second-order, and third-order Ambisonics
- Added a new notification type for information regarding the host's delay compensation state: AAX_eNotificationEvent_DelayCompensationState
- Added a new input data port type property for ports which request incrementally-buffered packet delivery
- Added a property to allow different AAX DSP plug-in types to share the same DSP chip even if AAX_eProperty_TI_MaxInstancesPerChip is declared: AAX_eProperty_TI_ForceAllowChipSharing

### Documentation

- Added specific details about display hardware to the VENUE Guide

### Example plug-ins

- Added the DemoGain_Multichannel example plug-in
- Updated page tables of all example plug-ins
- Example plug-in Xcode projects now use C++11 and libc++ by default
- Updated DemoDelay_Hybrid to fix problems with instantiation in DSH and other test hosts
- Removed multi-mono support from DemoMIDI_Synth to provide a better example of a standard VI configuration
- Updated Recti-Fi example plug-in IDs so that they will not collide with the shipping version of Recti-Fi

### Extensions

- Updated `AAX_JuceContentView::mouseMove()` for compatibility with Juce version 4 and higher
- Updated `AAX_CEffectGUI_VST` for compatibility with 32-bit plug-ins when used with VSTGUI 4.2

### Interface

- ACF interface files updated to a more recent version of the ACF SDK

### Resolved bugs

- AAX_CEffectParameters::UpdateParameterNormalizedValue() now increments the effect change counter only when the parameter's value actually changes

### Utilities

- New utility functions: `AAX::AsStringStemFormat()`, `AAX::AsStringStemChannel()`
- Added AAX_SCOPE_COMPUTE_DENORMALS() for forcing denormal float values to be calculated within a scope, rather than being treated as zero (currently implemented for Mac only)

## AAX SDK 2.2.1

### Interface

- New interfaces:
  - AAX_IACFController_V3

### Documentation

- Added the VENUE Guide page
- Updated the Page Table Guide
  - Updated VENUE information: Added information about VENUE | S6L and subsubsection__venue_s3l and removed information about VENUE systems which do not support AAX plug-ins

  - Added information for S6, including details about the `'Av46'` page table type and a new section on Center Section Parameter Mapping in S6 Expand Mode

- Updated the documentation for Plug-in type conversion, including a new section describing Type deprecation
- Fixed image display problems on the DSH Guide page
- Added pre-built HDX DLL files to the SDK for all example plug-ins which support AAX DSP
  Note
    The example plug-ins' Visual Studio projects now include a `PostBuildEvent` command which will copy the plug-in's HDX DLL from the project's TI/bin/Release folder to the built .aaxplugin's Resources folder.
- Additional minor example plug-in fixes
  - Removed unnecessary build phases and framework dependencies from the plug-ins' Xcode projects
  - Removed "%AAX" from the example plug-ins' display names
  - Changed the guard for AAX DSP cycle count declarations to check for the definition of the `AAX_TI_BINARY_IN_DEVELOPMENT` preprocessor symbol before adding cycle counts to the plug-in's description
  - Added "example" to the names of all example plug-ins

### AAX Library

- Extended AAX_CParameter::GetValueAsString() and AAX_CParameter::SetValueWithString() with support for all value types
- Fixed the specialization of AAX_CPacket::GetPtr() for `void*` so that it is called when the `void*` version of the function template is requested

### Definitions

- Added AAX_ePlugInStrings_ClipNameSuffix
- Added a definition of the `TI_VERSION` preprocessor macro for the TI DSP compiler in AAX.h

## AAX SDK 2.2.0

### Interface

- New interfaces:
  - AAX_IACFEffectParameters_V3
  - AAX_IACFHostProcessor_V2
  - AAX_IACFHostProcessorDelegate_V3
  - AAX_IACFHostServices_V2
  - AAX_IACFViewContainer_V2

### Directory changes

- Moved common processing classes for the SDK example plug-ins to ExamplePlugIns/Common/ProcessingClasses
- Moved MIDI logging utilities to the Extensions folder
- Moved AAX_CMonolithicParameters to the Extensions folder and removed it from the AAX Library

### Extensions

- Changed VST project to use the newest version of VSTGUI sources - VSTGUI 4.2
- Created Visual Studio 2012 projects for GUI Extensions
- Fixed AAX_CMonolithicParameters so that it correctly supports AAX_eConstraintLocationMask_DataModel
  Note
    This value is required for all plug-ins that share memory between their data model and algorithm callback
- Updated AAX_CMonolithicParameters to include parameter value synchronization
- Updated AAX_CMonolithicParameters to support Hybrid and include a state counter field

### Definitions

- Changed name of `AAX_eProperty_StoreXMLPageTablesByType` to AAX_eProperty_StoreXMLPageTablesByEffect to best reflect the actual behavior of this property
- Replaced AAX_EPlugInCategory_Effect category (erroneously removed in AAX SDK 2.1)

### Utilities

- Added utilities for atomic operations and a thread-safe FIFO queue class: AAX_CAtomicQueue
- Added AAX stacktrace logging support to make plug-in debugging easier: see AAX_STACKTRACE and AAX_TRACEORSTACKTRACE
- Added a utility for locating the .aaxplugin bundle to provide an ability to access resources in the bundle

### AAX Library

- Created an AAX Library project for Visual Studio 2012
- Created a libc++ target in the AAX Library Xcode project
- Resolved "incompatible ms_struct" warning in Xcode 6; removed AAX_ALIGN_FILE_ALG from inappropriate locations such as virtual classes that do not cross library boundaries
- Added AAX_IParameterValue, an abstract value class for parameter data, and refactored AAX_CParameter to use this interface
- Re-named `AAX_CInstrumentParameters` to AAX_CMonolithicParameters (see the Extensions section for more information)
- Added an AAX_CStateDisplayDelegate constructor taking `std::vector<AAX_IString*>`
- Added an AAX_CParameter constructor taking AAX_IString as an identifier
- Added hex conversion methods to AAX_CString
- Fixed chunk size error handling in AAX_CChunkDataParser

### Example plug-ins

- Added DemoMIDI_Synth and DemoMIDI_Synth_AuxOutput plug-ins
- Created Visual Studio 2012 projects for all example plug-ins
- Added EUCON page tables for all example plug-ins
- Various fixes for modifier-click event handling in example plug-ins
- Updated the example plug-in projects so that all built plug-in bundle filenames include "_Example"
- Corrected input/output property usage in HostProcessor example plug-ins
- Fixed multi-channel processing in DemoDelay_HostProcessor
- Fixed a bug with dynamic processing in DemoMIDI_NoteOn example plug-in
- Fixed DemoGain_GUIExtensions Win32 example plug-in GUI so that it is correctly displayed in Windows 8

### Documentation

- Added Media Composer Guide
- Updated Host Support documentation for latest AAX host versions
- Updated the Page Table Guide
  - Updated EUCON Page Tables documentation
  - Updated Avid Center Section Page Tables documentation with tables mapping the EQ, Comp/Lim, and Exp/Gate table indices to their respective functions
- Updated MIDI node documentation
- Added new documentation pages for Parameter update timing and Parameter automation
- Improved Presets and settings management documentation
- Documented the plug-in caching behavior in Pro Tools
- Added documentation for optimizing an AAX DSP plug-in by using a hard-coded buffer size in the algorithm callback/ See the Refactoring conditionals and branches section of the HDX DSP Guide

## AAX SDK 2.1.1

### Definitions

- Explicitly removed support for the SDK's C99Compatibility headers in Microsoft Visual C++ 10.0 and later

### DSP

- Added support and documentation for compiling AAX DSP plug-ins using Code Composer Studio 5
- Updated all example plug-in projects for use with Code Composer Studio 5

### Documentation

- Extended the parameter update documentation pages with sequence diagrams and further information about linked parameter behavior
- Added guides for DigiTrace and DSH
- Added a reference list of AAX interfaces

## AAX SDK 2.1.0

### Interface

- New method added to AAX_IACFTransport_V2 : IsMetronomeEnabled()

### AAX Library

- New methods in AAX_CString for direct copy from, assignment to, and comparison with std::string
- Fixed many implicit sign conversions
- Added `const` qualification to some AAX_C... methods
- Updated AAX_IParameter::GetValueAsString() to take a pointer-to AAX_IString (was lvalue ref)
- Fixed a bug in AAX_CEffectParameters::GetParameterNameOfLength(); the method now correctly truncates a parameter name if the requested length is shorter than the shortest available abbreviated name
- Treat Warnings As Errors enabled in AAX Library projects
- clang pragmas added to avoid warnings for non-virtual destructors in ACF interface classes (cf. Microsoft COM)
- Xcode 3 project added for the AAX Library

### Definitions

- Alignment of AAX_CMidiPacket and AAX_CMidiStream on 32-bit macOS is now explicitly set using `#pragma options align=power` to maintain backwards-compatibility with earlier versions of Pro Tools
- New property added: AAX_eProperty_RequiresChunkCallsOnMainThread
- New property added: AAX_eProperty_Constraint_AlwaysProcess
- Converted `AAX_eProperty_Related_Plugin_List` (property #22) to dedicated DSP and Native versions
- Re-named AAX_eProperty_AudioBufferLength to AAX_eProperty_DSP_AudioBufferLength
- Added new AAX_ECurveType selector: AAX_eCurveType_Reduction
- Added various new selectors to AAX_ENotificationEvent
- Updated AAX_STEM_FORMAT macros to allow negative index values
- Added new error codes to AAX_EError

### Utilities

- New utility functions: `AAX::IsAvidNotification()`, `AAX_IsASCII()`, `AAX_AsStringFourChar()`
- AAX_ASSERT and AAX_TRACE now require a trailing semicolon
- Re-named `LIMIT` to AAX_LIMIT
- Removed unused extended-80 conversion utilities

### Extensions

- Resolved issue in which VSTGUI v4 key events were not received on Windows
- Xcode 3 projects added for the Juce and VSTGUI extension libraries

### Documentation

- .pdf documentation moved to Doxygen
- Added several new sample plug-ins
- Expanded documentation for Host Processor and AAX Hybrid

## AAX SDK 2.0.1

## AAX SDK 2.0.0

### AAX Library

- Added support for the AAX Hybrid processing architecture
- Added methods for better access to global MIDI data from AAX_IEffectParameters
- Extended the AAX_ITransport interface with several new methods
- Host Processor plug-ins can now trigger an analysis pass programmatically

### Definitions

- Added new selectors to AAX_ENotificationEvent for state information during AudioSuite, bounce, and restore events
- AudioSuite reverb and delay plug-ins may opt out of the "Reverse" processing mode

### Algorithm

- Support for temporary algorithm data blocks

## AAX SDK 1.5.0

### AAX Library

- Plug-ins now receive a different notification when receiving chunks from session and preset loads
- Aux output stems now support up to 256 output channels
- Added alpha versions of V2 interfaces
- Added projects for Visual Studio 2005 and 2008

## AAX SDK 1.0.6

### Documentation

- 64-bit targets enabled for the AAX Library and sample plug-ins

### AAX Library

- Changed scope of some methods in AAX_CEffectParameters and AAX_CEffectGUI
- New 8 byte structure alignment added to AAX.h
- Changed the scope of some chunk parser items
- Clock context field is set to be synchronized across multiple plug-in instances
- Support for multiple input MIDI nodes
- Support for multiple named Aux Outputs (AAX_CInstrumentParameters)
- Instrument parameters no longer uses host generated GUI by default

### DSP

- Algorithm initialization routine now has 5 seconds to execute

## AAX SDK 1.0.5

### Directory Changes

- Removed 3 files in /ExamplePlugIns/Common
- Added AAX_UtilsNative.h and AAX_Version.h
- Moved AAXLog(), AAXLogf(), and isParameterIDEqual() to AAX_UtilsNative.h

### Documentation

- Fixed instance tracking bugs in DemoGain_BackGround
- Added a time-stamp parameter to DemoMIDI_NoteOn
- Added MIDI-through to DemoMIDI_NoteOn
- Added DemoGain_DMA sample plug-in

### AAX Library

- Changed scope of some methods in AAX_CEffectParameters
- Set default number of steps in AAX_CParameter.h to non-zero
- Renamed enum AAX_EConstraintLocation to AAX_EConstraintLocationMask

### DSP

- Larger buffer size allowed on TI
- Support for DLL chip affinity in Pro Tools 10.2 and higher
- New AAX_INT_LO and AAX_INT_HI utilities defined

## AAX SDK 1.0.4

### Describe

- Multi-mono support constraint property added
  - Will be supported in DAE versions 10.2 and higher

### AAX Library

- AAX_CInstrumentParameters class added as helper for monolithic instruments
- AAX_CTimestamp type changed to signed 64-bit integer
- Maximum string length support added to binary display delegate

### Documentation

- Resolved several DemoGain_GUIExtensions example plug-in bugs and improved parity with expected Pro Tools plug-in GUI features
- Added DemoMIDI_Sampler example plug-in
- Added /TI/SignalProcessing directory with example signal processing utilities
- Added new "AAX for Pro Tools" document (still in progress)

## AAX SDK 1.0.3

### Describe

- Added "deprecated type" feature for swapping in new Effect types
- Removed AAX_eProperty_TI_UncachedCycleCount
- Removed AAX_eProperty_UseSmallPreviewBuffer, as this property is now mandatory

### Algorithm

- Established 1024 as the maximum expected audio buffer length for any AAX plug-in
- Created new instance initialization action flag for instance reset events

### AAX Library

- Fixed reference-counting bug in AAXRegisterPlugin()

### DSP

- Extra software pipeline information added to CCS asm output by default
- External memory support added to default CommonPlugIn_LinkerCmd.cmd file
  - ExtendedPlugIn_LinkerCmd.cmd is now deprecated

### Utilities

- DigiTrace facility for AAX_Assert changed from DTF_TIPLUGINS to DTF_AAXPLUGINS
- Added example DTT script for signal cancellation testing to Development builds
- Added DSP information tooltip feature to plug-in window header in Pro Tools

### Documentation

- Win32 GUI example plug-in added to the SDK
- Basic coefficient smoothing example plug-in added to SDK
- Side Chain and Auxiliary Output Stem information page added to Doxygen
- Resolved SetControlHighlightInfo() naming inconsistency in sample plug-ins
- Expanded GUI information in AAX Manual

## AAX SDK 1.0.2

### AAX Library

- Moved AAX Library source to /Libs directory
- Added complete library source code and project files
- Removed pre-compiled AAX library binaries

### Documentation

- Added correct mouse event handling logic to DemoGain_GUIExtensions plug-ins
- Added meters to DemoGain_Cocoa
- New TI optimization case studies added to the TI Guide document

### Resolved bugs

- PTSW-149745
  - Loading code into external DSP memory is functional as of TI Shell build 10.1x828

Collaboration diagram for Change Log: