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)
*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 OS X, 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
*