Awesome
Pamplejuce is a template lifestyle for creating and building JUCE plugins in 2024.
Out of the box, it:
- Supports C++20.
- Uses JUCE 8.x as a git submodule (tracking develop).
- Relies on CMake 3.24.1 and higher for cross-platform building.
- Has Catch2 v3.7.0 for the test framework and runner.
- Includes a
Tests
target and aBenchmarks
target some examples to get started quickly. - Has Melatonin Inspector installed as a JUCE module to help relieve headaches when building plugin UI.
It also has integration with GitHub Actions, specifically:
- Building and testing cross-platform (linux, macOS, Windows) binaries
- Running tests and benchmarks in CI
- Running pluginval 1.x against the binaries for plugin validation
- Config for installing Intel IPP
- Code signing and notarization on macOS
- Windows code signing via Azure Trusted Signing
It also contains:
- A
.gitignore
for all platforms. - A
.clang-format
file for keeping code tidy. - A
VERSION
file that will propagate through JUCE and your app. - A ton of useful comments and options around the CMake config.
How does this all work at a high level?
Check out the official Pamplejuce documentation.
Setting up for YOUR project
This is a template repo!
That means the easiest thing to do is click "Use this template" here or at the top of the page to get your own repo with all the code here.
Then check out the documentation so you know what to tweak.
Having Issues?
Thanks to everyone who has contributed to the repository.
This repository covers a lot of ground. JUCE itself has a lot of surface area. It's a group effort to maintain the garden and keep things nice!
If something isn't just working out of the box — it's probably not just you — others are running into the problem, too, I promise. Check out the official docs, then please do open an issue!