Documentation
Creating VST Effects
Spektar is capable of generating VST Effect source code from a design. Here is a brief guide on how to do this.
Requirements
In terms of design requirements for VST Effect export, there is essentially a requirement that your design must have two inputs and two outputs. Additionally, the design can have any number of controls.
Once your design is exported to source, you will need to install a few things to build. At a minimum this will be VST3 SDK available from Steinberg, cmake and a toolchain (e.g. Visual Studio on Windows). This is a typical set of requirements for building VST plugins so if you follow VST3 SDK instructions for setup, that will also work for plugin source generated by Spektar.
It is usually a good idea to make sure that you can build examples that are included with VST3 SDK first. Once that works, building code generated by Spektar will be a breeze.
Setup
A good starting point is placing Audio Source and Audio Sink components. These are bench components and can therefore represent the boundary / edge of your design. You can think of these as the input signal to your effect (Audio Source component) and as the output from your effect (Audio Sink component).
Design and processing
This is where you create your effect. Drag and drop components, connect them and test the result. A good example is available as Reverb.dgml in the projects / examples folder.
Export
Once you are happy with the results in Spektar, hit the export button and follow instructions in export guide. Note the VST specific section there and read it as there may be a few gothas you can avoid.
Building your plugin
After the export, look for Readme.txt file in your export folder. This provides basic instructions on how to build. The cmake build system chosen by Steinberg is not pretty or particularly helpful, but source generated by Spektar will build of the box if your initial setup was correct.
VST GUI
Since version 1.1.0 Spektar now includes a VSTGUI editor. While it doesn’t support every VSTGUI option, it is much more user-friendly that VSTGUI designer that comes with VST SDK, and importantly it is fully integrated with Spektar. Spektar VSTGUI designer excels is common design elements and includes ready to go skins. If there are any features missing in Spektar, you can always do most of the work in Spektar and then use VSGUI designer from the SDK to fine tune.
Read more about how designer works in the designer section.
If you want to use VSTGUI designer from the SDK, read on. Oddly, in Steinberg’s VST SDK, VSTGUI4 designer is a runtime thing (not design time). It gets compiled into your plugin if you specify -DSMTG_ADD_VSTGUI=1 when running cmake. When you load the plugin into the host (e.g. in Steinberg’s VstPluginTestHost), the VST GUI Editor shows up. Please refer to VSTGUI4 docs on how to use the editor. It’s a bit clunky but with a bit of trial and error it should work.
Tips
- Source code templates for VST effects and VST instruments are in your Spektar home folder , e.g. Documents/Spektar/templates. You won’t need to but you could modify these to adapt plugin functionality and behaviours. If you really must modify these, make a backup copy first so you can revert easily.