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
Newbie VST question!
jacksmash
KVRist
- profile
- pm
- www
PostPosted: Sat Mar 20, 2004 5:36 am reply with quote
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!
^ Joined: 20 Mar 2004  Member: #17760  Location: Ontario, Canada
steveholt
KVRist
- profile
- pm
- www
PostPosted: Sat Mar 20, 2004 6:10 am reply with quote
You should get the VST SDK which is by Steinberg and is available here
http://ygrabit.steinberg.de/users/ygrabit/public_html/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
^ Joined: 01 Mar 2004  Member: #14838  Location: The mean streets of suburban London
texture
KVRian
- profile
- pm
PostPosted: Sat Mar 20, 2004 4:12 pm reply with quote
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 Smile
^ Joined: 26 Mar 2003  Member: #6492  Location: Guildford, England
jacksmash
KVRist
- profile
- pm
- www
PostPosted: Sat Mar 20, 2004 8:04 pm reply with quote
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!
^ Joined: 20 Mar 2004  Member: #17760  Location: Ontario, Canada
ew
KVRAF
- profile
- pm
- e-mail
PostPosted: Sat Mar 20, 2004 8:25 pm reply with quote
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 Smile
ew
----
A spectral heretic...

Camel Audio | NI forums
^ Joined: 22 Jul 2002  Member: #3403  Location: Eagan, MN
texture
KVRian
- profile
- pm
PostPosted: Sun Mar 21, 2004 3:15 am reply with quote
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.
^ Joined: 26 Mar 2003  Member: #6492  Location: Guildford, England
helium
KVRist
- profile
- pm
- e-mail
PostPosted: Mon Mar 22, 2004 1:16 am reply with quote
Quote:
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.


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

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.
----
Why is 6 afraid of 7

Because 7 8 9.
^ Joined: 13 Nov 2002  Member: #4581  Location: Germany, Darmstadt
tomg
KVRAF
- profile
- pm
- e-mail
- www
PostPosted: Mon Mar 22, 2004 3:35 am reply with quote
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
^ Joined: 05 Dec 2003  Member: #10829  Location: Mission Control
texture
KVRian
- profile
- pm
PostPosted: Mon Mar 22, 2004 1:20 pm reply with quote
@ helium

Is there one book that does tell you everything?
^ Joined: 26 Mar 2003  Member: #6492  Location: Guildford, England
koolkeys
KVRAF
- profile
- pm
- e-mail
PostPosted: Mon Mar 22, 2004 3:43 pm reply with quote
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/ThinkingInCPP2e.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
^ Joined: 02 Dec 2003  Member: #10739  Location: Nashville, TN
helium
KVRist
- profile
- pm
- e-mail
PostPosted: Tue Mar 23, 2004 5:17 am reply with quote
Quote:
Is there one book that does tell you everything?

I don't think so. That would be a very big book.

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 Wink ) 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.
----
Why is 6 afraid of 7

Because 7 8 9.
^ Joined: 13 Nov 2002  Member: #4581  Location: Germany, Darmstadt
jacksmash
KVRist
- profile
- pm
- www
PostPosted: Sun Apr 04, 2004 3:27 pm reply with quote
You guys are fabulous! Thanks so much for all the help!
^ Joined: 20 Mar 2004  Member: #17760  Location: Ontario, Canada
no_signal
KVRian
- profile
- pm
- e-mail
- www
PostPosted: Thu Apr 08, 2004 12:24 am reply with quote
jacksmash wrote:
You guys are fabulous! Thanks so much for all the help!
HiHi
^ Joined: 06 Jan 2003  Member: #5298  Location: Somewhere between ))o Left and Right o((
isdjan
KVRist
- profile
- pm
PostPosted: Thu Apr 08, 2004 12:46 am reply with quote
jacksmash wrote:
[...] - but you're using some terminology I'm unfamiliar with (DSP - stuff like that).


might be this is interesting for getting further into dsp:

http://www.musicdsp.com/
^ Joined: 13 Feb 2003  Member: #5910  
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