Any references to learn about juce (beside forum, official tutorials and documentation)

DBG() is just a handy macro to output debugging messages with debug builds. I checked that only today because some people had mentioned it, I hadn’t even realized it’s a thing in JUCE. (I have just been using JUCE’s Logger directly.)

1 Like

Yeah, like @Xenakios said, it writes messages to your Console area in your IDE (in Xcode its in the bottom right for example) when you build in debug mode.
Using it in a way like

void prepareToPlay (int samplesPerBlockExpected, double sampleRate)
{
    DBG("now in prepareToPlay() with a sampleRate of " << sampleRate);
    transportSource.prepareToPlay (samplesPerBlockExpected, sampleRate);
};

or checking other values in your classes helped me a lot!

1 Like

Does DBG() have any advantages over std::cout, which is what I’ve been using for console logging?

DBG will only print out things in debug builds while std::cout will also print in release builds. Furthermore, DBG directly accepts juce::String, which makes it handy for outputting strings from JUCE functions.

1 Like

Cool, I suspected as much. DBG sounds like a winner :slight_smile:

I am also new to JUCE and currently in the process of learning so I thought I would share my 2 cents.

For JUCE itself, I am mostly using the official tutorials and some of the videos from @JoshuaHodge (mentioned above, see The Audio Programmer). I like books so I also looked at


but unfortunately it looks a bit dated (2013). I am not aware of many other (up-to-date) resources apart from those mentioned above.

Regarding C++, I should mention that I am an experienced developer in other languages, but relatively new to C++; as such, I have been looking for resources to help me get started quickly (without having to go through the basics again). With this in mind, I am currently looking at


which provides an overview of “modern” C++ for someone with prior programming experience (notice this is the brand new 2nd edition which should cover all the latest features).

I also really like this YouTube channel from TheChernoProject - it has great explanations of C++ topics, demonstrations etc. Every time I watch one of those videos I learn something (whether it’s a concept, some Visual Studio trick etc.)

1 Like