Getting started for a TOTAL beginner!?

Hi all,


I've decided to learn how to make a VST synth (audio plugin).


BUT!!! I'm a total beginner with computer programming, like no experience whatsoever.


Soooo, where do i find some info about using JUCE to do this from scratch?


I mean the really basic stuff. So i use JUCE, right? But what about this Visual Studio, i need that as well?


And if i want to see my plugin running, how do i do that?


See, i'm talking about the really basic stuff, like what you need, workflow etc. The basic concepts.


Strangely, i see very little on Youtube related to JUCE.


Could anyone just give me some general pointers? Throw some random words at me to google?


So to be clear, i'm not asking for an ABC of making a plugin, just some general pointers, like "install this, this and this", or a link to basic tutorials.


Thanks! ......... Mr D



Well, we have a big "learn" button at the top of the webpage!



Good luck!

As a beginner, having graduated from being an utter beginner, I suggest starting a C++ book, I like C++ Primer plus ed.6, and working through it carefully. Use an online code editor like c++ Shell as using development tools like Visual Studio is a head scratcher by itself. 

You should definitely start reading a good C++ book first. I suggest Programming Principles and Practice Using C++ 2nd Ed. By Bjarne Stroustrup, especially if you don't have any programming experience. After reading some of that, you'll know enough about C++ to do a little with JUCE. 

You should definitely use Visual Studio if you're on Windows. It's actually really easy to use and it has a lot of things that make it easier to write and understand code. If you use the IntroJucer to create/manage your projects, you don't even have to worry about seeing up the properties and what not. You can just get to writing code. 

Many thanks guys,

So some reasonable knowledge of C++ is assumed to do anything with JUCE, that's what i thought.

If you don't mind, a couple more questions:

I see i also need an IDE, and  Visual Studio is recommended. On the VS website i see various versions, from 6K to free. Is the free version good enough to get started, and, if so, is it "Visual Studio Community" what i need to download?

Before my next question, a quick explanation of what i want to do: I want to make a VST synth. The sound of the synth will be nothing special, just standard oscillators and filters etc., the normal synthy stuff. What will be special about it will be the GUI. It needs to be continuously resizable so can work on massive displays with correct scaling of the interface. Most VSTs can't do this, but here's an example vid i made showing one that does it in the way i want:

So my question is, what is the best tool to do this with? By "tool", do i mean IDE? (dunno!).......Or something like JUCE? But i have the feeling JUCE is more about audio processing. How does one go about programming an interface like that. The interface i want to make will be a lot more complicated in terms of functionality, but that video gives the general idea (flat, simple graphics but perfect scaling).

So please just any pointers about the things i need to learn to get this started!

Many thanks! ........... Mr D

(by the way, if anyone feels like collaborating on this and programming for me a synth that will make the most of large touchscreens and even monitors with tactile feedback [about 10 years from now?!], let me know. Maybe i can even pay a little).

So some reasonable knowledge of C++ is assumed to do anything with JUCE, that's what i thought.

Definitely. You can figure out the IDEs, tools, etc as you go along, but unless you devote some time to properly learning the language itself, you're going to find any kind of serious programming (either with JUCE or any other toolkit) to be a frustrating experience. As mentioned above, reading some good C++ books is the way to go.

Yeah Visual Studio Community Edition is just fine. It has pretty much anything you'll need. I use Enterprise edition because I was able to get it through school, but I've used Community and I could switch without being effected at all. 

To develop any kind of software requires knowledge of the language used. So I'd say that's a requirement. 

JUCE is about much more than audio processing. Sure, it's great for that and it's most known for audio applications, but it's great for just about any type of application really. Graphics and GUI are definitely some of it's strong points. The "component" model is quite genius and makes creating a GUI really easy and flexible. It's definitely capable of what you're wanting to do. 

It's going to be really hard without having any C++ experience and especially with no programming experience at all. I highly recommend you pick up a good book and try to write/test/debug all of the example programs and try to do as many exercises as possible. That's what I've been doing with Stroustrup's book and I'm amazed by what I can make with JUCE already. Just put the time into learning it and you'll be glad you did. It'll all pay off. :)