Using the ASPiKreator


Ther SDK comes with a Mac and Windows applicatation named and Aspikreator.exe. These apps contain two sub-apps: the ASPiK Project Creator and the GUI Code Creator.

The ASPiK Project Creator generates new (blank) ASPiK plugin projects for both Mac and Windows. NOTE: you only need ONE or the other to generate projects for BOTH operating systems; the Mac ASPiK Project Creator can generate the CMake files and projects for Windows and vice-versa. You will need to run CMake on the target operating system after the projects are created. We will discuss the GUI Control Creator in the section that involves writing your first plugin.

The main panels for both Mac and Windows versions have identical controls and the Mac version is shown here for a plugin project named ASPiKompressor:

Using the ASPiKreator software is super-easy. You only need to set a few text fields and check a few boxes to generate new plugin projects.

Project/Plugin Naming
The project name will become the name of the plugin file; e.g. if the project is named ASPiKompressor, then the AAX plugin will be named ASPiKompressor.aaxplugin, the VST will be ASPiKompressor.vst3, and so on. However, the plugin APIs also specify a plugin name string that is independent of the acutal file name. BUT, different DAWs will expose the plugin names to the user in different manners - some will use the filename while others will use the internal name string. The simplest solution is to name the plugin and the project identically, however the choice is yours and you can always tweak this in the individual plugin shell code, to which you have full access!

Step 1: Setup the Target Folder
Choose the destination ASPiK project folder as described on the ASPiK Project Folder page. For Universal projects, you will almost always be writing to the same project folder. For individual projects, you will likely need to change this folder. Use the [Browse] button to locate the folder. In this case, we are creating a universal plugin project so we use the .../ALL_SDK/myprojects folder as seen in the figure above.

Step 2: Set your Project Attributes
Fill in the text fields for the various components and choose the AAX category; check all the boxes that apply to your project. Select the type of project (universal or individual) and choose the APIs to include. Make sure you set the Plugin Code to a 4-character sequence unique among YOUR products.

Step 3: Create the Project
Use the [Create Project] button to spawn off a new project folder and setup the CMakeLists.txt file with the values from the ASPiKreator interface. With the new project in place, you only need to run CMake to generate the Visual Studio and/or XCode compiler project to build your plugins.

Step 4: Save your Settings
Use the [Exit] button to quit ASPiKreator - when you use this button (and not the X close toolbar button) your settings will be saved for: company name, 4-char company ID, company URL, company email, and your ASPiK Project folder. Note that all of the other attributes must be set for each plugin project (many items are necessarily different).

Step 5: OPTIONAL - Customizing Project Creation: Template Source
At the lower left you can see an area named Template Source. When you use the ASPiKreator, it uses an encrypted PluginTemplate as a starting point, the "Secure (recommended)" option which is the default. However, you can always create a project manually by copying the PluginTemplate folder and doing some text editing as described in the "Optional: Manual Project Creation" section. With v1.6.6, you can now opt to use that folder rather than the encrypted version that cannot be modified. This allows you to customize the template, for example to add extra files of your own design, and then use that customized version to create your new projects. Use the "PluginTemplate (custom)" option to do this. If during the customization process you corrupt the PluginTemplate folder, or you become suspicoius that something is incorrect, you can use the "Restore Template" button to erase and restor the PluginTemplate folder to its factory fresh condition.