Should I Juce?

Hi all,


I'm interested in audio programming for fun and learning. I'm somewhat experienced with FlowStone/SynthMaker as my play ground.

I'm now thinking of learning Juce. Should I jump into Juce? 

The benefits I'm aware of (Juce over FS/SM):

* Real C++ coding flexibility 

* Can port to iOS/Android

* 32/64 bit compatible

* AAX/RTAS compatible [not relevant for me]


Is there any major advantage  that I'm missing?


BTW - 

Can I use JUCE to stream audio (via ASIO) in and out to the code directly, without compiling it to VST/AAX/RTAS or port to DAW?

Use case is real time testing on windows PC with an audio interface, without DAW.


sine wave generator --> Audio interface analog in --> PC domain (ASIO) --> Juice code change in real time --> ASIO out --> audio interface analog out --> analyzer

Yes, you can do all those things (and lots more!)



By 'those things' do you include also real time streaming (no latency) IO to measurement gear?




Well yes - of course. JUCE has always been for building apps as well as plugins, and supports all the audio i/o APIs.

I think that learning JUCE would be a good choice for you. I think it's definitely the best framework for audio software. One of the best things about JUCE for me is that it's not only great for audio software, but also for just about any type of app. It really is a one for all type of framework. I like making more than just audio apps and it's great having one framework for it all. This way I can deal with a consistent API and a similar structure whether I'm working on an audio app, graphical app, GUI app, etc. and I don't have to go and use different libraries. Oh, and just because it does it all doesn't mean it's slacking in areas. 

You definitely can make standalone audio applications too. You can take a look at the Plugin Host Demo and I believe the JUCE Demo for that. You should actually take a look at all of the demos/examples included with JUCE so you can get an idea of what it's capable of. The JUCE Demo shows examples of a lot things from JUCE. It's a great source for learning about how to use different things in JUCE. The code is well organized so it's easy to find something. 

I believe it actually has something that lets you "wrap" a plugin so it can be used as a standalone app. Is this correct Jules? I haven't gotten around to trying that out yet. 

By the way, are you experienced with C++ at all? If not, that should be your first steps. Learning C++ is well with the time. I came from Reaktor, which is somewhat similar to what you're doing, and I couldn't be happier making the switch. Using JUCE has opened me up to doing so much more. By the way, JUCE is very user friendly and easy to use. I'm amazed by what I can do with my little bit of experience with it and C++  

About wrapping a plugin so that it can be used as a standalone app:

Ues, JUCE has that. Have a look at the StandaloneFilterWindow class (juce/modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterWindow.h). It does just that.