FXpansion VST plugins triggering assertion failure


First off: I love JUCE. Thanks for creating it, Jules!

If I try to load FXPansion’s Stroke, Amber, or Cypher plugins within JUCE’s Plugin Host demo (from a fresh tip git clone) on my macbook pro running OSX 10.8.4, an assertion is triggered at line 142 in AudioProcessor.cpp. [Specifically at: jassert(isPositiveAndBelow (parameterIndex, getNumParameters()))] It seems that VST parameters are updated beyond the maximum parameter index reported by the plugin. When I removed the assertion, everything seemed to run fine, and logging the parameter indices requested revealed that for e.g. Strobe (V. - i.e. latest), calling AudioProcessor::getNumParameters() yields 84, but parameters for indices up to (not including) 1024 are being requested.

I’m surprised this is occurring, since FXPansion’s plugins are, I believe, written in JUCE. Has anyone seen this problem before?


Despite the fxpansion guys being good friends of mine and drinking buddies for many years, they’re actually one of the few companies who don’t use juce - hence this kind of silly mistake!

I wouldn’t worry too much about the assertion - it does certainly mean that the plugin is misbehaving, but I think any sensible host needs to expect that kind of crap and is unlikely to use a parameter without checking it first.