New config flag in JUCE 4.3.1 is ON by default



In commit e49022bfba18ae484f892f21bae056c51fed48fa, a new config flag (JUCE_USE_STUDIO_ONE_COMPATIBLE_PARAMETERS) was introduced in juce_audio_plugin_client.h.

Though the documentation for this config flag starts with “Enable this if you want”, JUCE_USE_STUDIO_ONE_COMPATIBLE_PARAMETERS is defined to 1 when it’s not defined, i.e. it’s ON by default.

This means that when upgrading from 4.3.0 to 4.3.1, my AU and VST3 plugins will become “incompatible to old automation data” (quoting the documentation again) if I don’t explicitly set JUCE_USE_STUDIO_ONE_COMPATIBLE_PARAMETERS to 0 in the Projucer.

Now I have two questions:

  • Can somebody explain me why JUCE_USE_STUDIO_ONE_COMPATIBLE_PARAMETERS is defined to 1 instead of 0 by default? (maybe there is a really good reason that is not reflected in the documentation)
  • Can somebody change either the code or the documentation, so they agree?



See this post for an explanation why we chose to have this on by default. That you ran into this problem sort of proves my point as well:


@fabian Thank you very much for the link to the other post. I have to admit that I didn’t search on the forum for “JUCE_USE_STUDIO_ONE_COMPATIBLE_PARAMETERS”…

I still think that having the documentation start with “Enable this if you want” is misleading. Could it be changed to “When this flag is enabled, JUCE will use parameter ids…”?