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 OS X, 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
-
/MacOS
-
Contains the plug-in's OS X binary (Mach-O)*
-
/Win32
-
Contains the plug-in's Windows x86 binary*
-
/x64
-
Contains the plug-in's Windows x64 binary*
-
/Factory Presets (optional)
-
PkgInfo (OS X only)
-
This file must include the concatenation of the plug-in's
CFBundlePackageType (TDMw) and CFBundleSignature (PTul)
-
Info.plist (OS X 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)
- Host Compatibility Notes:
- *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.
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 *