JUCE was recommended to me, rather than just using the Steinberg SDK, as a better way to write a plugin that loads and manipulates other plugins.
This here seems like very, very weird behavior. The same code runs fine for another developer who revised my code (which was giving me other unexplainable errors). But for me, in either JUCE Audio Plugin Host or REAPER 6.35 on Windows 10 (two different computers) gives me a slew of exceptions, one after another. Reaper crashes completely.
My code is here:
Note that I hardcoded:
const String realFileName
as “Surge.vst3” but it should be a VST3 plugin in the same folder as this one (the build folder). Surge, incidentally, is made with JUCE. That’s GPL, like my project will be if it ever works. I know several people have cracked this bizarre trick of hosting a plugin in a plugin, but all with proprietary code, and there is still no guide or tutorial on how this would work.
So here are some screenshots of some of the exceptions I have. Why is it adding the total number of channels to the channel offset, and then jassert-ing that the channel offset is less than the number of channels? Is this a chain of methods that shouldn’t happen? Is it because I’m using VST wrappers both for host and for client?
Is someone going to tell me that my code is the reason this over-channel-numbering is happening?
Because it isn’t my code; it’s code that someone else suggested after revising mine, and it runs without a problem on his computer. With a different vst3…