Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sudara/pamplejuce
A JUCE audio plugin template. JUCE 8, Catch2, Pluginval, macOS notarization, Azure Trusted Signing, Github Actions
https://github.com/sudara/pamplejuce
audio catch2 cmake code-signing juce juce-framework plugin template
Last synced: 3 days ago
JSON representation
A JUCE audio plugin template. JUCE 8, Catch2, Pluginval, macOS notarization, Azure Trusted Signing, Github Actions
- Host: GitHub
- URL: https://github.com/sudara/pamplejuce
- Owner: sudara
- License: mit
- Created: 2020-10-12T13:34:39.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-01-22T11:24:41.000Z (13 days ago)
- Last Synced: 2025-01-25T20:04:39.244Z (10 days ago)
- Topics: audio, catch2, cmake, code-signing, juce, juce-framework, plugin, template
- Language: C++
- Homepage: https://melatonin.dev/manuals/pamplejuce
- Size: 2.25 MB
- Stars: 455
- Watchers: 11
- Forks: 46
- Open Issues: 24
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-juce - pamplejuce
- awesome-musicdsp - pamplejuce - An excellent template for JUCE projects. (Audio plug-in templates)
README
![PAMPLEJUCE](assets/images/pamplejuce.png)
[![](https://github.com/sudara/pamplejuce/actions/workflows/build_and_test.yml/badge.svg)](https://github.com/sudara/pamplejuce/actions)Pamplejuce is a ~~template~~ lifestyle for creating and building JUCE plugins in 2024.
Out of the box, it:
1. Supports C++20.
2. Uses JUCE 8.x as a git submodule (tracking develop).
3. Relies on CMake 3.24.1 and higher for cross-platform building.
4. Has [Catch2](https://github.com/catchorg/Catch2) v3.7.0 for the test framework and runner.
5. Includes a `Tests` target and a `Benchmarks` target some examples to get started quickly.
6. Has [Melatonin Inspector](https://github.com/sudara/melatonin_inspector) installed as a JUCE module to help relieve headaches when building plugin UI.It also has integration with GitHub Actions, specifically:
1. Building and testing cross-platform (linux, macOS, Windows) binaries
2. Running tests and benchmarks in CI
3. Running [pluginval](http://github.com/tracktion/pluginval) 1.x against the binaries for plugin validation
4. Config for [installing Intel IPP](https://www.intel.com/content/www/us/en/developer/tools/oneapi/ipp.html)
5. [Code signing and notarization on macOS](https://melatonin.dev/blog/how-to-code-sign-and-notarize-macos-audio-plugins-in-ci/)
6. [Windows code signing via Azure Trusted Signing](https://melatonin.dev/blog/code-signing-on-windows-with-azure-trusted-signing/)It also contains:
1. A `.gitignore` for all platforms.
2. A `.clang-format` file for keeping code tidy.
3. A `VERSION` file that will propagate through JUCE and your app.
4. 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](https://melatonin.dev/manuals/pamplejuce/how-does-this-all-work/).
[![Arc - 2024-10-01 51@2x](https://github.com/user-attachments/assets/01d19d2d-fbac-481f-8cec-e9325b2abe57)](https://melatonin.dev/manuals/pamplejuce/how-does-this-all-work/)
## Setting up for YOUR project
This is a template repo!
That means the easiest thing to do is click "[Use this template](https://github.com/sudara/pamplejuce/generate)" here or at the top of the page to get your own repo with all the code here.
Then check out the [documentation](https://melatonin.dev/manuals/pamplejuce/setting-your-project-up/) 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](https://melatonin.dev/manuals/pamplejuce), then please do [open an issue](https://github.com/sudara/pamplejuce/issues/new)!