Loading repository data…
Loading repository data…
JanWilczek / repository
A template repository that you can use for creating audio plugins with the JUCE C++ framework. It is based on CMake, uses CPM package manager, the JUCE C++ framework (obviously), and the GoogleTest framework. All of these are easy to change on demand. You can also base off your new repo off this template because the setup is very simple.
✨FREE JUCE AUDIO PLUGIN DEVELOPMENT COURSE✨
[!IMPORTANT] This is version 2 of the audio-plugin-template, which contains important improvements and updates over version 1. Don't be surprised if the setup doesn't match 1:1 what I have shown in the 2023 YouTube video 😉 Using v2 is even simpler than v1.
Well, this template lets you start your JUCE C++ audio plugin project right away with a CMake-based project structure. It involves
Additionally
I am personally using this template all the time.
Feel free to propose suggestions 😉
This is a template repository, which means you can click "Use this template" on GitHub and create your own repo out of it.
Then, you need to clone the created repo locally. This is typically achieved by running
git clone https://github.com/<YourUsername>/<YourRepoName>.git
in the terminal. Some people swear by the command line, some by GitHub Desktop, some by Tortoise Git; pick the tool you like.
After cloning your repo locally, change the metadata passed to juce_add_plugin() function in the CMakeLists.txt file. In particular, change
COMPANY_NAMEPLUGIN_MANUFACTURER_CODEPLUGIN_CODEPRODUCT_NAMEAfter cloning your repo locally, you can proceed with the usual CMake workflow. That involves two steps:
In the main repo directory, execute
cmake --preset default # configure
cmake --build --preset default # build
ctest --preset default # test
The first run will take the most time because the dependencies (CPM, JUCE, and googletest) need to be downloaded.
Check CMakePresets.json for presets other than "default", feel free to add your own, of course!
(Optional) To run clang-format on every commit, in the main directory, execute
pre-commit install
(for this, you need to have pre-commit installed, e.g., with pip: pip install pre-commit).
See how I created v1 of this template step by step in this video:
This template repo uses the Unlicense license so that you don't have to worry about giving me credit.
If you found the repo helpful, please consider buying me a coffee.
Remember that CPM, JUCE, and GoogleTest are separately licensed.