I just upgraded my source to the latest tip. When building my project I get the following errors in juce_VST_wrapper:
…/…/Source/VST/juce_VST_Wrapper.cpp: At global scope:
…/…/Source/VST/juce_VST_Wrapper.cpp:354: error: ‘VoidArray’ does not name a type
…/…/Source/VST/juce_VST_Wrapper.cpp:1420: error: ‘VoidArray’ does not name a type
…/…/Source/VST/juce_VST_Wrapper.cpp: In constructor ‘JuceVSTWrapper::JuceVSTWrapper(VstIntPtr ()(AEffect, VstInt32, VstInt32, VstIntPtr, void*, float), juce::AudioProcessor*)’:
…/…/Source/VST/juce_VST_Wrapper.cpp:419: error: ‘activePlugins’ was not declared in this scope
…/…/Source/VST/juce_VST_Wrapper.cpp: In destructor ‘virtual JuceVSTWrapper::~JuceVSTWrapper()’:
…/…/Source/VST/juce_VST_Wrapper.cpp:437: error: ‘activePlugins’ was not declared in this scope
…/…/Source/VST/juce_VST_Wrapper.cpp:438: error: ‘activePlugins’ was not declared in this scope
…/…/Source/VST/juce_VST_Wrapper.cpp: In member function ‘virtual void JuceVSTWrapper::processReplacing(float**, float**, VstInt32)’:
…/…/Source/VST/juce_VST_Wrapper.cpp:657: error: ‘activePlugins’ was not declared in this scope
…/…/Source/VST/juce_VST_Wrapper.cpp:675: error: ‘tempChannels’ was not declared in this scope
…/…/Source/VST/juce_VST_Wrapper.cpp: In member function ‘void JuceVSTWrapper::deleteTempChannels()’:
…/…/Source/VST/juce_VST_Wrapper.cpp:1455: error: ‘tempChannels’ was not declared in this scope
make: *** [build/intermediate/Debug/juce_VST_Wrapper_436400da.o] Error 1
What can I do? Apart from making things worse by hacking away at it! Is there a straightforward fix?
build/intermediate/Debug/juce_VST_Wrapper_436400da.o: In function *main': /home/rory/Dropbox/Cabbage/Builds/Linux/../../Source/VST/juce_VST_Wrapper.cpp:1532: multiple definition ofmain’
build/intermediate/Debug/StandaloneFilterApp_d9ee3663.o:/home/rory/Dropbox/Cabbage/Builds/Linux/…/…/Source/Standalone/StandaloneFilterApp.cpp:39: first defined here
collect2: ld returned 1 exit status
The error points to the following lines in juce_VST_Wrapper:
Commenting out one of above definitions means my app will build and link. I need to sort out a few other issues before I can tell if it works or not. Is there a betters solution to sorting this? Or don’t tell me, perhaps this has something to do with even more old code lying around?
You cannot build the VST plugin and the standalone app in the same file, so remove the standalonefilterapp.cpp from your build and it will work. They both try to define the same symbol “main” ( that’s what the ‘asm(“main”)’ stuff does for the vst plugin)
I have a few fixes for the linux VST that I’ll submit soon.