Wondering where to start with building a plugin… completely new to programming (except using command line in linux before, now on windows 10).
Here’s what i’ve done so far.
-Built Rack V1 using MINGW64 powershell… with Core, Fundamental, and Template plugins.
-Installed Visual Studio Code.
-located and somewhat understood the key template plugin files
-identified that the plugin tutorial on vcvrack.com is out of date for V1.
-accepted that most of the key code i will be using will be taken from pre-existing open source modules / DSP libraries (?)
Where I am confused now is where to actually look for help making my own plugin that will work with Rack V1.
For instance I have been directed by some posts within the VCV community to some good and interesting resources that teach C++, DSP and VST development… but each of them seem to be rabbit holes that I could fall down, and may never lead back to my orignal goal of building a plugin for Rack… I would like to learn more about each of those, but Im wondering if anyone here can help explain what the parameters of those subjects are in relation to Rack plugin development.
V1 is not released yet the website has not been updated because v1 is still in development. If you are looking for a non rabbit hole route there is none, In fact VCV rack development is probably the easier option to learn from, but it will still take you a good while to get the basic concepts of coding I’d suggest starting here:
Hi george, my goal primarily as a music producer / lover of modular synthesis, is to contribute to the VCV plugin library some plugins that satisfy my own and hopefully others creative desires… I’ve always wanted to learn to code but haven’t felt motivated until now…
I have some pretty cool ideas for modules that I didn’t find in the current module library, and was hoping I could get them finished as V1 is released. I have a lot of spare time over the next few weeks, and hopefully can achieve that but Im a bit lost at this stage.
hmm I had thought about that… but say for example I recombine some components backend in some way… how would I know if im not screwing everything up without some kind understanding about the relevant coding principles / syntax…
I guess that is what I am looking for… some kind of C++ glossary or something that will give me a limited enough palette to actually put things together, but not too limited in a way that im just reproducing someone elses module with a different panel.
Just learning how to use the tools (compilers, git, etc.) is non-trivial. Have you done any of the “get started with C++” type courses out there?
In my first drawing course, I tried to draw a statue with a Roman-style toga, you know, lots of drapery. It took me like 2 weeks to do the knee - with nothing else on the paper. I was frustrated. I moved on to simpler projects as a way to get started.
With drawing, you can do some stuff and it looks ugly, but you have a drawing at the end of it, and in between, you can see it coming together. With coding, it’s hard because the learning projects can feel pointless and the middle-phase is full of “it broke, i don’t know why it broke, I can’t parse this cryptic error message, blerg.”
So, like, start small, build, learn, take your time.
Sorry I think there is no fast path to learn c++. It is a really complex languaje and any glosary that you find online will have many things that don’t matter when making modules.
Learning just the subset of C++ needed to make Rack plugins is orders of magnitudes easier. But still dificult.
Try to learn just plain C. No ++ stuff. Learn what variables and arrays are. How to call methods. What for loops do. Then look at the mute8 soruce code and try to understand it.
That you have compiled the source code is a good thing. Do you have a IDE installed? It will help you understand the code. I use VSCode. Others use Visual Studio. Just setting up one of those can take you a day.
Well if someone could tell me what tools I need first Id have a head start
At the moment I’ve got; MYSIS2 64bit powershell. I used this to build Rackv1.
However I’ve also picked up Git /GitBash (VSC told me i need it), which looks identical to MYSIS. What these terminals do / what code they read I don’t currently understand.
Ans I have Virtual Studio Code as mentioned (+ some extensions that I thought might be useful; python, C/C++, Vult) - I don’t know what it does besides editing txts, and im not sure if i have the right extensions.
Lets say I understand the basics of C, and also understand the mute8 source code, is there some resource available (like a glossary?) that lists the subset of C++ needed to make Rack plugins?
Also wondering if such a resource is likely to exist for DSP / VST plugins in general and whether they would be useful for building rack plugins… What is different in a Rack plugin to a general VST plugin… in terms of its code.
I have VSC with a few extensions (python, C/C++, and vult)… but not sure if it’s set up correclty or what im supposed to do with it. Define IDE?