This project is a cross-platform audio effect rack plugin built using the JUCE framework. Follow the instructions below to set up your environment and build the plugin on macOS or Windows.
Before building, ensure the following are installed on your machine:
-
JUCE 8.x
Download from: https://juce.com/get-juce
Install it and launch the Projucer app. -
C++ Toolchain:
- macOS: Xcode (latest)
- Windows: Visual Studio 2022 (Community or better) with "Desktop development with C++" workload
.jucer— JUCE project fileSource/— C++ source filesBuilds/— Platform-specific build files (auto-generated by Projucer)
- Open
TonicAudioPlugin.jucerusing Projucer. - Ensure:
- JUCE modules path is set correctly
- "Xcode (macOS)" exporter is enabled
- Click File → Save Project and Open in IDE
- Xcode will launch with the project. Choose
Tonic_AUorTonic_VST3as the target and click Run (⌘+R).
-
Open
TonicAudioPlugin.jucerusing Projucer. -
Ensure:
- JUCE modules path is set correctly
- "Visual Studio 2022" exporter is enabled
-
Under Visual Studio Exporter > Extra Linker Flags, paste:
/LIBPATH:"$(WindowsSdkDir)um\x64" user32.lib ole32.lib shell32.lib advapi32.lib uuid.lib gdi32.lib comdlg32.lib -
Click File → Save Project and Open in IDE
-
Visual Studio will launch. Set the
Tonic_VST3project as the Startup Project. -
Build the solution using Debug | x64 configuration.
- Launch AudioPluginHost, located in the
JUCE/Extras/AudioPluginHost/Buildsdirectory.- You may need to build it first using Projucer + Xcode/Visual Studio.
- In the plugin host:
- Go to
Options → Edit Plugin Search Paths - Add your plugin build output folder:
- macOS (AU):
~/Library/Audio/Plug-Ins/Components/ - macOS (VST3):
~/Library/Audio/Plug-Ins/VST3/ - Windows (VST3):
C:\Program Files\Common Files\VST3\
- macOS (AU):
- Go to
- Scan for new plugins and drag your plugin into the graph to test it.
- The
.jucerfile defines modules, plugin formats, and platform settings. - If you make changes to the
.jucerfile (e.g., adding a new source file or module), re-save and regenerate IDE files. - Always commit both the
.jucerfile and yourSource/files to Git.
Remove tonic.lib from:
Projucer > Exporters > Visual Studio > External Libraries to Link
Ensure Tonic_SharedCode project builds successfully. If not:
- Clean solution and rebuild
- Check JUCE modules are properly included
You can build the plugin and run it inside AudioPluginHost by connecting a sine oscillator → your plugin → output speakers. This helps you visualize how your effect manipulates audio in real time.
We have tested before with success!
Happy hacking! 🎶
