| AAX SDK 2.8.0 Avid Audio Extensions Development Kit

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

Loading...
Searching...
No Matches
AAX Format Specification
AAX SDK Manual » Core AAX Interface

Additional requirements for AAX plug-ins.

This document describes aspects of the AAX plug-in format specification that are beyond the scope of the common interface classes and callbacks that the plug-in must implement.

# .aaxplugin Directory Structure

AAX uses a bundle packaging format. On macOS, AAX plug-ins are built as standard OS bundles, while on Windows they are simple directories. All AAX plug-in bindles must use the .aaxplugin extension and the following directory structure:

- /Contents
  - /Resources
    - This directory contains all of the additional resource files that will be needed by the plug-in at run time such as DSP algorithm DLLs, XML page tables, and image files for the plug-in's GUI
    - AAXProperties.xml (optional)
      - AAX Properties file for the bundle
  - /MacOS
    - Contains the plug-in's macOS binary (Mach-O)*
  - /Win32
    - Contains the plug-in's Windows x86 binary*
  - /x64
    - Contains the plug-in's Windows x64 binary*
  - /Factory Presets (optional)
    - This directory includes built-in plug-in presets. For more information, see Presets and settings management in the Pro Tools Guide documentation
  - PkgInfo (macOS only)
    - This file must include the concatenation of the plug-in's `CFBundlePackageType` (`TDMw` or `BNDL`) and `CFBundleSignature` (`PTul`)
  - Info.plist (macOS only)
    - The plug-in's property list
- desktop.ini (Windows only)
  - The .aaxplugin directory's view resource file, used to set its custom icon in Windows Explorer
- PlugIn.ico (Windows only)
  - Custom plug-in icon file

*See the following compatibility notes

Host Compatibility Notes:

- The plug-in's binary filename must be the same as the outer .aaxplugin bundle name
  Host Compatibility Notes:
- On Windows, the plug-in binary (DLL) must use the ".aaxplugin" suffix; i.e. the DLL must use exactly the same name as the outer .aaxplugin folder. On macOS, the plug-in binary does not require a specific suffix.
  Host Compatibility Notes:
- On Windows, the plug-in's binary filename (and therefore also the outer .aaxplugin file name) must not contain any spaces. There is a bug in AAE that will prevent binaries with spaces from being loaded properly. This is logged as PTSW-189928.

Note
  This directory structure is also used for plug-in installer directories in the VENUE plug-in installer system. See VENUE Plug-in installer specification for more information.

# Required Symbols

The following symbols are required in any AAX plug-in and must not be stripped from the binary:

- `_ACFRegisterPlugin`
- `_ACFRegisterComponent`
- `_ACFGetClassFactory`
- `_ACFCanUnloadNow`
- `_ACFStartup`
- `_ACFShutdown`
- `_ACFGetSDKVersion` *

Host Compatibility Notes:
  *`_ACFGetSDKVersion` is required for 64-bit AAX plug-ins only

Collaboration diagram for AAX Format Specification: