Update: Things are moving on nicely with my first main attempt at wrapping the AGain demo included in the VST sdk to python using nothing but the standard python C API. So far I have everything implemented but the main process, for which I’ll need to do a bit more reading on the numpy C API. Most of this was possible thanks to an easy tutorial by Jun Du over at codeproject.com.
More updates (and source code of course) to follow soon.
I recently found this fantastic tutorial website which teaches the reader the basics of creating video games using the SDL library. This may have only a vague relevance to VST programming, however, the tutorials are incredibly clear and use C++ (rather than straight C used in many other tutorials) throughout. If you’re having trouble learning C++ by reading books with the standard dull “now we shall make an employee class for our payroll system zzzzzZzzzzZzzz” then I strongly suggest that you check this out. The author does not expect any prior knowledge of C++ programming, and it is a great way of learning by doing. The comments of the readers say it all for me.
The author of this tutorial recommends that you use the code::blocks IDE. I too have more recently become an advocate of using code::blocks due to its fantastic debugging capabilities and plugin support for profiling with gprof. Code::Blocks uses the same open source GNU c++ compiler which I use in the tutorials here but has its own build system built in rather than using SCons. The only reason I show the reader how to use SCons is for educational purposes, so that they have a really good idea of what they are doing with the source files in each example I present. It is just as easy to use code::blocks for VST plugin development once you want debugging and profiling support.
I’ve been using an interpreted scripting language called Matlab to do my research work for some time now. I often type short commands straight into a command window to test the output before adding those commands to the main script. This really accelerates my development time. Now that I’m learning c++, I have become frustrated with having to recompile each time I want to test a small change to a calculation, or check my syntax. This is where Ch comes in. It is a freeware (for the standard edition) c++ interpreter which supports many functions and allows rapid checking of code fragments. The following screenshot is just me having a little play, while Ch seems to allow you to do so much more. I recommend you download and have a play!