Is it possible to develop a VST using Visual Basic 6?
-
- KVRer
- Topic Starter
- 12 posts since 26 Feb, 2004
Hi everyone, I am kind-off new here.
I just have a simple question. I am interested in developing a VST, but to date have only experience in Visual Basic, which I have been doing for over 5 years. Thats Visual Basic 6.
Is it possible to develop a simple VST using VB6. I know that the software development kits are only for C++ and Delphi, but surely I should be able to use those classes. Please correct me if I am wrong.
The other alternative is to learn C++, but how difficult would that be for me? Are there any pointers or guidelines you could provide for me here?
Also, is there any book or literature which can help in how to develop VSTs.
Many Thanks
OrangeMan
I just have a simple question. I am interested in developing a VST, but to date have only experience in Visual Basic, which I have been doing for over 5 years. Thats Visual Basic 6.
Is it possible to develop a simple VST using VB6. I know that the software development kits are only for C++ and Delphi, but surely I should be able to use those classes. Please correct me if I am wrong.
The other alternative is to learn C++, but how difficult would that be for me? Are there any pointers or guidelines you could provide for me here?
Also, is there any book or literature which can help in how to develop VSTs.
Many Thanks
OrangeMan
-
- KVRist
- 327 posts since 13 Nov, 2002 from Germany, Darmstadt
VB isn't OO, so it will be pritty hard. Normaly you simply derive a class from AudioEffectX. This isn't possible in VB (correct me if I'm wrong). So, sorry I don't see how to do it.
Of course it worth learning C++, but it's very complicated.
Hm, pretty hard? OK, you could continue the procedural style of coding in C++, but that's very uncommon and I wouldn't recomend to do so. But changing the coding style is hard (at least it was for me a long time ago).The other alternative is to learn C++, but how difficult would that be for me? Are there any pointers or guidelines you could provide for me here?
Of course it worth learning C++, but it's very complicated.
-
- KVRist
- 216 posts since 10 Jan, 2003
Actually, there's something a bit more fundamental. The whole VST API works by exposing C method calls. This you can do in Delphi, but not in VB, C#, Java or much else. So, you could write bits that way, but you'd need to write a wrapper. And the effort involved would be better spent learning enough C++ anyway.
-
- KVRAF
- 3139 posts since 6 Sep, 2002 from United Kingdom & Opinions Will Travel :O)
VST = C++ sdk
What about dxi?
Best regards,
Spe3d
:O)
What about dxi?
Best regards,
Spe3d
:O)
-
- KVRist
- 60 posts since 4 May, 2003 from wellington.newzealand
Well...whether VB is OO or not is debateable these days, and largely irrelevent...
And you *can* call C/C++ API's from VB (with some provisos)...been doing for years. So it may well be possible to do it from VB. As always sample code is useful in these scenarios, but don't know if any VB stuff sorry.
So I think it's worth a try, let us know how you go!
cheers.
And you *can* call C/C++ API's from VB (with some provisos)...been doing for years. So it may well be possible to do it from VB. As always sample code is useful in these scenarios, but don't know if any VB stuff sorry.
So I think it's worth a try, let us know how you go!
cheers.
-
- KVRAF
- 3139 posts since 6 Sep, 2002 from United Kingdom & Opinions Will Travel :O)
I should have looked in this forum – it’s only two threads down about the new Delphi port by tobybearBanjostar wrote:Tobybear is porting the DX sdk from c++ to Delphi as we speak And the VST sdk is already ported.Spe3D wrote:VST = C++ sdk
What about dxi?
Best regards,
Spe3d
:O)
Thanks Banjo
Best regards,
Spe3d
:O)
-
- KVRist
- 216 posts since 10 Jan, 2003
Same here. But the emphasis should be on the word "call". Because you, the VSTi implementer, have to expose these methods. And that you can't do.husker wrote:And you *can* call C/C++ API's from VB (with some provisos)...been doing for years.
Now, tobybear is a development god, but he's only just started on DXi, having done VSTi years ago. I'd follow his example...
-
- KVRer
- Topic Starter
- 12 posts since 26 Feb, 2004
Hi guys, thanks everyone for the reply.
I would like to say that I've always considered VB to be object oriented to a certain extent. Okay, it doesn't really support inheritence, but it certainly isn't procedural as far as I have experienced.
I have always used class structures and COM architecture. I have always taken an OOP approach in my programming as far as VB allows.
I never thought that it was so important which language one used to make use of a type library and interface. I thought that was the whole point of a type library and interface. Just expose the functions and methods available and any programming environment should be able to make use of it. You know 'black-box' software engineering.
I only want to write a very simple VST with not much processing at all. That's why I thought I should be able to do it in VB.
OrangeMan
I would like to say that I've always considered VB to be object oriented to a certain extent. Okay, it doesn't really support inheritence, but it certainly isn't procedural as far as I have experienced.
I have always used class structures and COM architecture. I have always taken an OOP approach in my programming as far as VB allows.
I never thought that it was so important which language one used to make use of a type library and interface. I thought that was the whole point of a type library and interface. Just expose the functions and methods available and any programming environment should be able to make use of it. You know 'black-box' software engineering.
I only want to write a very simple VST with not much processing at all. That's why I thought I should be able to do it in VB.
OrangeMan
-
- KVRist
- 300 posts since 11 Feb, 2003
goto http://sourceforge.net/ and search for VST, you will find open source instruments and some VST wrappers including Java:
http://sourceforge.net/projects/jvstwrapper/
http://sourceforge.net/projects/jvstwrapper/
-
- KVRist
- 216 posts since 10 Jan, 2003
Yeah, there's a couple of problems with that. One is that Microsoft got it wrong with COM (there's no sensible way to implement the NewEnum method, for instance). .NET is much cleaner in that regard.OrangeMan wrote: I never thought that it was so important which language one used to make use of a type library and interface. I thought that was the whole point of a type library and interface. Just expose the functions and methods available and any programming environment should be able to make use of it. You know 'black-box' software engineering.
The next problem is that COM don't work on Macs, except within Microsoft products.
And finally...
...the VST SDK doesn't use COM. It uses C extern functions, because (sadly) they're a lot more portable, and they care about PC and Mac a lot more than C++ and VB.
- KVRAF
- 8997 posts since 1 Aug, 2003
I've been told VB is just way too slow for audio...
-
- KVRist
- 216 posts since 10 Jan, 2003
I've been told VB is way too slow any number of times by C++ coders whose code goes slower than mine. Structs, doubles and ints are just as fast in VB as in Microsoft C++ (they ought to be, they use the same damn compiler). It's good code that makes things go fast.
Not that I'd recommend VB as a way to go. Read "The C programming language" by K&R. It's dead easy, and it should give you
Sooner or later, though, complicated stuff gets into SSE territory. And then using an environment (like Microsoft C++) that can have embedded assembler is a real win.
Not that I'd recommend VB as a way to go. Read "The C programming language" by K&R. It's dead easy, and it should give you
Sooner or later, though, complicated stuff gets into SSE territory. And then using an environment (like Microsoft C++) that can have embedded assembler is a real win.