rorywalsh / cabbage_v1_old

Framework for developing virtual instruments using the Csound audio synthesis programming language.
http://www.cabbageaudio.com
115 stars 15 forks source link

CabbagePluginEditor crash. #24

Closed therealkitman closed 7 years ago

therealkitman commented 7 years ago

Just pulled the develop branch a8e0fdd. Building on opensuse 42.2 x64 keeps crashing when building.

Narrowed down crash to building with make -f MakefilePluginEffect CONFIG=Release CSOUND_INCLUDE="/usr/local/include/csound" CSOUND_LIBRARY="/usr/local/lib" VST_SDK="~/MusicSoftware/VST3_SDK" It always crashes trying to compile CabbagePluginEditor. I am kind of stumped at this point. Any ideas?

Compiling CommandManager.cpp Compiling CabbagePluginEditor.cpp In file included from /usr/local/include/csound/sysdep.h:109:0, from /usr/local/include/csound/csound.h:209, from /usr/local/include/csound/csound.hpp:41, from ../../Source/Plugin/../CabbageMessageSystem.h:27, from ../../Source/Plugin/CabbagePluginProcessor.h:27, from ../../Source/Plugin/CabbagePluginEditor.cpp:21: /usr/local/include/csound/float-version.h:31:0: warning: "USE_DOUBLE" redefined [enabled by default]

define USE_DOUBLE

^

:0:0: note: this is the location of the previous definition In file included from /usr/local/include/csound/csdl.h:111:0, from ../../Source/Plugin/CabbagePluginProcessor.h:46, from ../../Source/Plugin/CabbagePluginEditor.cpp:21: /usr/local/include/csound/csoundCore.h:87:0: warning: "OK" redefined [enabled by default] #define OK (0) ^ In file included from ../../Source/Plugin/CabbagePluginProcessor.h:24:0, from ../../Source/Plugin/CabbagePluginEditor.cpp:21: ../../Source/Plugin/../CabbageUtils.h:56:0: note: this is the location of the previous definition #define OK 0 ^ In file included from ../../Source/Plugin/CabbagePluginEditor.cpp:21:0: ../../Source/Plugin/CabbagePluginProcessor.h: In member function ‘virtual void CabbagePluginAudioProcessorEditor::timerCallback()’: ../../Source/Plugin/CabbagePluginProcessor.h:112:10: error: ‘bool CabbagePluginAudioProcessor::createLog’ is private bool createLog; ^ ../../Source/Plugin/CabbagePluginEditor.cpp:4665:19: error: within this context if(getFilter()->createLog == true) ^ MakefilePluginEffect:206: recipe for target 'build/intermediate/Release/CabbagePluginEditor_5a11f64e.o' failed make: *** [build/intermediate/Release/CabbagePluginEditor_5a11f64e.o] Error 1
rorywalsh commented 7 years ago

Balls, that's my fault! Hang on...

rorywalsh commented 7 years ago

Try the latest dev branch. Should be fixed now. Apologies for this. I'm working on a completely new version of Cabbage at the moment, so this error has slipped by unnoticed till now! You might close the issue if you get it to build ;)

therealkitman commented 7 years ago

Hi, no it still has issues. Did a git pull

chris@linux-4j2s:\~/Downloads/git/cabbage-devel> git pull remote: Counting objects: 7, done. remote: Compressing objects: 100% (1/1), done. remote: Total 7 (delta 6), reused 7 (delta 6), pack-reused 0 Unpacking objects: 100% (7/7), done. From https://github.com/rorywalsh/cabbage a8e0fdd..a9db75d develop -> origin/develop Updating a8e0fdd..a9db75d Fast-forward Source/Host/GraphEditorPanel.cpp | 2 -- Source/Plugin/CabbagePluginProcessor.h | 7 ++++--- 2 files changed, 4 insertions(+), 5 deletions(-) chris@linux-4j2s:\~/Downloads/git/cabbage-devel>

But when rebuilding I get errors with vst again (I didn't copy the SDK files over as per #23 )

Compiling juce_VST3_Wrapper.cpp Compiling juce_VST_Wrapper.cpp ../../JuceLibraryCode/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp:69:51: fatal error: public.sdk/source/vst2.x/audioeffectx.h: No such file or directory

include <public.sdk/source/vst2.x/audioeffectx.h>

                                               ^

compilation terminated. MakefilePluginSynth:305: recipe for target 'build/intermediate/Release/juce_VST_Wrapper_bb62e93d.o' failed make: [build/intermediate/Release/juce_VST_Wrapper_bb62e93d.o] Error 1 make: Waiting for unfinished jobs.... MakefileHost:246: warning: overriding recipe for target 'build/intermediate-host/Release/BinaryData_5ba7f54.o' MakefileHost:146: warning: ignoring old recipe for target 'build/intermediate-host/Release/BinaryData_5ba7f54.o' MakefileHost:251: warning: overriding recipe for target 'build/intermediate-host/Release/CabbageLookAndFeel_220a01a6.o' MakefileHost:166: warning: ignoring old recipe for target 'build/intermediate-host/Release/CabbageLookAndFeel_220a01a6.o' MakefileHost:327: warning: overriding recipe for target 'build/intermediate-host/Release/CabbageAudioDeviceSelectorComponent_87e6d820.o' MakefileHost:201: warning: ignoring old recipe for target 'build/intermediate-host/Release/CabbageAudioDeviceSelectorComponent_87e6d820.o' Cleaning CabbageHost MakefileHost:246: warning: overriding recipe for target 'build/intermediate-host/Release/BinaryData_5ba7f54.o' MakefileHost:146: warning: ignoring old recipe for target 'build/intermediate-host/Release/BinaryData_5ba7f54.o' MakefileHost:251: warning: overriding recipe for target 'build/intermediate-host/Release/CabbageLookAndFeel_220a01a6.o' MakefileHost:166: warning: ignoring old recipe for target 'build/intermediate-host/Release/CabbageLookAndFeel_220a01a6.o' MakefileHost:327: warning: overriding recipe for target 'build/intermediate-host/Release/CabbageAudioDeviceSelectorComponent_87e6d820.o' MakefileHost:201: warning: ignoring old recipe for target 'build/intermediate-host/Release/CabbageAudioDeviceSelectorComponent_87e6d820.o' Compiling BinaryData.cpp Compiling CabbageCallOutBox.cpp Compiling CabbageGUIClass.cpp Compiling CabbageLookAndFeel.cpp Compiling CabbagePropertiesDialog.cpp Compiling CabbageMainPanel.cpp Compiling CabbageTable.cpp Compiling ComponentLayoutEditor.cpp Compiling CodeEditor.cpp In file included from /usr/local/include/csound/csdl.h:111:0, from ../../Source/./Plugin/CabbagePluginProcessor.h:46, from ../../Source/CabbageTable.h:6, from ../../Source/CabbageTable.cpp:1: /usr/local/include/csound/csoundCore.h:87:0: warning: "OK" redefined [enabled by default]

define OK (0)

^

But it keeps on processing until the end

In file included from ../../Source/./Plugin/../CabbageLookAndFeel.h:32:0, from ../../Source/./Plugin/../CabbageCustomWidgets.h:24, from ../../Source/./Plugin/CabbagePluginEditor.h:23, from ../../Source/CabbageCustomWidgets.cpp:3: ../../Source/./Plugin/../CabbageUtils.h:56:0: note: this is the location of the previous definition

define OK 0

^ Compiling CabbageMessageSystem.cpp Linking CabbageHost cp: cannot stat './build/CabbagePluginSynth.so': No such file or directory cp: cannot stat './build/CabbagePluginEffect.so': No such file or directory cp: cannot stat './build/CabbagePluginEffectLV2.so': No such file or directory cp: cannot stat './build/CabbagePluginSynthLV2.so': No such file or directory chris@linux-4j2s:~/Downloads/git/cabbage-devel/Builds/Linux>

Needless to say that the resultant executable is faulty.

chris@linux-4j2s:\~/Downloads/git/cabbage-devel/Builds/Linux/build> ./Cabbage /home/chris/Downloads/git/cabbage-devel/Builds/Linux/build/opcodes.txt virtual_keyboard real time MIDI plugin for Csound WARNING: STK opcodes not available: define environment variable RAWWAVE_PATH (points to rawwaves directory) to use STK opcodes. 0dBFS level = 32768.0 --Csound version 6.09 (double samples) Feb 22 2017 [commit: b3553af5355638beb63bffbf103940e9d41dcdfe] libsndfile-1.0.25-exp compiled Ok ======EDITOR DECONSTRCUTOR========= about to cleanup Csound Csound cleaned up chris@linux-4j2s:\~/Downloads/git/cabbage-devel/Builds/Linux/build>

Regards...

rorywalsh commented 7 years ago

Where is your VST sdk located? The build script is set up to find it in ~SDKs, and it's expecting it to have a space in it name, as in "VST3 SDK". Can you confirm that this is the case for you? Although one "should" be able to specify custom dirs, it's probably best to just use the default one.

therealkitman commented 7 years ago

My vst sdk is physically at "~/MusicSoftware/VST3_SDK" which is the 3rd parameter I pass.

Ok, so I copied the sdk to "\~/SDKs/VST3 SDK" and specified "\~/SDKs/VST3\ SDK" because of the space in the foldername.

So now I run ./buildCabbage "/usr/local/include/csound" "/usr/local/lib" "~/SDKs/VST3\ SDK" and it still fails -

Compiling juce_VST_Wrapper.cpp ../../JuceLibraryCode/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp:69:51: fatal error: public.sdk/source/vst2.x/audioeffectx.h: No such file or directory

include <public.sdk/source/vst2.x/audioeffectx.h>

                                               ^

compilation terminated. MakefilePluginEffect:301: recipe for target 'build/intermediate/Release/juce_VST_Wrapper_bb62e93d.o' failed make: [build/intermediate/Release/juce_VST_Wrapper_bb62e93d.o] Error 1 make: Waiting for unfinished jobs....

rorywalsh commented 7 years ago

If your SDK is in that folder then you only need to run:

./buildCabbage

On 24 February 2017 at 11:54, therealkitman notifications@github.com wrote:

My vst sdk is physically at "~/MusicSoftware/VST3_SDK" which is the 3rd parameter I pass.

Ok, so I copied the sdk to "~/SDKs/VST3 SDK" and specified "~/SDKs/VST3\ SDK" because of the space in the foldername.

So now I run ./buildCabbage "/usr/local/include/csound" "/usr/local/lib" "~/SDKs/VST3\ SDK" and it still fails -

Compiling juce_VST_Wrapper.cpp ../../JuceLibraryCode/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp:69:51: fatal error: public.sdk/source/vst2.x/audioeffectx.h: No such file or directory

include <public.sdk/source/vst2.x/audioeffectx.h>

^ compilation terminated. MakefilePluginEffect:301: recipe for target 'build/intermediate/Release/juce_VST_Wrapper_bb62e93d.o' failed make: [build/intermediate/Release/juce_VST_Wrapper_bb62e93d.o] Error 1 make: Waiting for unfinished jobs....

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/rorywalsh/cabbage/issues/24#issuecomment-282274272, or mute the thread https://github.com/notifications/unsubscribe-auth/ACkLGYu2hE3zwDzIlECMCL8suSh_GXwJks5rfsTqgaJpZM4MJe3k .

therealkitman commented 7 years ago

Ah ha!! So leaving "~/SDKs/VST3 SDK" where it is and running just ./buildCabbage it is progressing.

But now I get these scatter throughout the build outputs -

Compiling CommandManager.cpp g++: warning: /home/chris/SDKs/VST3 SDK: linker input file unused because linking not done Compiling CabbagePluginEditor.cpp

But it ended with this -

/usr/local/include/csound/csoundCore.h:87:0: warning: "OK" redefined [enabled by default]

define OK (0)

^ In file included from ../../Source/./Plugin/../CabbageLookAndFeel.h:32:0, from ../../Source/./Plugin/../CabbageCustomWidgets.h:24, from ../../Source/./Plugin/CabbagePluginEditor.h:23, from ../../Source/CabbageCustomWidgets.cpp:3: ../../Source/./Plugin/../CabbageUtils.h:56:0: note: this is the location of the previous definition

define OK 0

^ Compiling CabbageMessageSystem.cpp Linking CabbageHost cp: cannot stat './build/CabbagePluginEffectLV2.so': No such file or directory cp: cannot stat './build/CabbagePluginSynthLV2.so': No such file or directory chris@linux-4j2s:~/Downloads/git/cabbage-devel/Builds/Linux>

BUT Cabbage seems to run ok from the Desktop!!!! (/home/chris/.local/share/applications/cabbage.desktop). Where do the exported vst files get saved?

Thanks....

rorywalsh commented 7 years ago

Ok. That's better. If you choose 'Export' instead of 'Export as' the plugin will be exported to the same directory as the .csd file you have open. If you choose 'Export as' it will place the plugin whenever you choose, along with the currently opened .csd file. Note VST's on Linux are .so files. And wherever you have a Cabbage .so, you should always have a corresponding .csd file.

Btw, you may want to check out the Cabbage forum, there are a few more Linux heads over there.

therealkitman commented 7 years ago

Ah excellent - they are saved as Linux NativeVSTs!!!!!!

However there is no "Export As" only "Export". But nothing got saved in the folder where the .csd file was opened from. I may wipe my git folder and start all over again tomorrow and start playing in earnest over the weekend :)

Thanks Rory.

rorywalsh commented 7 years ago

Ah, I couldn't remember if I removed the plain export. I recall now I did to stop any confusion about where the plugins ended up!