This project has moved and is read-only. For the latest updates, please go here.

How do I get Started

Jan 18, 2011 at 8:53 AM

I really would like to get started creating my first plugin I am sorry for all the ignorance but I am willing to put in the work. What is the first things I will need to start designing is it visual studio 2008 is where I will begin creating the VST. Where do I start???

Jan 18, 2011 at 10:27 AM
Edited Jan 18, 2011 at 10:28 AM

Download the latest release (binaries, docs and (NEW!) the VS templates. (Install the VS templates by double-clicking on the .vsi).

Download the source code (from the Source Code tab) and remove all files that are not present (some assembly info files and the .snk file).
[Building the Source Code] and [VST.NET Samples]

Now you have a working Audio and Midi plugin in the VS templates and a couple of samples in the source code.

Read the getting started section in the docs. Also try to read the rest of the docs (they're a bit old ;-).

See also other resources.
[VST Resources]

If you have any specific questions, check back here and post each (separate) question in this duscussion list.

Hope it helps,

Jan 18, 2011 at 3:26 PM

obiwanjacob, Thanks alot one for the fast response two for the advice. I know nothing about codeing but I want to start learning so I google some stuff and it brought me here. I express my utmost gratitude for your help and please excuse my ignorance aeahd of time. Jus to give an idea of what im trying to accomplish...I love plugins, and I have a pretty good idea for a vocal strip plugin so I have a few questions

1.) Is this this best templates for my idea

2.) Is this framwork similar to a professional plugin such as waves, "with hard work put in"

3.) What IDE should I use, or do I need any at all

4.) Last, will I be able to design my plugin to look like this, I mean the actual design on the outside the wood look


Jan 18, 2011 at 4:14 PM

If you know nothing about coding a VST plugin might not be the easiest thing to start with.

In the VST community ( the general idea is that you should at least program in C++ to make a decent plugin. Hand-optimized assembly is even better. But my feeling is that you could develop a decent plugin with VST.NET. Heavy Digital Sound Processing (DSP) algorithms might not be the most effecient in .NET but Midi plugins are usually no problem at all. I know very little about DSP myself and cannot judge if stripping out vocal tones requires a lot of DSP power. One thing is for sure, C# (.NET) is easier to learn and program in than C++ and VST.NET is ideal for quick proof-of-concepts, when you just want to try out a new idea quickly.

1) I dont know. Like I said in general .NET has a little overhead compared to raw C++. I suspect you should familiarize yourself with DSP first. VST.NET is great to try things out with.

2) I dont think you can compare a framework with a plugin. But in theory you should be able to build anything with VST.NET. Performance and CPU usage is another matter though.

3) VST.NET works best with Visual Studio 2008. You can download a free Express edition at Microsoft.

4) Yes, large bitmap based graphics will be possible in VST.NET. Take a look here for an example:

Hope it helps,

Jan 18, 2011 at 10:51 PM

Again I thank you so much for your advice obiwan, and thank you for the response you have been so helpful I really appreciate it.

Just to get your opinion...What I mean to say Is I want to design a Channle Strip a Vocal Channle Stip, I know there is alot of pluigins out there EQ, Comp etc. I want to bring something different to the table.

My idea.. is to generate a plug in that has 2 EQ's one a high pass low pass (80hz-16K), the other (100-10K), then a desser, then chaining into a Comp (100-10K), then to a stereo imager

The style will be classic comp, eq with nobs and then above it will be the graphic represntation of the parameters. I want to call it the Norman NVS-1.

Jan 19, 2011 at 8:28 AM

Sounds like fun! ;-) I would suggest you start by looking into how to create those DSP effects separately. Perhaps you will find the Delay sample or the new Audio plugin project template, a good place to start.

Good luck with buiding Norman NVS-1 ! ;-)

Feb 13, 2011 at 8:03 PM
obiwanjacobi wrote:

Download the source code (from the Source Code tab) and remove all files that are not present (some assembly info files and the .snk file).

Can you elaborate on "remove all files that are not present"? Taken literally it seems impossible to remove files that are not present.

I find 16 files in 54981 that begin "AssemblyInfo". Should I remove all of them?

I don't find any file that ends with ".snk". Am I missing something?


Jim Henry

Feb 16, 2011 at 1:15 AM
Edited Feb 16, 2011 at 1:18 AM

Missing files references are displayed in the projects with a warning icon. The files are missing but the references are present in the project. Browse the solution explorer window for all projects, and remove the missing references. Also references to snk file may be located inside C++ project properties, right-click on project name to access properties, locate the xxxx.snk file path under code signing option and remove it.



Mar 23, 2011 at 12:52 PM

Hello ObiWan and all the VST.NETers! Like Jaynm26 at the top of this discussion, I'm trying to develop my first VST product. I've read the 'Getting started' part of the documentation for about thousand times, I've read these advices for about two thousand times, but I still can't move from the starting line... I know you've answered this for about three thousand times and I'm sorry for my misunderstanding. I use MS C# VisualStudio 2010 Express and 4.0 .NET framework [hoping it's not a problem] and my aim is to use one of your samples or templates and modify only the necessary parts where the logic points are written. Is this order alright? When I try to build the sample [mostly the delay effect], how can I take a look it's working correctly? I want to make a VST plugin for real-time audio 2 MIDI conversion, is it an AudioPlugin or a MidiPlugin? Is the C# language fast enough for my stuff? Thanks a lot for any reaction!

Mar 24, 2011 at 8:23 AM

- I use MS C# VisualStudio 2010 Express and 4.0 .NET framework

That should be no problem. The only reason I keep VST.NET at .NET 2.0 is not to force users of the software (plugins/hosts) you write, to upgrade to a higher version of .NET. Currently I dont need features from the newer .NET version, so we're still on .NET 2.0.

- Is this order alright?

Yes, taking a sample or using the VS project templates as a starting point is a good way to start. I fully realize that in time you might develop your own style and architecture, but as a starting point its fine. 
Know, however, that the samples are not meant as production code and ready to ship! The samples only demo how to setup/interact with VST.NET, nothing else. The Delay sample has a small DSP component but other samples do not (I'm know nothing about DSP). I would suggest you look at the MidiNoteSampler, it has an audio and midi implementation.

- How can I take a look it's working correctly?

Load the sample plugin into a host. I like the VST Host made by Hermann Seib. It looks ancient ;-) but works fine. I recommend to download (trail versions of) other hosts as well. There is great variety in how hosts manage their plugins. You should test a few to see if you can be as 'host friendly' as possible.

- is it an AudioPlugin or a MidiPlugin?

Both, I guess. Some hosts are really picky and have their own ideas on what a Plugin is 'supposed' to do. I think you'll be fine with VST Host. Just let the plugin publish it needs Audio and sends Midi to the host - let me know if you are unclear how to do that in VST.NET.

- Is the C# language fast enough for my stuff?

Dont know. I dont have any hard figures. But I DO know that they also do games in .NET (Xna). Everybody said it wouldn't be fast enough, but still it works. And those games also run on the Compact Fx - which has a really simplistic garbage collection scheme. So My guess is you'll be fine provided you don't do anything 'stupid' (like allocating huge memory ranges during audio processing ;-). Search for real-time programming in .NET on the inet - that should give you some tips. As a last resort you can always program your DSP components in (managed) C++ (CLI) and call them from the VST.NET Framework.

Hope it helps.

Apr 7, 2011 at 2:32 PM

Hello everyone,

I have this issue with loading the VST.NET jacobi samples into my vst host:

I downloaded binaries and put the release folder into my vst folder.

I tried vst hosts Ableton Live and Adobe Audition to run for example the delay.

Here is an error i get when vst managers in hosts try to load the dll:

quote> --------------------------- VST.NET Bootstrapper Error --------------------------- System.IO.FileNotFoundException: Could not load file or assembly 'Jacobi.Vst.Core, Version=, Culture=neutral, PublicKeyToken=fa678e13c1efc859' or one of its dependencies. Syst�m nem�e n�js� zadan� s�bor. File name: 'Jacobi.Vst.Core, Version=, Culture=neutral, PublicKeyToken=fa678e13c1efc859' at Jacobi.Vst.Interop.VSTPluginMainInternal(Bootstrapper bootstrapper, IntPtr hostCallback) at Jacobi.Vst.Interop.VSTPluginMain(IntPtr hostCallback) WRN: Assembly binding logging is turned OFF. To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1. Note: There is some performance penalty associated with assembly bind failure logging. To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog]. --------------------------- OK --------------------------- </quote>

I would really like to see those samples, to get some inspiration to begin with.
Plase, let me know what am I doing wrong.


Apr 7, 2011 at 6:07 PM

Well, the error says it all: You need to put Jacobi.VstCore.dll in the same folder, as well as Jacobi.Vst.Framework.dll.

Hope it helps,

Apr 8, 2011 at 11:06 AM

Thanks for the reply it doesn't throw errors no more, but somehow Live 8.1.4 and Audition 3.0 don't display them in usable vst lists. Audition has put them to Unsupported Vst list. Is there any host that can surely deal with these vst samples?