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.
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.
Oh in that case they should not be selling the course for any price!
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.)
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!
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.
im following the full program (intro+advanced) and yes some stuff is deprecated but if you take it with philosophy you can see it as an opportunity to actually spot what’s deprecated and “bad” and learn from that, too.
some errors or inconsistencies led me to search around for answers and explanations and i’ve gained some knowledge i might not have gained if i didn’t do that.
silver linings init
I am observing this thread for a while and it seems to be written in a moment of frustration.
I think it is good to have a way to share criticism, and it reached the providers of the course.
But I would feel much more comfortable, if the OP @gustav-scholda could come up with a more diplomatic title please?
Disclaimer: I neither took the course nor am I affiliated in any way with the providers…
For me it is rather clear that it is a subjective user experience. There’s no bad words. There’s a sane debate. It seems a shared opinion < Free Online Course: Advanced Audio Plugin Development from Kadenze | Class Central > (but not everybody). Is that violate the forum policy? I don’t think so (but i could be wrong).
I don’t see anything offensive in the title and my warning is still valid. The users who are happy with deprecated code likely didn’t pay $500 for it.
Ok, that’s fine then. I was just hoping for a more happy ending, but this is real life…
just wanted to add: big ups to @jakemumu for doing this course and for responding in here.
have a nice day/evening x
one thing this course is still relevant for - if you find open source JUCE code on github that’s relevant to your project, and you want to run it, but you’ve got to modernize it. You’d still need to learn current best practices, but this would give you some idea what you are looking at this comes up all the time, plenty of great abandoned projects out there based on old versions of JUCE.
Not to toot my own horn, but here is my 5-hr free course using Juce 6 and the dsp module, that came out in May of 2021 on the FreeCodeCamp youtube channel, so it’s quite current with respect to modern JUCE/C++ practices.
@matkatmusic 's courses I can totally recommend on the other hand