Plug-ins, Hosts, Apps,
Hardware, Soundware
Developers
(Brands)
Videos Groups
Whats's in?
Banks & Patches
Download & Upload
Music Search
KVR
   
KVR Forum » DSP and Plug-in Development
Thread Read
VB Vst Development?
Xtrea
KVRer
- profile
- pm
- e-mail
PostPosted: Mon Aug 20, 2012 8:30 pm reply with quote
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
^ Joined: 16 May 2012  Member: #280533  
bitwise
KVRist
- profile
- pm
PostPosted: Tue Aug 21, 2012 1:35 pm reply with quote
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 Very Happy


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):


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.
^ Joined: 18 Mar 2012  Member: #277127  
Stupid American Pig
KVRAF
- profile
- pm
- e-mail
- www
PostPosted: Thu Aug 23, 2012 6:50 am reply with quote
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 Very Happy


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. Smile 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.
^ Joined: 25 Nov 2002  Member: #4753  Location: the cone of uncertainty....
All times are GMT - 8 Hours

Printable version
Page 1 of 1
Display posts from previous:   
ReplyNew TopicPrevious TopicNext Topic
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Username: Password:  
KVR Developer Challenge 2012