Hi. I'm the author of a personal fork of JUCE, currently at 5.4.1, which permits building VST2 without use of a non-free Steinberg developer kit.
Olivier Humbert (trebmuh) has pointed me to this bug, and I think I should give my humble answer since I did a bit of work on this. > Until there is a proper solution for the problem, i suggest to keep > JUCE from migrating to testing. The DISTRHO plugin framework aka DPF, permits to build VST2 based on VeSTige, a reverse-engineered header, free of Steinberg's licensing restrictions. In a recent commit of my JUCE fork, I did the same by permitting to integrate VeSTige into JUCE as a replacement of the usual framework. https://github.com/jpcima/JUCE/commit/2414d676068ee96c5f53f18882889f8a1f77564c This is not widely tested in another context than my own plugins, and it is a lossy process in some ways, since VeSTige does not cover the entirety of original specifications. So I had to disable some functionality in JUCE under conditional compilation, Among lost functionality are: system-exclusive MIDI handling, more advanced audio channel layout specifications, double precision processing. --- About the VeSTige header: I did some modifications, which are only structural, *not by any means altering any definitions inside*, in order to make it well integrate into JUCE well as a substitute. (#define would need conversion to enum values, so they can be namespaced as JUCE needs) A change as trivial as this would be probably fine, but I was told there is some reluctancy to update this header, no matter how little a change may be, because of delicateness of licensing situation and the hostility Steinberg has engaged against free projects. See: https://github.com/DISTRHO/DPF/pull/83#issuecomment-439180772