No Matches
Enumerating the Plugin Parameters

Each plugin parameter (GUI control) must be identified with some kind of unique value - this is common across all plugin APIs. ASPiK uses unique integer values (so do AU and VST3 while AAX uses unique character strings). It is up to you as to how you want to define your unique integer variables. We have come up with an easy way to make these definitions without having to memorize more stuff. Since each GUI control will be bound to a C++ member variable on a plugin object (for ASPiK this is the PluginCore object), then those member variable names must be unique. We can define an enumeration that uses the same variable names and add an enumeration prefix to make it easy to specify the unique values.

This is one of the things that you will need to code by hand, but it is quite simple. The reason that the ASPiK Tool-Kit doesn't attempt to code this information for you is that most programmers have their own methods for making unique enumerations and may even have preset enumeration files from other projects.

For ASPiK, the PluginCore object is the monolithic plugin device. It is coded in the plugincore.h and plugincore.cpp files. You will spend the majority of your time modifying these two files. In fact you can write the entire plugin within just these two files if you like. Open the plugincore.h file and add an enumeration at the top of the file:

enum controlID {
vuMeter };

Notice that we have defined an enumeration prefix controlID along with the enumerated variables that exactly match the variable names in the GUI Control Tables. This means that you can access the unique identifier for your enableMute variable as controlID::enableMute rather than the underlying integer (1) in this case.

With the enumeration set up, you can proceed to define the PluginCore member variables that map to the GUI controls. You can do this at the same time as you define your plugin parameter objects using the ASPiK Tool-Kit's GUI Code Creator.