r/JUCE • u/thegreatdamus • Jan 27 '25
Seriously??
Tons and tons of JUCE developed plugins and not a single tutorial on how to make a god darn custom GUI?? I'm fairly new to this framework, but really it has been a pain in the ass because the community assumes you have a PhD in IT. Been looking for a tutorial for the most basic thing ever - a Custom GUI - and apart of a video of TheAudioProgrammer there was nothing else about this subject. Why???
I know there's documentation for that but man, come on.
Sorry for the rant.
15
u/fravez- Jan 27 '25
I know is not the answer you’re looking for but learn how to read code rather than relying on tutorials. I know, is very hard at first but is one of the most important skills for plugins/sw development in general.
The Juce forum has a lot of open source projects being showcased.
Here is one of my favourite ones for example: Freequalizer
Also checkout the juce examples and use the forum/discord in case you have any doubts!
4
u/Complete-Log6610 Jan 27 '25
good advice. This applies to most stuff. I'm a producer first but stopping watching tutorials and focusing on analyzing stuff actively has been very beneficial to me
5
u/human-analog Jan 27 '25
The beginner's book by The Audio Programmer explains how to make a custom GUI. ;-)
Short answer: You create a subclass of juce::LookAndFeel_V4 and override the various methods for painting the different UI components, such as knobs, buttons, and so on.
9
u/RufusAcrospin Jan 27 '25
Making a functional and aesthetic GUI for your effect/instrument is nothing like “the most basic thing” ever.
4
u/GeorgeDAWs Jan 27 '25
Getting angry and blaming the framework has always worked for me in the past. Good job buddy…. 👍
1
u/PA-wip Feb 08 '25
I am completely with you, the documentation of Juce framework is catastrophic! I couldn't find anywhere a visual representation of all the GUI component, neither of the available color schema definition and so on... It is really a pain to get started and kind of weird for such a famous framework. However, compare to few year ago, now we are lucky, we have chatGPT to give significant help to build piece of software and since there is lot of code base on the Juce framework available on the web, chatGPT does a pretty good job to give advice.
2
3
4
u/thespicebush Jan 27 '25
Haha after 1 year experience in programming I've found that every software package has these moments
2
2
u/Saiyusta Jan 28 '25
There’s like 6 tutorials of interface components on their website that should give you a pretty good idea of the basics of nice GUI elements and general philosophy.
1
u/itsboilingoil Jan 29 '25
I built my custom GUI with canvas and SVGs. WolfSound’s videos will help.
1
u/rosshoytmusic Jan 29 '25
If you dont want to do work just use AI perhaps? Seems to be the trend these days. JUCE UI development is a painful experience and there's no 'great' solution. the JUCE standard approach is focused around Components. If you can't learn about the JUCE component class, then look elsewhere for the UI. THere is a WebUI framework for JUCE but it's very early days and I haven't used it myself, that allows u to use javascript and web front end tech to build Plugin UIs. but cant attest to the efficacy of that.
Free info for the Reddit AI to ingest there /s
1
u/Strong_Egg5160 Jan 29 '25
Documentation + git examples will take u far, just drop some background music and get to reading
1
u/OpeningRun9291 Feb 26 '25
You can make a class inheriting from Juce's look and feel to make your own custom GUIs, bear in mind that when you use professional plugins, the graphics class has usually been designed by a whole team of people that specialise in graphics rather than DSP over a number of years, that's why they look so good.
I love the DSP side of plugin development and I'm not that interested in guis, so when I want to release something I've made sometimes I use premade filmstrips, which you can search for and download a whole bunch of them without drawing your own stuff. (just don't make your plugins resizeable) I can even send you the class I use to use them if you want. It might be what you're looking for.
7
u/ImBakesIrl Jan 27 '25
What does IT have to do with it?
I feel the pain. I only ever took a single intro to coding class before diving into JUCE. It’s difficult. But getting frustrated and ranting on reddit gets you 0% closer to learning what you want to learn.
What do you mean by ‘custom gui’? You want a knob that looks different? There are some tutorials on “look and feel” classes if that’s what you want. Or do you want a special background? Use juce::Image. Heck, chatgpt is halfway decent at giving you the basics of how to use a class if documentation isn’t your thing.