VST Code Generator

Introduction

The following is a set of instructions that describe how to setup a free development environment for building VST plugins and how to generate the framework code for a new plugin using my DevExtra code generator.

Primarily these instructions apply to Microsoft's free Visual C++ Express, though similar steps can be used for Visual Studio 2005. I've also included some notes on using the open source MinGW/MSYS as an alternative development environment.

I've tested these instructions on a clean installation of Windows XP and even inexperienced developers should be able to get this up and running without too much trouble. If you encounter problems, please Contact Me

Installing Tools and SDKs

These are the tools and software development kits (SDKs) you're going to need if you want to use Visual C++ Express. Feel free to change installation folders but note that the rest of these instructions assume the defaults.

The Microsoft downloads/installs are quite large.  If you can't wait or don't have the bandwidth, try the MinGW/MSYS approach described below.  Note however that the Visual C++ Express IDE (editor/debugger) is first class.  If you're brand new to all this I thoroughly recommend the Microsoft route.

You'll also need a VST host - of course I recommend Cantabile.

Integrate SDKs with Visual C++ Express:

In order for Visual C++ Express to work with the Platform SDK and VST SDK you need to integrate it by following these steps:

Generating Your Plugin

DevExtra is a code generation tool that can generate an framework VST project.

Running and Debugging

Once you've generated and built your plugin you'll want to be able to run it and debug it from Visual C++ Express:

Using MinGW/MSYS

MinGW/MSYS is a development environment for building Windows applications and DLL's (and therefore VST plugins) using open source development tools such as GCC. 

The original makefile this system uses was generously contributed by KVR Audio member bluebyte who also has more complete instructions here: http://schmid.dk/wiki/index.php/VST_Plug-ins.

To setup the development environment you'll need to:

To generate the plugin:

SimpleLib

The code generated by DevExtra's VST template is deliberately configured to not require any additional libraries or dependencies. Once you start getting serious with you're plugin though you're going to need some additional libraries for things like strings and collections. 

STL is a popular choice but for a very lightweight, easy to use and easy to read alternative you might like to try SimpleLib.  You only need to include one header file, you don't need to link to any libraries and you get comprehensive support for strings, vectors, maps, ring buffers, linked lists and more.

Notes