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: