VB Vst Development?

DSP, Plugin and Host development discussion.
Post Reply New Topic
RELATED
PRODUCTS

Post

Hello guys I would consider myself a beginer at Visual Basic 6/08/10 and well I like that language alot cause well it makes alot more sense than C++ but I was wondering if it was possible to develop VST's with VB10 as well I feel more comfortable with that than C++. Ive looked into the VST.NET but I have no idea how to use it T.T So if I can get any help it would mean alot :D

Post

Xtrea wrote:Hello guys I would consider myself a beginer at Visual Basic 6/08/10 and well I like that language alot cause well it makes alot more sense than C++ but I was wondering if it was possible to develop VST's with VB10 as well I feel more comfortable with that than C++. Ive looked into the VST.NET but I have no idea how to use it T.T So if I can get any help it would mean alot :D
I assume you are talking about Visual Basic .Net

If you consider VB.Net easier than C++, i guess, you refer to the fact that, being a higher level language, you can accomplish things easier, but if Object Oriented Programming is what you don't like in C++, VB.Net won't help you either. Anyway...

I played with VST.NET time ago, i don't remember much, but looking at the code:

You need to reference the following dlls:

Jacobi.Vst.Core.dll
Jacobi.Vst.Framework.dll
(Jacobi.Vst.Interop.dll)

You need to define some or all the following classes:

MyAudioProcessor,
which derives from "VstPluginAudioProcessorBase"
and overrides the "Process" method.

MyMidiProcessor,
which is based on the "IVstMidiProcessor" interface
and implements the "ChannelCount" property and the "Process" method.

MyPluginEditor,
which is based on the "IVstPluginEditor" interface
and implements "Close", "KeyDown", "KeyUp", "Open", "ProcessIdle"

MyPluginPersistence,
which is based on the "IVstPluginPersistence" interface
and implements "CanLoadChunk", "ReadPrograms", "WritePrograms"


MyPlugin,
which derives from "VstPluginWithInterfaceManagerBase"
and overrides
"CreateAudioProcessor"
"CreateMidiProcessor"
"CreateEditor"
"CreatePersistence"

In the "CreateXXX" methods, you return an instance of the classes
you defined above.

I don't see any entry point, but the key should be the definition
this other class (C# code, in this example):

Code: Select all

public sealed class PluginCommandStub 
    : StdPluginDeprecatedCommandStub, 
      Jacobi.Vst.Core.Plugin.IVstPluginCommandStub
{
    /// <summary>
    /// Called by the framework to create the plugin root class.
    /// </summary>
    /// <returns>Never returns null.</returns>

    protected override Jacobi.Vst.Framework.IVstPlugin CreatePluginInstance()
    {
        return new MyPlugin();
    }
}
Look at the given examples.

Post

Xtrea wrote:Hello guys I would consider myself a beginer at Visual Basic 6/08/10 and well I like that language alot cause well it makes alot more sense than C++ but I was wondering if it was possible to develop VST's with VB10 as well I feel more comfortable with that than C++. Ive looked into the VST.NET but I have no idea how to use it T.T So if I can get any help it would mean alot :D
Back when I first started writing code, I had big dreams and a VB5 compiler. What I realized is that VB is not a great way to learn how to write a VST. If you are interested in abstraction away from C++ then SynthMaker and SynthEdit are good choices. That will let you wrap your head around the modularity and dive into some DSP without having to know C/C++. The problem is that V6 has its own (slow) runtime and vb8/10 target .NET which needs to be marshalled into unmanaged code which has a cost associated with it.

The best way to write a VST plugin is with the SDK and a C++ compiler. Starting with ADelay is a good bet, its a pretty easy thing to wrap your mind around, and most of the magic happens in ProcessReplacing(). I found when I was starting years ago with it that the Constants associated with the adjustable parameters weren't immediately obvious, but it eventually makes sense. Eventually C++ will seem more comfortable to you and you will be able to think in that language and even be productive. :) Maybe others will have a different take on this than I, but IMO trying to bend the SDK to fit a language that isn't C/C++ or Delphi is not worth the effort. I would even say that Delphi probably is not an ideal choice as it seems to be on shaky ground with Windows moving forward.

Post Reply

Return to “DSP and Plugin Development”