How to start with audio plugin GUI design?

Hi folks,

I'm interested in learning C++ for audio plugin design, but I'm a bit unusual in that i'm not really interested in the audio DSP part, i'm only really interested in the GUI design aspect.

Below are links to two videos showing plugins with advanced interfaces.

My question is: does anyone have any suggestion on how to go about learning this?

JUCE is very popular with audio plugin developers, but because i'm not really interested in the audio part, i'm not sure if it makes sense to use JUCE. Because of my lack of knowledge, i don't even know if such interfaces are possible with JUCE (bezier graphs etc). My thinking is that as long as i create an interface with C++, i can always later hand my code off to an audio DSP person to create the audio part. But perhaps I'm totally wrong about this.

Any advice or suggestions on where to start would be appreciated.

I've already started learning C++ at www.learncpp.com, but i'm still in the early stages.

Thanks in advance!

https://www.youtube.com/watch?v=y7jcAVLRQTE&t=1377s

https://www.youtube.com/watch?v=Pm5fnERVVzA&list=PLIFbuZu-X2TalLe3VbEluPTK3YWtGTD91&index=2
we used to call it RAD (rapid application development) and I am not sure what the top notch bestest C++ tools for it today are (back when, visual studio and borland were pretty solid). The idea is pretty simple, though: you build a gui-only program with no real code inside, just menus, buttons, toolbars or whatnot for the UI and hitting a button might give a text popup as to what it would do, but not actually do anything big.

The first step is critical, and that is picking the GUI tool you want to learn. Some of the options here might include QT, MFC, or even doing the UI in another language like python or C# with intent to call C++ for the 'real' code. Once you pick one stay with it for a while, and ask again about that specific tool if you need help with it.

Once you have the tool, take the RAD approach and just build out what you want, then run it and exercise it with a little imagination on the 'what if I hit this button'.

many slick looking UI are just a custom drawn standard control or loosely linked controls. That is as much about your ability to draw a nice texture in a 2d paint program as it is coding -- for really good stuff you may want an artist if you are not one but as you learn you can do something crude or get something off the web.

there are all kinds of resources like learncpp to help here, and there are principles that you follow in good UI design that have changed a little over the decades but the main ideas are easy to understand. Don't put code in the UI is one of my rules.. like a button, its easy to dump a bunch of code into a button handler but if you do that, changing things later is aggravating. Its a lot better if your button handler just calls non-gui-functions and you keep the UI totally separate from the work code -- that way in 5 years when the UI looks dated and needs a do-over, you don't have to untangle it. Consider some sites like this: https://www.uxdesigninstitute.com/blog/10-user-interface-guidelines/
Last edited on
Registered users can post here. Sign in or register to post.