Need suggestions for starting out with a GUI app

I’m preparing to write an app which requires an interface similar to Native Instruments’ Reaktor (example screenshot: ). I need to have box-type “widgets” which can be connected/animated in various ways, and the application will also need to consume/produce audio and MIDI data. It will also need typical window menus/transport controls/etc…

I was considering building this from scratch, but I have discovered JUCE which so far looks like it will be a great fit. I have downloaded the latest version of JUCE, and am following the “Getting Started” tutorial, but I’m a little worried about getting off on the wrong path if I don’t set it up correctly initially.

Can someone give me some suggestions about how to start out with this project?

My basic requirements are as follows:

  • Both VST and standalone versions
  • Windows only (for now; would be nice to add OSX support later)
  • Main interface needs to have draggable widgets, which can be connected to each other; each widget will have a unique GUI, but some similar items
  • MIDI/Audio Input/Output
  • Main window should be resizeable

The part which worries me the most is the UI - I would like to flesh out the UI part first, and work on the app logic along the way. Should I be doing this in OpenGL? Would a regular “GUI application” (in Projuicer) be sufficient?

Thanks for any input!

Check out the Plugin Host example app - the UI shows how to make a complete Audio/MIDI flow graph style app with JUCE in a few hundred lines of code. :slight_smile:

Luckily, bringing this to a plugin is nearly trivial with JUCE (once you get the hang of it). JUCE plugins are very similar to standalone apps, just constrained to the AudioProcessor/AudioProcessorEditor class interfaces.

1 Like

Excellent, I’ll check out that example app. Thanks!