Wrong documentation on CMake API VST3_CATEGORIES?


  - Should be one or more, separated by spaces, of the following: Fx, Instrument, Analyzer, Delay, Distortion, Drum, Dynamics, EQ, External, Filter, Generator, Mastering, Modulation, Mono, Network, NoOfflineProcess, OnlyOfflineProcess, OnlyRT, Pitch Shift, Restoration, Reverb, Sampler, Spatial, Stereo, Surround, Synth, Tools, Up-Downmix

The delimiter should be a semicolon, not a space right?

According to the function _juce_get_vst3_category_string on the line 1445 in extras/Build/CMake/JUCEUtils.cmake

string(REGEX REPLACE ";" "|" result "${vst3_categories}")

When I separated with spaces, the category shown in hosts was like Fx | <One Long Concatenated String Category>. Tested on Max 8 and Nuendo 10.

What exactly are you passing to juce_add_plugin?

Something like:

  • A
      VST3_CATEGORIES Drum Sampler
  • B
      VST3_CATEGORIES "Drum" "Sampler"
  • C
      VST3_CATEGORIES "Drum Sampler"
  • D
      VST3_CATEGORIES "Drum;Sampler"

The expected syntax, as described in the documentation, is A.
B is technically equivalent.
D is not recommended, but should also work.
C won’t work.

1 Like

Ah, I was trying C and switched to D. Thank you.