No Matches
Plugin Specifications

Block Diagrams
The plugin specification usually starts with block diagrams. Let's look at the block diagram and the accompanying GUI that we will implement. This glorified volume plugin isn't going to win any technical awards, but it will show you how to write all the code you need and design the GUI as well.

The block diagram on the left will be used for coding the audio processing - we identify the various blocks and connections an implement these in code. If coding audio block diagrams is a new concept, the you are encouraged to check out Designing Audio Effects Plugins in C++D 2nd Ed. by Will Pirkle as it explains how the block diagrams turn into code. Therefore, we won't go into detail on that aspect of the process.

The GUI mockup on the right will help us assemble the final GUI for the user. It will also help solidify the notion that the GUI controls connect to the block diagram. Specifically, the GUI control information needs to propagate into the plugin (the ASPiK framework handles this for you), and we will need to store and use that information in a DSP algorithm. The ordinary way to accomplish this is to map the GUI controls to C++ variables in the plugin core object. ASPiK features Automatic Variable Binding to allow this transfer of information from the GUI into the plugin variables to occur transparently to you, the programmer. Note that this is an optional feature, and you are free to implement this binding process on your own if you like.