Workshop: Build your first Plug-in with JUCE
Create a working plug-in from scratch
Writing an audio plug-in can be a daunting task: there are a multitude of plug-in formats and DAWs, all with slightly different requirements.
This workshop will guide you through the process of creating your first audio plug-in using the JUCE framework.
This workshop will cover:
- An introduction to JUCE
- Configuring a plug-in project
- Adding parameters to your plug-in and accessing them safely
- Creating a basic GUI
- Debugging and testing your plug-in
During the workshop, attendees will create a simple audio plug-in under the guidance of the JUCE developers.
Workshop Requirements:
Attendees must be able to compile the projects supplied in the most recent JUCE SDK using the corresponding IDE for their computer: Visual Studio 2022 for Windows, Xcode for macOS, and a Makefile for Linux. This may require installing Visual Studio 2022, Xcode or all of the Linux dependencies. There will not be time to do this within the workshop itself.
You can clone JUCE using git from here https://github.com/juce-framework/JUCE, or download the latest version of JUCE here https://github.com/juce-framework/JUCE/releases/latest.
Windows: Open JUCE\extras\AudioPluginHost\Builds\VisualStudio2022\AudioPluginHost.sln and build in Visual Studio 2022.
macOS: Open JUCE/extras/AudioPluginHost/Builds/MacOSX/AudioPluginHost.xcodeproj and build in Xcode.
Linux: Run make in JUCE/extras/AudioPluginHost/Builds/LinuxMakefile.
Download the workshop materials here: https://data.audio.dev/workshops/2024/build-first-plugin-with-juce/materials.zip
Tom Poole
Director
JUCE
Tom Poole is the director of ADC and the open source, cross platform, C++ framework JUCE (https://juce.com). Before focusing on JUCE he completed a PhD on massively parallel quantum Monte-Carlo simulations of materials, and has been a foundational part of successful big-data and audio plug-in startups.
Attila Szarvas
Software Engineer
JUCE
I studied electrical engineering and got drawn into signal processing and software development while working on active noise cancelling research topics. I've been working ever since as a programmer in various fields, but the most fun I had was doing audio plugin development in the three years before joining JUCE in June 2021.
Oli James
I've used JUCE to build just about everything from farming robots to live audio platforms.
My interests are in systems programming, graphics and game engine architecture.
Reuben Thomas
Lead Software Engineer
JUCE
Reuben has worked as lead engineer on the JUCE team since 2023, having joined the team as a full-time maintainer in early 2020. He has contributed features such as CMake support, LV2 support, and MIDI 2.0 Capability Inquiry to the framework. In the recent JUCE 8 release, he primarily assisted with the integration of the new Direct2D renderer and text shaping systems. Before joining the JUCE team, Reuben used JUCE to build a room-acoustics simulator during his MA (Res) at the University of Huddersfield, audio analysis tools at IRCAM, and consumer music software at ROLI.
Anthony Nicholls
Software Engineer
JUCE
Anthony is the most recent member to join the team developing the JUCE C++ framework. Having been passionate about music technology from a teenager, Anthony has worked in live sound, recording studios, and on plugins and applications for companies such as Sonnox and Focusrite.