Intro
1. general
2. coding
3. dsp
4. in detail
credits
2. coding

Are there any translations of the SDK for other programming languages than C++?
Currently the only one I know of is for Borland/Inprise Delphi (successor of Turbo Pascal), written and available from Frederic Vanmol (http://ww.axiworld.be). I do develop my plugins in Delphi using this SDK translation and I can only recommend it to any Delphi user interested in plugin development.

Can I write VST plugins in (Visual) Basic?
Short answer: No.
Long answer: No, you can't.
The reason is that there is no equivalent to classes and objects in VB (C++ / Delphi are object oriented languages) and I'm pretty sure that VB does not support creating libraries/DLL with dedicated main function exports. Feel free to convince me otherwise though :-) .

What compilers/programming languages can I use?
On the PC (Windows): For C++, I suggest Microsoft Visual C++ 5.0 (or above), this proved to be the compiler with the fewest changes to be made to get the example projects going. But I know other people that tried it with different compilers like Watcom C++ or Borland C++ Builder, with mixed results.

For Delphi, there is only one compiler, Borland Delphi :-) . Delphi is available very cheap these days, especially older versions and educational versions. I used Delphi 3 (from 1997!, bought for $20!) for a long time and it worked very well with VST plugins. Delphi 4 to Delphi 7 should be okay as well. I develop now in Delphi 5.0. A free version of Delphi 6 (D6PE) is available from Borland for non-commercial use, and it works excellent for developping VST plugins. Check www.axiworld.be for the excellent Borland C++ Builder and Borland Delphi translations of the VST SDK, done by Frederic Vanmol.

On the Mac:
I suppose CodeWarrior Pro is nearly always used. There are a cheaper "learning" editions of CodeWarrior available, but they are severly limited for plugin programming and at least the LE 1 version does definitely not work.
There is also a solution for ProjectBuilder announced, but we havn't seen it, yet.

What are the (dis)advantages of C++ and Delphi?

C++:
+ world-wide defacto standard for programs
+ VST SDK is written in C++
+ most plugins/source code/algorithms/examples are in C++
+ excellent learning books available
+ cross platform compatibility if using only the SDK routines
- can be very confusing to the novice
- some compilers are not that user friendly (cp. to Delphi)
- most compilers are large and slow

Delphi:
+ excellent compiler, quick and highly optimized
+ easy to use, easy to understand
+ excellent learning books available
+ superb SDK translation available
+ vast amount of absolutely excellent freeware components available for all your needs
- losing platform compatibility, as there is no Delphi for Mac (yet)
- you should know at least a bit C++ to understand the headers/functions/examples in the SDK


What about Mac/Win cross platform compatibility of the code?
On the Mac, there is currently (to my knowledge) only the option to compile C++ code, so Delphi users have to port it into C++ first :-( . If you have used only the routines provided by the SDK and no platform specific code (inline assembler, special Windows dialogs, external components...), most code pieces should work, but there will probably still be lots of things to tweak to get it going. Resources and bitmaps of the GUI have to be converted into Mac formats using appropriate utilities

What about Assembler, isn't this supposed to be the best programming language for realtime DSP?
The code for your plugin that you have written in your high-level-language compiler will be converted into more or less efficient (depending on your compiler) assembler code. Most compilers however allow the use of direct assembler statements and procedures within your regular C++ or Pascal code constructs, but this is probably needed only for some really time critical functions, in most cases and for most compilers these days the regular internal functions should be fast enough and the problem lies more in finding the best/fastest algorithm. Should you use assembler statements however, please bear in mind that they might be specific to one processor (like Intel vs. AMD) and PC assembler code can of course not be run on the Mac.



Site adapted and maintained by Urs
Original music-dsp site created and maintained by bram & david
Original graphic design by line.out | Site hosted by NN
VST Technology by Steinberg Media AG
Number of unique visitors (since january 2002):