Code Monkey home page Code Monkey logo

sambilbow / audio-plugin-template Goto Github PK

View Code? Open in Web Editor NEW

This project forked from janwilczek/audio-plugin-template

0.0 0.0 0.0 36 KB

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.

C++ 58.53% CMake 41.47%

audio-plugin-template's Introduction

๐Ÿบ WolfSound's Audio Plugin Template

Cmake workflow success badge

Want to create an audio plugin (e.g., a VST3 plugin) with C++ but don't know how to go about?

Heard about the JUCE C++ framework but not sure how to start a JUCE project?

Want to use CMake with JUCE but don't know how?

Want to be able to easily integrate third-party C++ libraries to your project?

Want to unit test your audio plugin?

Want to ensure maximum safety of your software?

And all this with a click of a button?

Well, this template allows you to immediately start your JUCE C++ framework audio plugin project with a CMake-based project structure. It involves

  • clear repo structure
  • C++ 23 standard
  • effortless handling of third-party dependencies with the CPM package manager; use the C++ libraries you want together with JUCE
  • highest warning level and "treat warnings as errors"
  • ready-to-go unit test project with GoogleTest

Additionally

  • continuous integration made easy with Github actions: build and run tests on the main branch and on every pull request
  • automatic clang-format on C++ files run on every commit; don't worry about code formatting anymore!

I am personally using this template all the time.

Feel free to propose suggestions ๐Ÿ˜‰

Usage

This is a template repository which means you can right click "Use this template" on GitHub and create your own repo out of it.

After cloning it locally, you can proceed with the usual CMake workflow.

In the main repo directory execute

$ cmake -S . -B build
$ cmake --build build

The first run will take the most time because the dependencies (CPM, JUCE, and googletest) need to be downloaded.

To run clang-format on every commit, in the main directory execute

pre-commit install

(for this you may need to install pre-commit with pip: pip install pre-commit).

Don't forget to change "YourPluginName" to, well, your plugin name everywhere ๐Ÿ˜‰

How was this template built?

See how I create this template step by step in this video:

Audio plugin template tutorial video

audio-plugin-template's People

Contributors

janwilczek avatar sambilbow avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.