I'm working on developing a desktop synthesizer and I'm a bit stuck on which UI framework to choose. I would love to hear from anyone who has actual experience with this. Here are my requirements for the project: 1) It must be cross-platform (working well on macOS, Windows, and Linux) with a consistent look across all platforms. 2) The process of packaging and distributing the application shouldn't be too complicated. 3) I need support for custom drawing, as I plan to implement a Piano Roll-style interface. 4) UI customization should be user-friendly. I've explored a few options, mainly interested in what you have successfully used in production, any challenges you faced, or unexpected issues that came up later. Any insights would really help me out!
2 Answers
It’s been ages since I dabbled in real-time audio software, but I'd usually lean towards something more native. My gut says Qt would be good, but these days, it'd be worth checking out game engines too for cross-platform audio capabilities.
Most audio applications seem to go with JUCE. It's not free, but there is a starter plan. If your main focus is to get the GUI sorted and prioritize your algorithm, JUCE could be a solid choice.

Using a game engine sounds cool, but it might be overkill, especially since I’m on an older machine. Plus, since my synthesizer won’t be real-time, I’m shifting towards Flutter. It might seem like a curveball, but I think it could work well for this offline rendering focus.