{"id":13728825,"url":"https://github.com/sudara/pamplejuce","last_synced_at":"2025-05-15T16:05:55.140Z","repository":{"id":39727363,"uuid":"303402467","full_name":"sudara/pamplejuce","owner":"sudara","description":"A JUCE audio plugin template. JUCE 8, Catch2, Pluginval, macOS notarization, Azure Trusted Signing, Github Actions","archived":false,"fork":false,"pushed_at":"2025-04-22T14:06:49.000Z","size":2339,"stargazers_count":486,"open_issues_count":30,"forks_count":50,"subscribers_count":12,"default_branch":"main","last_synced_at":"2025-04-22T14:47:13.521Z","etag":null,"topics":["audio","catch2","cmake","code-signing","juce","juce-framework","plugin","template"],"latest_commit_sha":null,"homepage":"https://melatonin.dev/manuals/pamplejuce","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sudara.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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},"funding":{"github":"sudara"}},"created_at":"2020-10-12T13:34:39.000Z","updated_at":"2025-04-22T13:51:07.000Z","dependencies_parsed_at":"2023-12-30T22:23:23.462Z","dependency_job_id":"b4040612-140f-4ff5-93c6-7f4dca7ed1cb","html_url":"https://github.com/sudara/pamplejuce","commit_stats":null,"previous_names":[],"tags_count":7,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sudara%2Fpamplejuce","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sudara%2Fpamplejuce/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sudara%2Fpamplejuce/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sudara%2Fpamplejuce/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sudara","download_url":"https://codeload.github.com/sudara/pamplejuce/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254374431,"owners_count":22060611,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["audio","catch2","cmake","code-signing","juce","juce-framework","plugin","template"],"created_at":"2024-08-03T02:00:50.992Z","updated_at":"2025-05-15T16:05:55.133Z","avatar_url":"https://github.com/sudara.png","language":"C++","funding_links":["https://github.com/sponsors/sudara"],"categories":["Templates","Audio plug-in templates"],"sub_categories":[],"readme":"![PAMPLEJUCE](assets/images/pamplejuce.png)\n[![](https://github.com/sudara/pamplejuce/actions/workflows/build_and_test.yml/badge.svg)](https://github.com/sudara/pamplejuce/actions)\n\nPamplejuce is a ~~template~~ lifestyle for creating and building JUCE plugins in 2025.\n\nOut-of-the-box, it:\n\n1. Supports C++20.\n2. Uses JUCE 8.x as a git submodule (tracking develop).\n3. Uses CPM for dependency management.\n3. Relies on CMake 3.25 and higher for cross-platform building.\n4. Has [Catch2](https://github.com/catchorg/Catch2) v3.7.1 for the test framework and runner.\n5. Includes a `Tests` target and a `Benchmarks` target with examples to get started quickly.\n6. Has [Melatonin Inspector](https://github.com/sudara/melatonin_inspector) installed as a JUCE module to help relieve headaches when building plugin UI.\n\nIt also has integration with GitHub Actions, specifically:\n\n1. Building and testing cross-platform (linux, macOS, Windows) binaries\n2. Running tests and benchmarks in CI\n3. Running [pluginval](http://github.com/tracktion/pluginval) 1.x against the binaries for plugin validation\n4. Config for [installing Intel IPP](https://www.intel.com/content/www/us/en/developer/tools/oneapi/ipp.html)\n5. [Code signing and notarization on macOS](https://melatonin.dev/blog/how-to-code-sign-and-notarize-macos-audio-plugins-in-ci/)\n6. [Windows code signing via Azure Trusted Signing](https://melatonin.dev/blog/code-signing-on-windows-with-azure-trusted-signing/)\n\nIt also contains:\n\n1. A `.gitignore` for all platforms.\n2. A `.clang-format` file for keeping code tidy.\n3. A `VERSION` file that will propagate through JUCE and your app.\n4. A ton of useful comments and options around the CMake config.\n\n## How does this all work at a high level?\n\nCheck out the [official Pamplejuce documentation](https://melatonin.dev/manuals/pamplejuce/how-does-this-all-work/).\n\n[![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/)\n\n## Setting up for YOUR project\n\nThis is a template repo!\n\nThat means you can click \"[Use this template](https://github.com/sudara/pamplejuce/generate)\" here or at the top of the page to get your own copy (not fork) of the repo. Then you can make it private or keep it public, up to you.\n\nThen check out the [documentation](https://melatonin.dev/manuals/pamplejuce/setting-your-project-up/) so you know what to tweak. \n\n\u003e [!NOTE]\n\u003e Tests will immediately run and fail (go red) until you [set up code signing](https://melatonin.dev/manuals/pamplejuce/getting-started/code-signing/).\n\n## Having Issues?\n\nThanks to everyone who has contributed to the repository. \n\nThis 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!\n\nIf 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)!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsudara%2Fpamplejuce","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsudara%2Fpamplejuce","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsudara%2Fpamplejuce/lists"}