I’ve been looking for the past week into JUCE for some VST plugin programming. So far I have mostly liked it and I will probably release a couple of VST plugins open source (as per the GPL license terms) in the nearish future. Doing VST plugins however isn’t my dream job when programming, so…
What I’d like to get some insight into is how is JUCE for more complicated audio applications development? I understand of course there are NDA’s etc
involved with commercial companies that might be using JUCE for products currently in development and so on…But on a more general level, what would I be expecting to see if using JUCE for a full blown standalone audio application? It all seemed fine so long I had not read Jules’s comment here on the forum that Tracktion does not incorporate any/much of the JUCE code for it’s audio side.
So, my concern is, is the JUCE audio stuff robust and comprehensive enough and known to work well for audio applications development? Or would it be likely there will be lots of reinventing of the wheel/monkey work involved to get things running? If the case is the latter, it looks like I might be better off just using Qt, libsndfile and PortAudio as I already know those pretty well and they would be cost free to use and allow me to keep my source code closed. (A DAW-type app is “slightly” more complicated and “valuable” in terms of the source code it contains than some simple VST-plugins…) The things that interest me in JUCE for the audio engine type of stuff is the audioprocessors graph, threads that read-ahead audio sources, the audio image thumbnails classes etc…Those are somewhat “bitchy” to implement from scratch, and I’d be facing exactly that without JUCE. But I have no idea how those really work in practice, as it isn’t clear what already existing products might be using those etc.
I’d appreciate any insights anyone might be able to give me.
(If anyone wonders “Why doesn’t he just try the JUCE stuff out and see for himself how it all works?” : I have already wasted countless weeks trying out different approaches/solutions, and not really feeling like starting again blindly from scratch with a completely new programming toolkit and all that…)