pamplejuce Documentation

repository·main·Indexed 20 days ago

https://github.com/sudara/pamplejuce

A specialized C++23 template for modern JUCE 8.x plugin development. It features a CMake-based build system, CPM dependency management, and integrated Catch2 testing and benchmarking. The template includes GitHub Actions for cross-platform CI/CD, plugin validation via pluginval, and support for macOS and Windows code signing.

Tokens
507
Snippets
0
Records
3
Agent score
23%

What's inside pamplejuce

  1. Overview of Pamplejuce features and requirements

    main

    Pamplejuce is a template for creating and building JUCE plugins. It provides a pre-configured development environment with the following specifications:

    Core Tech Stack

    • Language: C++23
    • Framework: JUCE 8.x (managed as a git submodule tracking develop)
    • Dependency Management: CPM
    • Build System: CMake 3.25 or higher
    • Testing: Catch2 v3.7.1

    Included Targets and Tools

    • Targets: Tests and Benchmarks targets are included for immediate testing and performance profiling.
    • UI Debugging: Includes Melatonin Inspector as a JUCE module to assist with plugin UI development.
    • Code Quality: Includes .clang-format for consistent styling.
    • Versioning: A VERSION file is provided to propagate version information through JUCE and your application.
  2. Initialize a new project using the Pamplejuce template

    main

    Pamplejuce is designed as a template repository. To start a new project:

    1. Use the GitHub [Use this template] feature to create a new repository from this one (this creates a copy rather than a fork).
    2. Configure the repository visibility (public or private) as desired.
    3. Follow the project-specific documentation to tweak settings for your specific plugin requirements.

    Note for AI Coding Agents: If you are using an AI agent, refer to the CLAUDE.md or AGENTS.md files. These contain a first-time setup wizard that can guide the agent through naming, CI configuration, and code signing setup.

  3. Configure CI and Code Signing

    main

    Pamplejuce includes extensive GitHub Actions integration for cross-platform builds (Linux, macOS, Windows).

    CI Capabilities

    • Cross-platform binary building and testing.
    • Running tests and benchmarks in CI.
    • Plugin validation using pluginval 1.x.
    • Intel IPP installation configuration.
    • macOS code signing and notarization.
    • Windows code signing via Azure Trusted Signing.

    Important: Code Signing Requirement

    Tests will fail (go red) immediately upon setup until you have configured code signing. Ensure you follow the documentation for code signing to enable successful test runs in CI.