Crypt: A simple open-source cross-platform CMake-build JUCE synth example with CI/CD

Hi everyone! I come from a programming background, but I’m relatively new to JUCE. Along my learning journey I figured out a bunch of stuff that I couldn’t find such good information on myself, so I thought my work might also be useful to other people developing with JUCE, especially those working with the (relatively new) CMake interface.

The synth I came up with I think is a good example of a simple plugin which can be built with just one C++ file, the CMakeLists.txt and image resources; and the project layout should make a lot more sense for somebody like me who comes from more of a systems programming rather than app development background. It has parameters and a GUI and makes some pretty cool sounds, but comes in at only 400 lines of relatively well documented code.

It includes JUCE as a Git submodule, which means it doesn’t have any non-standard dependencies for the build process, and as such it was relatively straightforward to get it building in the Github Actions CI/CD system. That means whenever I push a commit to Git it builds both a Mac and Windows version of the plugin automatically; and when I push a tag it automatically creates a release.

I hope some of you might find it a useful example to use for getting started with plugin development, or using the new CMake interface, or getting CI/CD working with your plugin development process. It’s licensed under the GPL3, and it’s online on GitHub here:

Crypt on GitHub


Great, as adding GitHub actions support to my CMake based plugin is the next step on my roadmap, I’m happy to see this one, seems like it could be a great resource to get started with that. Thank you for sharing it with the community :slight_smile:

Thanks for sharing!