On this page:
This is a simple Hello World VST 3 FX plug-in to demonstrate how to use the VST 3 SDK as an external project.
This plug-in was generated with the VST 3 Project Generator and it is available here https://github.com/steinbergmedia/vst3_example_plugin_hello_world
Open a command prompt and do the following:
git clone https://github.com/steinbergmedia/vst3_example_plugin_hello_world.git mkdir build cd build cmake ../vst3_example_plugin_hello_world cmake --build .
This example is there mainly to demonstrate how to use VST 3 SDK as an external project, we highly recommand to use the Project Generator to start from scratch.
In the following explaination we try to show you how to modify the source code to build your plug-in on the helloworld example.
Now you have to adapt some uids and naming to make your plug-in unique (and not a duplicate of helloworld!)
Rename all strings for your plug-in from HelloWorld to MyDelay (for example):
- HelloWorldProcessor::HelloWorldProcessor to MyDelayProcessor::MyDelayProcessor
Open the file vst3_example_plugin_hello_world/include/helloworldcids.h and create new uids for processor and for controller: you can use GUID creator tools like https://www.guidgenerator.com:
static const FUID kHelloWorldProcessorUID (0x2A0CC26C, 0xBF88964C, 0xB0BFFCB0, 0x554AF523); static const FUID kHelloWorldControllerUID (0xB9DBBD64, 0xF7C40A4C, 0x9C8BFB33, 0x8761E244);
- Open the file version.h and adapt the strings in the following way:
#define stringOriginalFilename "MyDelay.vst3" #define stringFileDescription "MyDelay VST3"
- Open the file helloworldentry.cpp and adapt string:
#define stringPluginName "My First Delay"
Now you can start to code for your effect/instrument (see Code your first plug-in for a step-by-step explanation)
- Add parameters in helloworldcontroller.cpp
- Adapt your process algorithm in helloworldprocessor.cpp
- Add persistence in helloworldprocessor.cpp
- Add UI (check SDK examples using VSTGUI)