Newbie VST question!
-
- KVRist
- Topic Starter
- 234 posts since 20 Mar, 2004 from Ontario, Canada
Hey everyone.
A little background...
I'm a musician (been studying music most of my life), and I'm a computer science student here at the local University.
A few days ago I was talking to one of our profs about how I could mix my two interests (music and programming), and he suggested I get into programming VST plugins (in C++ I believe).
Also, I recently purchased a Fantom S88 and have been doing some research on sound creation, synthesis etc.
So, yes, I am new to this world... but very interested nonetheless.
Also, I have .NET programming experience from job I have here currently. I know the languages Java and C#, and am in the process of learning C, C++.
I was just wondering if someone could tell me where to start w.r.t. VST plugin programming? I realize I'm not at the stage to begin any coding (obviously), but was wondering if there's any articles/books etc I could read up on?
Any suggestions would be greatly appreciated!
Thanks - and great website by the way!
A little background...
I'm a musician (been studying music most of my life), and I'm a computer science student here at the local University.
A few days ago I was talking to one of our profs about how I could mix my two interests (music and programming), and he suggested I get into programming VST plugins (in C++ I believe).
Also, I recently purchased a Fantom S88 and have been doing some research on sound creation, synthesis etc.
So, yes, I am new to this world... but very interested nonetheless.
Also, I have .NET programming experience from job I have here currently. I know the languages Java and C#, and am in the process of learning C, C++.
I was just wondering if someone could tell me where to start w.r.t. VST plugin programming? I realize I'm not at the stage to begin any coding (obviously), but was wondering if there's any articles/books etc I could read up on?
Any suggestions would be greatly appreciated!
Thanks - and great website by the way!
-
- KVRist
- 245 posts since 1 Mar, 2004 from London
You should get the VST SDK which is by Steinberg and is available here
http://ygrabit.steinberg.de/users/ygrab ... index.html
You will need a software sequencer or some other VST host (many can be downloaded).
You certainly need to work in C++ (Java and the the other thing -can't say it- are no good for this).
To save time you can instead download SynthEdit where you can build a VST with drag and drop, but use the SynthEdit SDK in C++ for tricky stuff (my preferred approach). It will also act as a host.
Steve
http://ygrabit.steinberg.de/users/ygrab ... index.html
You will need a software sequencer or some other VST host (many can be downloaded).
You certainly need to work in C++ (Java and the the other thing -can't say it- are no good for this).
To save time you can instead download SynthEdit where you can build a VST with drag and drop, but use the SynthEdit SDK in C++ for tricky stuff (my preferred approach). It will also act as a host.
Steve
-
- KVRian
- 922 posts since 26 Mar, 2003 from Guildford, England
There is always Delphi, but C++ is probably a much more obvious choice, given your background. If you are interested in using Delphi, ask the legendary Tobybear.
As for cpp, get the vst SDK frm Steinberg as steve suggests. If you are using MSVC you'll have your own plugin up and running in no time! There are some resources here and there if you want to use GCC. Look on musicdsp.org or the vst source code archive.
If you don't want to make fabulous GUI's straight away, you can get a simple plugin going in minutes, which uses the host's string interface. You then just need to adapt the audio process code to get it to do what you want. There are a few pitfalls with a project. If you are starting a new project, the build settings are important. In particular look at the .def file and see how it is used in the link step. There is a wizard somewhere for the visual c++ ide.
Obviously, the actual DSP is a completley different kettle of fish, but at least it doesn't change if you decide to use a different language
As for cpp, get the vst SDK frm Steinberg as steve suggests. If you are using MSVC you'll have your own plugin up and running in no time! There are some resources here and there if you want to use GCC. Look on musicdsp.org or the vst source code archive.
If you don't want to make fabulous GUI's straight away, you can get a simple plugin going in minutes, which uses the host's string interface. You then just need to adapt the audio process code to get it to do what you want. There are a few pitfalls with a project. If you are starting a new project, the build settings are important. In particular look at the .def file and see how it is used in the link step. There is a wizard somewhere for the visual c++ ide.
Obviously, the actual DSP is a completley different kettle of fish, but at least it doesn't change if you decide to use a different language
-
- KVRist
- Topic Starter
- 234 posts since 20 Mar, 2004 from Ontario, Canada
Thanks for the replies! I know I'm going to sound stupid - but you're using some terminology I'm unfamiliar with (DSP - stuff like that).
Maybe I need to back up a little furthur before I even look into VST stuff? Should I be thinking more basic right now?
Also, how well should I know Cubase before I get into VST plugins? And is there any other software which uses VST besides Cubase? For example, I believe Cakewalk has an adapter you can purchase which allows one to use VST plugins.
Sorry for all the questions!
Maybe I need to back up a little furthur before I even look into VST stuff? Should I be thinking more basic right now?
Also, how well should I know Cubase before I get into VST plugins? And is there any other software which uses VST besides Cubase? For example, I believe Cakewalk has an adapter you can purchase which allows one to use VST plugins.
Sorry for all the questions!
- KVRAF
- 9216 posts since 23 Jul, 2002 from Pequot Lakes, MN
DSP-DigitalSignalProcessing.
As to who else uses VSTs-almost every sequencer/recording app on the market either has native VST support or can be used with VSTs through a wrapper including AU environments(Logic),RTAS(ProTools)and DXi(Cakewalk).
Welcome to K-v-R
ew
As to who else uses VSTs-almost every sequencer/recording app on the market either has native VST support or can be used with VSTs through a wrapper including AU environments(Logic),RTAS(ProTools)and DXi(Cakewalk).
Welcome to K-v-R
ew
A spectral heretic...
-
- KVRian
- 922 posts since 26 Mar, 2003 from Guildford, England
You don't have to use Cubase. I don't. FL Studio is far cheaper, and its really good.
Get a good book on C++, like 'C++ Primer', and get to grips with the language first. You don't need to understand all of it to get going in the first instance though.
Get a good book on C++, like 'C++ Primer', and get to grips with the language first. You don't need to understand all of it to get going in the first instance though.
-
- KVRist
- 327 posts since 13 Nov, 2002 from Germany, Darmstadt
But I'd suggest to continue learing C++, as you only learn the very basics in a book like that. You know about nothing about exception safety (I'd suggest to read Herb Sutter's Exceptional C++ for this topic), most books don't tell you much about templates (specialization, template-templates, ... all this not that basic stuff). You don't know common C++-idioms ('pimpl' and stuff every common C++-coder knows). You don't know about common design patterns (visitor, bridge, ... well, the GoF stuff).Get a good book on C++, like 'C++ Primer', and get to grips with the language first. You don't need to understand all of it to get going in the first instance though.
I never read 'C++ Primer' but many C++-beginners books forget to tell about large parts of the standard library, like STL, ... . Some even forget basic language features like RTTI.
-
- KVRAF
- 5703 posts since 6 Dec, 2003 from Mission Control
You can sneak in the backdoor by using Synthedit. It's a visual DSP programming tool. The cool thing is that there is an SDK for programming your own modules in C++. So, you can build something that works with SE first, learn the terms and go on to develop your own C++ routines before commiting the next 2 years of your life to getting it all together with the Steinberg SDK. There's a SE forum right here at KVR. There's even a SDK group on Yahoo. Have Fun!
http://www.synthedit.com/
http://www.synthedit.com/sdk.htm
http://www.synthedit.com/
http://www.synthedit.com/sdk.htm
-
- KVRian
- 922 posts since 26 Mar, 2003 from Guildford, England
-
- KVRAF
- 16153 posts since 2 Dec, 2003 from Nashville, TN
There are two really good books out there, called Thinking in C++ Volume 1 and 2. They get pretty advanced.
Here's the best part. They are available in print, but the author also has them for free download on his website, here:
http://www.mindview.net/Books/TICPP/Thi ... CPP2e.html
I also started with the C++ All-In-One Desk Reference for Dummies, and it helped a TON. But download those books. You'll save yourself a ton of money also. Good luck!
Koolkeys
Here's the best part. They are available in print, but the author also has them for free download on his website, here:
http://www.mindview.net/Books/TICPP/Thi ... CPP2e.html
I also started with the C++ All-In-One Desk Reference for Dummies, and it helped a TON. But download those books. You'll save yourself a ton of money also. Good luck!
Koolkeys
-
- KVRist
- 327 posts since 13 Nov, 2002 from Germany, Darmstadt
I don't think so. That would be a very big book.Is there one book that does tell you everything?
Read a beginners book. Than experiment a bit with you knowledge.
Read the Guru of the week articels.
For advanced topics:
Scott Meyers's Effective STL
Herb Sutter's Exceptional C++
Andrei Alexandrescu's Modern C++ (!!!)
When you've read this (and understand everything ) you know the most important things on C++ in general. Parallel you can learn platform specific things.
Than you need practical experience, of cource!
Visit comp.lang.c++.moderated from time to time.
(All other good recources I know are german, so it won't help you too much :p )
And I recommend to download boost. A very portable sourcecode library that is extremly helpfull in your everydays business as a C++ coder. Some parts of this library will be part of C++0x (the next C++ standard), so getting used to it is a good idea anyway.
-
- KVRist
- Topic Starter
- 234 posts since 20 Mar, 2004 from Ontario, Canada
You guys are fabulous! Thanks so much for all the help!
-
- KVRian
- 574 posts since 6 Jan, 2003 from Somewhere between ))o Left and Right o((
jacksmash wrote:You guys are fabulous! Thanks so much for all the help!
-
- KVRist
- 441 posts since 13 Feb, 2003
might be this is interesting for getting further into dsp:jacksmash wrote:[...] - but you're using some terminology I'm unfamiliar with (DSP - stuff like that).
http://www.musicdsp.com/