{"id":21094237,"url":"https://github.com/janwilczek/audio-plugin-template","last_synced_at":"2026-01-23T14:02:02.938Z","repository":{"id":189665432,"uuid":"668379174","full_name":"JanWilczek/audio-plugin-template","owner":"JanWilczek","description":"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.","archived":false,"fork":false,"pushed_at":"2025-04-15T06:38:00.000Z","size":48,"stargazers_count":150,"open_issues_count":4,"forks_count":10,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-05-27T08:51:02.003Z","etag":null,"topics":["cmake","cpp","juce","juce-framework","juce-plugin"],"latest_commit_sha":null,"homepage":"","language":"CMake","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JanWilczek.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-07-19T17:02:30.000Z","updated_at":"2025-05-24T12:31:27.000Z","dependencies_parsed_at":null,"dependency_job_id":"f74a8d11-9a8b-477c-b336-f5196592b26d","html_url":"https://github.com/JanWilczek/audio-plugin-template","commit_stats":null,"previous_names":["janwilczek/audio-plugin-template"],"tags_count":2,"template":true,"template_full_name":null,"purl":"pkg:github/JanWilczek/audio-plugin-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JanWilczek%2Faudio-plugin-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JanWilczek%2Faudio-plugin-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JanWilczek%2Faudio-plugin-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JanWilczek%2Faudio-plugin-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JanWilczek","download_url":"https://codeload.github.com/JanWilczek/audio-plugin-template/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JanWilczek%2Faudio-plugin-template/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28693446,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-23T11:01:27.039Z","status":"ssl_error","status_checked_at":"2026-01-23T11:00:26.909Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cmake","cpp","juce","juce-framework","juce-plugin"],"created_at":"2024-11-19T22:16:48.801Z","updated_at":"2026-01-23T14:02:02.842Z","avatar_url":"https://github.com/JanWilczek.png","language":"CMake","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🐺 WolfSound's Audio Plugin Template\n\n![Cmake workflow success badge](https://github.com/JanWilczek/audio-plugin-template/actions/workflows/cmake.yml/badge.svg)\n\nWant to create an audio plugin (e.g., a VST3 plugin) with C++ but don't know how to go about?\n\nHeard about the [JUCE C++ framework](https://github.com/juce-framework/JUCE) but not sure how to start a JUCE project?\n\nWant to use CMake with JUCE but don't know how?\n\nWant to be able to easily integrate third-party C++ libraries to your project?\n\nWant to unit test your audio plugin?\n\nWant to ensure maximum safety of your software?\n\nAnd all this with a click of a button?\n\nWell, this template allows you to immediately start your JUCE C++ framework audio plugin project with a CMake-based project structure. It involves\n\n* clear repo structure\n* C++ 23 standard\n* effortless handling of third-party dependencies with the CPM package manager; use the C++ libraries you want together with JUCE\n* highest warning level and \"treat warnings as errors\"\n* ready-to-go unit test project with GoogleTest\n\nAdditionally\n\n* continuous integration made easy with Github actions: build and run tests on the main branch and on every pull request\n* automatic clang-format on C++ files run on every commit; don't worry about code formatting anymore!\n\nI am personally using this template all the time.\n\nFeel free to propose suggestions 😉\n\n## Usage\n\nThis is a template repository which means you can right click \"Use this template\" on GitHub and create your own repo out of it.\n\nAfter cloning it locally, you can proceed with the usual CMake workflow.\n\nIn the main repo directory execute\n\n```bash\n$ cmake -S . -B build\n$ cmake --build build\n```\n\nThe first run will take the most time because the dependencies (CPM, JUCE, and googletest) need to be downloaded.\n\nAlternatively, you can use bundled CMake presets:\n\n```bash\n$ cmake --preset default # uses the Ninja build system\n$ cmake --build build\n$ ctest --preset default\n```\n\nExisting presets are `default`, `release`, and `Xcode`.\n\nTo run clang-format on every commit, in the main directory execute\n\n```bash\npre-commit install\n```\n\n(for this you may need to install `pre-commit` with `pip`: `pip install pre-commit`).\n\nDon't forget to change \"YourPluginName\" to, well, your plugin name everywhere 😉\n\n## How was this template built?\n\nSee how I create this template step by step in this video:\n\n[![Audio plugin template tutorial video](http://img.youtube.com/vi/Uq7Hwt18s3s/0.jpg)](https://www.youtube.com/watch?v=Uq7Hwt18s3s \"Audio plugin template tutorial video\")\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjanwilczek%2Faudio-plugin-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjanwilczek%2Faudio-plugin-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjanwilczek%2Faudio-plugin-template/lists"}