I actually came across JUCE the other day for the first time. I was wondering -would it be a really terrible idea to make a general purpose cross-platform GUI with this?
Why would it be terrible? JUCE is meant to write general purpose cross-platform GUIs with.
It has a focus on audio because that's its niche and where it originally came from, but it's fine to use it for general purpose stuff. Is that what you mean?
Basically, yes. I came across a few comments that suggested it was great for audio UIs, but very unwieldy for anything outside that (things like non-Latin text rendering, navigation stacks, etc). So while it was possible to build general UIs in JUCE, you needed to go to a lot of effort (at least compared to something like Qt/Flutter/etc).
Admittedly I didn't dig really deep so I don't know how valid these criticisms are - so I was wondering if you had some tales from the trenches and how it stacks up against "less niche" UI kits.
I'm afraid I only used it for some toy applications and it was mostly fine, but I do concur that if you're going for a 'just a bunch of forms' desktop application you'll find more out-of-the-box features in something like Qt.
If, however, your application mostly consists out of custom GUI elements then JUCE is pretty compelling.