JUCE7 delivers LV2 and ARA support
by Alexandre ProkoudineThe new version finally makes it up to the LV2 community
Raw Material Software Ltd. released a major update of the JUCE framework targeted at developers of audio/MIDI software and used in numerous free/libre and proprietary software projects.
The new version finally delivers support for both the LV2 plugin API and the ARA SDK. It also comes with a bunch of UI rendering improvements on macOS and iOS.
LV2 support
The lack of official LV2 support in JUCE has been one of the major showstoppers in LV2 adoption by plugin makers. Sure, some developers like Moddart have demonstrated exemplary perseverance in delivering their products in LV2 anyway. But that’s more like an exception.
So this has been long, long, long overdue. JUCE now allows LV2 support in JUCE-based host applications as well as generating LV2 plugins out of the same code built with JUCE, out of the box. No need to rely on JUCE forks anymore.
The technical preview was checked by a number of contributors to free/libre software, some bugs have been squashed as the result, so I think we should expect JUCE7 to play well here.
ARA support
Audio Random Access, or ARA for short, expands the information that a digital audio workstation and a plugin can pass to each other, including tempo, pitch, and rhythm for an entire composition rather than whatever you have at the moment of playback. This is not a plugin API of its own, but rather an extension to VST3 and AU.
The SDK was developed by Celemony and PreSonus for a little proprietary project you might have heard of, which is Melodyne. 10 years into its existence, ARA became an open-source project in May 2021.
I’m not sure how many ARA-using free/libre plugins we should expect now that JUCE supports it though, because on the host side, things are not as good. ARA is barely supported by free/open-source projects at all. For Ardour, the initial reason was the C++ standard mismatch: until fairly recently, they used C++98 while ARA makes use of C++11. However, Ardour developers started using C++11 features last year, so ARA is now a possibility. Besides, it wouldn’t be the first VST3 extension they support. So, um, let’s wait and see?
Future work
JUCE developers are listing MIDI 2.0 support as well as further accessibility improvements as v7.1 objectives.
Personally, I have mad respect for the accessibility work that the JUCE team has already put into their project in the v6 series. It’s 2022, and software for musicians is still generally not doing great there. Kudos for tackling this issue!
Ongoing ports
There’s a fair amount of free/libre plugins that use JUCE for the user interface: the Surge family, Dexed, Ob-xd, Vital, the Chowdhury DSP family, and more. Some of JP Cimalando’s plugins use JUCE as well, like Delay Architect:
So far, I’ve only see Roland Rabien of Socalabs porting his plugins to JUCE7. But it’s been just a day since the release, and I’m sure some developers have local builds already. Let’s be patient!