Cabbage Logo
Back to Cabbage Site

Linux builds with LV2 and VST support

I have picked up cabaiste audio_graph branch 91262a5.

  1. It compiles with a hell of a lot less compiling messages. These were the only ones -

Compiling AudioGraph.cpp
…/…/Source/Application/CabbageToolbarFactory.cpp: In member function ‘juce::ToolbarButton* CabbageToolbarFactory::createButtonFromSVG(int, const juce::String&, juce::String, juce::String)’:
…/…/Source/Application/CabbageToolbarFactory.cpp:145:54: warning: ‘void juce::Button::setToggleState(bool, bool)’ is deprecated (declared at …/…/JuceLibraryCode/modules/juce_gui_basics/buttons/juce_Button.h:350) [-Wdeprecated-declarations]
togglePlayButton->setToggleState (true, false);
^
Compiling CabbagePluginEditor.cpp
.
.
.
Compiling ComponentOverlay.cpp
…/…/Source/CodeEditor/CabbageCodeEditor.cpp: In member function ‘void CabbageCodeEditorComponent::parseTextForVariables()’:
…/…/Source/CodeEditor/CabbageCodeEditor.cpp:641:32: warning: unknown escape sequence: ‘\040’ [enabled by default]
tokens.addTokens (csdText, " \n( ) ` ~ ! @ # $ % ^ & * - + = | \ { } [ ] : ; ’ < > , . ? /\t", “”);
^
Compiling CabbageGenericPluginLookAndFeel.cpp

  1. The Examples folder was not copied to Cabbage/Examples folder as per the buildCabbage script. There is an Examples folder but that is in the git root folder. I cannot edit the Cabbage Settings>Miscellaneous>Directories settings - the ellipses next to the folders do nothing when clicked and I cannot type directly in the field.

  2. If I try to open a CSound file (Ctrl+O) or Cabbage Patch(Ctrl+Alt+O) from the main File menu no dialogues open up.

  3. I opened Cabbage Patcher (the new Studio?) but now that dialogue won’t close.

  4. The toolbar navigation seems ‘flakey’ - have to click items twice. Ah Patcher dialogue now closed but toolbar is non-responsive.

Any new undocumented dependencies? Any particular versions of dependencies required? Testing stopped.

One moment - I just saw in buildCabbage file the copy command for the Examples folder has been rem’d out. I have manually copied Examples folder to LunuxMakeFile/CabbageBuild.

I opened the TR808 synth (it plays) but it’s interface is missing widgets? See attached.

The “Edit Plugin GUI” option does not work either.

“Export as Plugin Synth” for the TR808 does nothing.

Darn it, that’s because of some typos in that file. Try pulling again from the audio_branch repo. I updated that file just now.

Just did, but no point until the other issues are addressed? But the widgets for the other 15 channels ar eback.

chris@linux-4j2s:~/Downloads/git/cabaiste_audio_graph> git pull
remote: Counting objects: 18, done.
remote: Compressing objects: 100% (18/18), done.
remote: Total 18 (delta 9), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (18/18), done.
From https://github.com/rorywalsh/cabaiste
9ebcb82…9f3028b audio_graph -> origin/audio_graph
f306a40…30c1c58 master -> origin/master
Updating 9ebcb82…9f3028b
Fast-forward
Examples/Instruments/Drum Machines/TR-808.csd | 68 ++++++++++++±-------------
1 file changed, 34 insertions(+), 34 deletions(-)
chris@linux-4j2s:~/Downloads/git/cabaiste_audio_graph>

Thanks. I’ll take a look at a little later. With regards to your desktop environment, the only area where the desktop environment can have an impact is with the file browser windows. Maybe that’s the issue. When you hit export you don’t get a file browser window asking you where to save the exported file?

That’s correct - when I click “Export as Plugin Synth” nothing happens in my LXDE environment. I will flick over to my KDE Plasma desktop tomorrow and see what happens (and if needs be create an Ubuntu Virtualbox VM for double checking).

But if LXDE if the culprit what happens from here?

Damn it!!! I had to test it before I went to sleep :wink:

My KDE Plasma and Cabbage works fine. The menus and the export etc work fine (at least the dialogues appear now).

So LXDE can’t support Cabbage or are there options/workarounds?

It looks like LXDE has problems with how JUCE manages the native file browsers. To resolve this issue in the past I add a build-time flag to force JUCE to use its own file dialogue browsers. I can try this again and see if it helps. The only problem with this solution is you have to use different file browsers than those supported by your distro. It makes using them a little bit of a pain. But it it works, it works. I’l let you know when I have them implemented.

Ok, I’ve added a preprocessor directive to let you set whether to use native or non-native file browsers. Simple comment out this line and rebuild if you want to test the JUCE file browsers:

https://github.com/rorywalsh/cabaiste/blob/audio_graph/JuceLibraryCode/AppConfig.h#L21

hm, I did this

//#define Use_Native_File_Browser 1

and rebuilt. Under my LXDE using the TR-808 as a test I could now use “Export as Plugin Synth” as tr808.csd and tr808.so . I copied these two files to my .vst folder.

  1. Carla has issues -

carla-discovery::error::Plugin doesn’t have an Unique ID - /home/chris/.vst/tr808.so

  1. Muse plays the tr808.so without issues. Is the carla issue above an issue for FalkTX or a vst format issue that Muse tolerates?
  2. The ellipses in the “Directories” setup are still not functioning so I had to copy the Examples folder manually to CabbageBuild folder.

I will do some more heavier testing over the weekend.

I don’t think we need to bother falltx just yet. I’ll take a look myself and see if I can figure out a solution. It’s far more likely to be my fault than his! I’ve always found his tools and applications to be really well implemented. Good to know that you can at least use the JUCE browsers now. I’ll also check out the issues you reported about not being able to set the examples directory. Thanks for the feedback.

Btw, you could try changing the plugin ID in the TR808 .csd file to something else, and then reexport it. Perhaps it is conflicting with another plugin ID?

Hi, I edited TR-808’s PluginID from ‘T808’ to ‘chrisTR808’ as re-exported directly to my ~/.vst folder

  1. The .so file was updated but not the .csd (still had the old PluginID). I deleted all tr808 related files in ~/.vst and re-exported and both .csd and .so files were copied.
  2. I exported Whitenoise too to ~/.vst.
  3. carla still has issues registering them.

carla-discovery::error::Plugin doesn’t have an Unique ID - /home/chris/.vst/tr808.so
virtual_keyboard real time MIDI plugin for Csound
0dBFS level = 32768.0
–Csound version 6.09 (double samples) Feb 22 2017
[commit: b3553af5355638beb63bffbf103940e9d41dcdfe]
libsndfile-1.0.25-exp
carla-discovery::error::Plugin doesn’t have an Unique ID - /home/chris/.vst/whitenoise.so

CAn you try removing all plugins from your VST folder and then exporting the whitenoise example and see if it works. At least it will rule out a conflict with another VST with the same ID.

Done. All vst folders backed up then emptied. Exported whitenoise to my only vst folder ~/.vst. Problem persists.

carla-discovery::error::Plugin doesn’t have an Unique ID - /home/chris/.vst/WhiteNoise.so

Thanks Chris. I’ll add it to the list…