Suggested changes/additions for Juce Demo Plugin



A recent thread pointed out an issue with the Juce Demo Plugin, in that it doesn’t handle automation correctly as an Audio Unit. The solution to this issue is pretty easy (you can read about it at, but it points out that the demo plugin could use a few changes and additions to be a better base for plugin developers.

A few suggestions:

  • Add beginChangeParamGesture() and endChangeParamGesture(), as described in the other thread, to handle automation.
  • An example for how to handle presets in a cross platform manner would be awesome.
  • Include a slider that has a range outside of the 0-1 scope, and show how to translate the range for the various plugin formats. VST and RTAS both require parameters to be in the 0.0-1.0 range, while Audio Units allow “real world” numbers. This is one of the more annoying aspects of cross platform development.

As an example, the existing demo could be updated to include a delay length parameter, in milliseconds, with the ability to choose different tempo subdivisions. The slider would show how ranges are translated from the 0-1 range to real world numbers and back, and the tempo control could make use of some other control (ComboBox, radio buttons, etc.) that would be helpful for plugin developers.

The above suggestions are fairly basic, but would have saved me a fair amount of work if they had been in the example code when I started. The more comprehensive of an example that is provided with Juce, the easier it is for a plugin developer to get up and running, which should result in more Juce developers.

Sean Costello


+1! Your support (and others on the forum) has always been fantastic, but I agree that these suggestions would be highly beneficial, especially for someone just starting out…


MY support? Man, I am totally staggering my way through this Juce code at pretty much all times. I’m pretty good at the DSP code, but am certainly not one of the top 1 million GUI programmers on Earth. I just post the results of my programming experiments, which tend to come from the “infinite number of programming monkeys” school rather than any deep understanding of what I am doing. If I do anything useful, it is through asking the right questions, that people that know more than me can answer.

This is why a really solid Juce plugin example would be great. The existing plugin example isn’t comprehensive enough to act as a starting point for cross-platform (VST/AU) plugin development, without a fair amount of work. However, none of the other GUI solutions have comprehensive example code (in other words, something that you could easily tweak for your own VST/AU plugin, with GUI and audio code). If the Juce example was fleshed out a bit, people could dive right in and get their plugins running a lot faster. 699 pounds is a small price to pay for saving a few months of work. :mrgreen:

Sean Costello