Need advice on how to create GUI!


Can some one please give me some guidance on how I can realize a user interface similar to the one in Synthmaker - here I only think of the part where one can instantiate modules which can be moved around on a canvas and be interconnected with a line?

I have a small project where I would need this kind of functionality and I’m hoping that JUCE has some nice features that can be used to do this!

My initial idea would be to:

  • create canvas which is quantized using some grid.
  • add functionality that can create modular blocks with in and output ports which should have listeners - I’m asking myself what kind of graphical components I would need for this. Does such a component already exist?
  • modular blocks should be dragable in the canvas - how do I do this?
  • there should also be a line (possibly with arrow head) indicating which modules that are connected

I’m sure lots of important information is missing here but I’m starting from scratch and need some advices to progress!

Hope to hear from you!


have a look at the AudioPluginHost source in the juce extras directory, this does exactly that, only the blocks that are moved on the canvas are plugins, but the whole mechanics behind it are there.


Thanks for the advice!