For the last 20 years my work has involved developing solutions to problems, or building models for analysis and forecasting. Up until a couple of years ago my career was focussed on building web applications. I've been fortunate to work with great brands and on fascinating projects. More recently, though, I've been able to join my love of software engineering with my love of creating music by revisiting my C++ programming days, and learning the Juce 6 framework.
Technology and programming have always been as big a part of my life as music. Now, though, I get to be a full on techno-muso-nerd.
This year has seen a lot of challenges for a lot of people, but it's also seen opportunities for rediscovery and learning new skills. For me this has meant the chance to rediscover my software engineering roots, and take a step back into C++. A big drive for this has been the chance to learn the Juce framework whilst marrying my two passions, music and coding.
With a lot of help from The Audio Programmer, and some amazing free YouTube tutorials, I've been able to get to grips with modern C++ and the amazing Juce 67 framework. Along the way I've reworked a tool to help other Juce developers test their plugins in a Juce 6 environment, and provide some guidance on updating The Audio Programmer lessons to Juce 6.
Whilst I've been learning Juce 6, I discovered that the current and oft used Juce Plugin Host Audio Player Plugin (I know - that's a lot of "plugin") just didn't build with Juce 6. A little more digging and I discovered that this recommended plugin was built in Juce 5. A lot has changed between Juce 5 and Juce 6, so this little plugin needed a bit of an update.
Armed with knowledge gained from The Audio Programmer and the latest Juce tutorials, I've cobbled together a very basic, very lightweight, but wholly usable Juce Plugin Host Audio Player Plugin (again with all the "plugins") that builds in Juce 6.
There's only constant in the world of the software engineer is change, and it can sometimes be a battle to keep up with updated and emerging technologies. This is just as true of the audio programming field as any other realm of programming. This does of course mean that even the best and most comprehensive of tutorials soon get overtaken by new approaches, revised rules, and the often irksome "deprecated" warnings.
Before I go any further, I have to say that the Juce course provided by Josh Hodge of The Audio Programmer is amazing. Even so, these free YouTube lessons have not escaped the relentless march of technology and Juce 6 has seen some fairly big changes in coding standards as well as the documentation.
This is where its an advantage for a very nerdy, ultimately geeky progamming fan-boi such as myself to get their nose in to lesson, code and Juce documentation. I've taken it upon myself to document the different approaches now used in Juce 6 and publish this to public github repos as code, and written walkthroughs. Aside from meeting a hugely selfish goal of getting my name out there, I also hope to provide some guidance to those who are relatively new to C++ and programming as, even with the best will in the world - there is a lot to learn in programming for audio with Juce 6.
I've been fortunate to learn and gain practical experience in a number of programming languages. The cool thing about being a techy nerd is there's always the chance to learn new technologies and expand your horizons.