Warning: Don't book this course! Advanced Audio Plugin Development on Kadenze

Hi there,
I just want to warn fellow jucers to NOT book this course on Kadenze:

It’s outdated, bad coding practices in general, overall not useful at all… I tried contaczing the output team, but no luck till now! I hope I’ll get my money back, but at least you don’t need to fall into that trap!



Jake here (one of the course creators)

I’m no longer working at Output or Kadenze but someone did forward your messages on to me.

Sorry you’ve had a bad experience with the course. While I believe a lot of true beginners with no familiarity with JUCE or signal processing would disagree with you, I definitely see and agree with your concerns, namely around not using std::unique_ptrs in the intro lessons.

Unfortunately the course was made many years back and created in a pretty turbulent time with the JUCE API changing and the entire framework shifting from ScopedPointer classes to std::unique_ptrs.

Later in the course ScopedPointer are introduced but they’re now also deprecated so it’s not much help.

Anyways without getting into a disagreement with semantics, your concerns have been heard and I’ve spoken with the team about what we could do to update the course content to reflect JUCE 6 as well as 2020 practices.

This course has helped many hundreds of people go from zero to building their first plugins – and while it certainly won’t teach you how to code things to the scale we do at Output, it will give people a very fun and educational primer without math to get started on plugins in an inviting way. Something which when this came out – really didn’t exist online.

In any case please send the refund request directly to Kadenze and not Output and I appreciate your feedback! I’ll try to get it updated.




Hi Jacob,

Thanks for getting back!

I do understand how it happened and I remember the shift in the JUCE API. However, I don’t understand how this course can help even beginners if it’s just outdated. As for now, nobody would benefit from it, especially not beginners who would learn outdated practices…
Therefore my warning, which still holds.

Too bad you are not working with them anymore, that minimizes the chance of an update even more…



I still found the course interesting, at highly discounted price, for getting an initial glimpse of JUCE and the basic way things work. I would very much appreciate seeing a list of things that are now out dated, as I am new to JUCE. I am not new to programming, and it doesn’t bother me at all that raw pointers were used instead of smart pointers, for example. I think trying to explain smart pointers in that lesson would have been a distraction.

I learned about how to setup Parameters, how to save them as presets with XML, and how the Look and Feel aspect of JUCE is handled. It was a very simple example, I think its a stretch to call it “Adanced”, but at the highly discounted price, its fine. I would have appreciated being able to download the source for what they did in the video, since I could have read along with that and learned more then sitting there watching the guy type in the source code, which was painfully slow to watch and in the end, I still don’t have the source itself to peruse and refresh my memory about how a simple JUCE project is organized.

In any case, aside from general C++ practices you don’t agree with, which aspects of JUCE are out dated in that course? I genuinely would like to know so that I don’t waste any time as I roll into JUCE programming.


@dewdman42 Just have a look on how they manage parameters and compare that to the current JUCE API. All those functions are deprecated.

1 Like

Oh in that case they should not be selling the course for any price!

1 Like

It is not encouraging for course designers if people start to complain about things that were relevant but our not anymore because the JUCE framework evolves and adapts to the latest modern software coding style and patterns.
Should all C++11 tutorials be removed from the internet because C++20 is out?

I can understand some might expect a price discount or at least a note that tells that some things are outdated.

No, because switching one’s compiler to a C++20 compatible one wouldn’t break any relevant C++11 code. As far as I understood, the situation with the Juce course in question is that the code is no longer compatible with Juce 6. (And this would be expected, I’ve bumped into some issues where I returned to a project that was started with for example Juce 5 and it no longer built with Juce 6 without some changes.)

1 Like

I am not sure I understand your sentiment? As an engineer it is not encouraging when people report bugs, but… um… we gots to fix em! :slight_smile:


It’s much better to charge people to learn old things that are outdated and that can or will be impractical in the field (now, or in the future). Preparing anybody otherwise is worthless!

Not only is that not how the programming language works, it’s not how technology in general works. Seeing that we’re talking about courses, and not the language, it should be understood that you’re taking the course to learn new things.

If courses can’t be updated to the pace of technology, at least over some period, then the course designers are simply in it… well, not for the sake of teaching the technology in question - or they just don’t care.

Understandibly, it’s a bit intense to rewrite a course when JUCE 6 has been out for only ~7 months… but the new approach to audio parameters has been around for much, much longer.


It’s important to clarify that the course is not the latest technology. That goes for any tutorial. I believe many of us has spent too much time reading outdated tutorials because we didn’t know they where outdated. If you’re charged, you should definitely be informed in advance.