Modular VST Design?


#1

Hey everyone, very very new programmer here. I have an idea for a modular VST synth that would be very similar to Reaktor or SynthEdit. The difference is I want it to be more like a modular synth, where the creative workflow is based on patching and adding modules, instead of building a traditional synth to work with.

My idea is to have a variety of connectable modules to use (flexible oscillators, filters, etc...). These modules would have whatever arbitrary parameters that would be non-automatable, but be able to be hooked up to modulator controls (sort of like Massive's macros, or Synthmaster's easy controls). I would also like to be able to insert an arbitrary amount of modules, with only my computer's processing power as the limitation.

I'm trying to get started with this, but as a new programmer I am having trouble wrapping my head around achieving this kind of modular architecture. I've read a bit on signals and slots but it seems to be suggested from the threads I've read to use slider listeners in Juce. I've tried to do some experimenting but I am getting really tripped up on how to give a slider access to other modules in a modular fashion.

If anyone has the time and will to help me get started in a direction I would really appreciate it.

 


#2

I mentioned it in another thread: http://www.juce.com/forum/topic/creact

When I was reading the documentation for the C++React library (https://schlangster.github.io/cpp.react/), I immediately thought of modular synthesis - a system using signals and events. I think it could work well with JUCE, but I would advise to try out some simple projects with JUCE before embarking on your idea. E.g. building some simple synths and effects and then move onto a more comprehensive and flexible system. 

Others here will probably be able to guide you better as I've not done much synth/VST work with JUCE yet.


#3

Thanks for the link, I'll do some reading on that. And yeah I am working on some simpler stuff to kind of get my bearings. I'm still open to any help anyone can give though.