# Building cabbage VSTs for BitWig Studio

**URL:** <https://forum.cabbageaudio.com/t/building-cabbage-vsts-for-bitwig-studio/902>\
**Category:** Cabbage Stew\
**Created:** [21 January 2018 02:11 UTC](https://forum.cabbageaudio.com/t/building-cabbage-vsts-for-bitwig-studio/902 "2018-01-21T02:11:24Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![shreeswifty](https://forum.cabbageaudio.com/user_avatar/forum.cabbageaudio.com/shreeswifty/32/1375_2.png) [@shreeswifty](https://forum.cabbageaudio.com/u/shreeswifty)\
**Post date:** [21 January 2018 02:11 UTC](https://forum.cabbageaudio.com/t/building-cabbage-vsts-for-bitwig-studio/902/1 "2018-01-21T02:11:24Z")

</div>

hello

i have jumped ship and installed Bitwig and have been using it VERY sucessfully on Ubuntu64.  
I found several cabbage vsts and i would like to know if there is a how-to or a tutorial to follow to make my own?

Thank you for Cabbage it’s really great

Patrick

---

<div class="post-metadata">

**Author:** ![Karamel1](https://forum.cabbageaudio.com/user_avatar/forum.cabbageaudio.com/karamel1/32/1680_2.png) [@Karamel1](https://forum.cabbageaudio.com/u/Karamel1)\
**Post date:** [21 January 2018 08:47 UTC](https://forum.cabbageaudio.com/t/building-cabbage-vsts-for-bitwig-studio/902/2 "2018-01-21T08:47:37Z")

</div>

Hello,

If you want to export your instrument as a VST, it is no more difficult that going to"File --\> Export as plugin Synth" or “Export as plugin Effect”, depending on what your instrument is doing (either a synth, responding to midi or an effect treating an audio signal).

If you want to learn Csound for creating synth, there is the FLOSS manual which is really well written to teach you the basics of audio with Csound and explain how a lot of opcodes work.  
You can also have a look at all Cabaage example, look at Iain Mc Curdy Csound example and browse this forum to find quite of a few Csound/Cabbage synth that you can simply export as VST.  
Hope this helps

---

<div class="post-metadata">

**Author:** ![shreeswifty](https://forum.cabbageaudio.com/user_avatar/forum.cabbageaudio.com/shreeswifty/32/1375_2.png) [@shreeswifty](https://forum.cabbageaudio.com/u/shreeswifty)\
**Post date:** [21 January 2018 12:29 UTC](https://forum.cabbageaudio.com/t/building-cabbage-vsts-for-bitwig-studio/902/3 "2018-01-21T12:29:41Z")

</div>

hi and thank you kindly for the response. I have been using Csound since right around 1995. I learned from Dr. James Paul Sain at the FEMS[Florida Electro-acoustic Music Studio] in the mid to late 1990s. I spent quite a bit of time then when the big GUI to work with was the fltk widget set and have kept and maintained a set of csound benchmarks i love/use for about 20 years now. I was joking with Oyvind Brandestagg that i have be "bothering him for 17 years’ because back then he released what i felt/feel was the best csound tool i had encountered [until Cabbage] “Improsculpt” what i want to do with Cabbage --if it’s not already been done is make a GendySynth for use in Bitwig Studio, playable note-wise via midi of course and perhaps change breakpoints via CC.

Thank you so much for your reply and i am sure i’ll have questions as i go FW

Thanks!

pp

---

<div class="post-metadata">

**Author:** ![rorywalsh](https://forum.cabbageaudio.com/user_avatar/forum.cabbageaudio.com/rorywalsh/32/165_2.png) [@rorywalsh](https://forum.cabbageaudio.com/u/rorywalsh)\
**Post date:** [21 January 2018 19:11 UTC](https://forum.cabbageaudio.com/t/building-cabbage-vsts-for-bitwig-studio/902/4 "2018-01-21T19:11:19Z")

</div>

This all sounds very achievable with Cabbage. We should ask Oeyvind to update and publish Improsculpt as a Cabbage instrument. That would be cool.

---

<div class="post-metadata">

**Author:** ![shreeswifty](https://forum.cabbageaudio.com/user_avatar/forum.cabbageaudio.com/shreeswifty/32/1375_2.png) [@shreeswifty](https://forum.cabbageaudio.com/u/shreeswifty)\
**Post date:** [21 January 2018 19:25 UTC](https://forum.cabbageaudio.com/t/building-cabbage-vsts-for-bitwig-studio/902/5 "2018-01-21T19:25:01Z")

</div>

i asked him and he said he was into csound CLI these days 🙂  
I would love improsculpt in cabbage man…that would be Awesome

i want to build the GendySynth in/on linux for BitWig

Do you think i can do that with version 1 properly?

---

<div class="post-metadata">

**Author:** ![rorywalsh](https://forum.cabbageaudio.com/user_avatar/forum.cabbageaudio.com/rorywalsh/32/165_2.png) [@rorywalsh](https://forum.cabbageaudio.com/u/rorywalsh)\
**Post date:** [21 January 2018 19:32 UTC](https://forum.cabbageaudio.com/t/building-cabbage-vsts-for-bitwig-studio/902/6 "2018-01-21T19:32:47Z")

</div>

I know his latest research makes extensive use of Cabbage, but I’m not sure we’ll ever see a Cabbage Improsculpt. I’m not sure what a GendySynth is but I’m sure you can make it with Cabbage 😉 You can proceed with version 1, but I’m not sure why you would want to. Version 2 is much improved, especially with it comes to the GUI designer.

---

<div class="post-metadata">

**Author:** ![shreeswifty](https://forum.cabbageaudio.com/user_avatar/forum.cabbageaudio.com/shreeswifty/32/1375_2.png) [@shreeswifty](https://forum.cabbageaudio.com/u/shreeswifty)\
**Post date:** [21 January 2018 21:13 UTC](https://forum.cabbageaudio.com/t/building-cabbage-vsts-for-bitwig-studio/902/7 "2018-01-21T21:13:27Z")

</div>

can you point me to a spot i don;t wanna break version 1

---

<div class="post-metadata">

**Author:** ![shreeswifty](https://forum.cabbageaudio.com/user_avatar/forum.cabbageaudio.com/shreeswifty/32/1375_2.png) [@shreeswifty](https://forum.cabbageaudio.com/u/shreeswifty)\
**Post date:** [21 January 2018 21:16 UTC](https://forum.cabbageaudio.com/t/building-cabbage-vsts-for-bitwig-studio/902/8 "2018-01-21T21:16:28Z")

</div>

i mean the proper sources to build version 2, sorry i was not clear

---

<div class="post-metadata">

**Author:** ![rorywalsh](https://forum.cabbageaudio.com/user_avatar/forum.cabbageaudio.com/rorywalsh/32/165_2.png) [@rorywalsh](https://forum.cabbageaudio.com/u/rorywalsh)\
**Post date:** [21 January 2018 22:32 UTC](https://forum.cabbageaudio.com/t/building-cabbage-vsts-for-bitwig-studio/902/9 "2018-01-21T22:32:11Z")

</div>

[Here](https://github.com/rorywalsh/cabbage). Build instructions [here](https://github.com/rorywalsh/cabbage/tree/master/Builds/LinuxMakefile). Let me know how far you get. You can’t break the older version, unless you clone into the same folder. Best not to do that!

---

<div class="post-metadata">

**Author:** ![shreeswifty](https://forum.cabbageaudio.com/user_avatar/forum.cabbageaudio.com/shreeswifty/32/1375_2.png) [@shreeswifty](https://forum.cabbageaudio.com/u/shreeswifty)\
**Post date:** [22 January 2018 00:28 UTC](https://forum.cabbageaudio.com/t/building-cabbage-vsts-for-bitwig-studio/902/10 "2018-01-22T00:28:52Z")

</div>

ok so this is what happened i place the Juce file in the wrong place so the ./buildCabbage script could not find it

# shree@shree-linux:~/cabbage/Builds/LinuxMakefile$ ./buildCabbage

# ======== Build Script for Cabbage =========

This scripts assumes that Csound is installed in the default location, i.e, includes files  
should be located in /user/local/include/csound while the Csound library itself should be  
located in /user/local/lib It is also assumed that the VST SDK is located in ~/SDKs/

./buildCabbage: line 14: [: ==: unary operator expected  
./buildCabbage: line 30: ../../../JUCE/extras/Projucer/Builds/LinuxMakefile/build/Projucer: No such file or directory  
mv: cannot stat ‘Makefile’: No such file or directory  
Cleaning Cabbage  
Compiling FileTab.cpp  
Compiling CabbageMainComponent.cpp  
Compiling CabbageDocumentWindow.cpp  
Compiling CabbageGraphComponent.cpp  
Compiling CabbagePluginComponent.cpp  
Compiling CabbageToolbarFactory.cpp  
../../Source/Application/CabbageToolbarFactory.cpp: In member function ‘juce::ToolbarButton\* CabbageToolbarFactory::createToggleButtonFromPNG(int, const juce::String&, const void\*, size\_t, const void\*, size\_t)’:  
../../Source/Application/CabbageToolbarFactory.cpp:150:50: warning: ‘void juce::Button::setToggleState(bool, bool)’ is deprecated [-Wdeprecated-declarations]  
togglePlayButton-\>setToggleState (true, false);  
^  
In file included from ../../JuceLibraryCode/modules/juce\_core/system/juce\_StandardHeader.h:56:0,  
from ../../JuceLibraryCode/modules/juce\_core/juce\_core.h:174,  
from ../../JuceLibraryCode/modules/juce\_audio\_basics/juce\_audio\_basics.h:52,  
from ../../Source/Application/../../JuceLibraryCode/JuceHeader.h:17,  
from ../../Source/Application/../CabbageIds.h:23,  
from ../../Source/Application/CabbageToolbarFactory.h:20,  
from ../../Source/Application/CabbageToolbarFactory.cpp:20:  
../../JuceLibraryCode/modules/juce\_gui\_basics/buttons/juce\_Button.h:356:27: note: declared here  
JUCE\_DEPRECATED (void setToggleState (bool, bool));  
^  
../../JuceLibraryCode/modules/juce\_core/system/juce\_PlatformDefs.h:266:57: note: in definition of macro ‘JUCE\_DEPRECATED’  
#define JUCE\_DEPRECATED(functionDef) functionDef \_\_attribute  
^  
../../Source/Application/CabbageToolbarFactory.cpp: In member function ‘juce::ToolbarButton\* CabbageToolbarFactory::createButtonFromSVG(int, const juce::String&, juce::String, juce::String)’:  
../../Source/Application/CabbageToolbarFactory.cpp:183:54: warning: ‘void juce::Button::setToggleState(bool, bool)’ is deprecated [-Wdeprecated-declarations]  
togglePlayButton-\>setToggleState (true, false);  
^  
In file included from ../../JuceLibraryCode/modules/juce\_core/system/juce\_StandardHeader.h:56:0,  
from ../../JuceLibraryCode/modules/juce\_core/juce\_core.h:174,  
from ../../JuceLibraryCode/modules/juce\_audio\_basics/juce\_audio\_basics.h:52,  
from ../../Source/Application/../../JuceLibraryCode/JuceHeader.h:17,  
from ../../Source/Application/../CabbageIds.h:23,  
from ../../Source/Application/CabbageToolbarFactory.h:20,  
from ../../Source/Application/CabbageToolbarFactory.cpp:20:  
../../JuceLibraryCode/modules/juce\_gui\_basics/buttons/juce\_Button.h:356:27: note: declared here  
JUCE\_DEPRECATED (void setToggleState (bool, bool));  
^  
../../JuceLibraryCode/modules/juce\_core/system/juce\_PlatformDefs.h:266:57: note: in definition of macro ‘JUCE\_DEPRECATED’  
#define JUCE\_DEPRECATED(functionDef) functionDef \_\_attribute  
^  
Compiling AudioGraph.cpp  
Compiling CabbagePluginEditor.cpp  
Compiling CabbagePluginProcessor.cpp  
Compiling CsoundPluginEditor.cpp  
Compiling CsoundPluginProcessor.cpp  
Compiling GenericCabbageEditor.cpp  
Compiling GenericCabbagePluginProcessor.cpp  
Compiling CabbageBinaryData.cpp  
Compiling CabbageCodeEditor.cpp  
Compiling CabbageEditorContainer.cpp  
Compiling CabbagePropertiesPanel.cpp  
Compiling ComponentLayoutEditor.cpp  
Compiling ComponentOverlay.cpp  
Compiling CabbageGenericPluginLookAndFeel.cpp  
Compiling CabbageIDELookAndFeel.cpp  
Compiling CabbageLookAndFeel2.cpp  
Compiling CabbageSettings.cpp  
Compiling CabbageSettingsWindow.cpp  
Compiling CabbageColourProperty.cpp  
Compiling CabbageNewProjectWindow.cpp  
Compiling CabbageSSHFileBrowser.cpp  
Compiling Soundfiler.cpp  
Compiling TableManager.cpp  
Compiling CabbageButton.cpp  
Compiling CabbageCheckbox.cpp  
Compiling CabbageComboBox.cpp  
Compiling CabbageCsoundConsole.cpp  
Compiling CabbageCustomWidgets.cpp  
Compiling CabbageEncoder.cpp  
Compiling CabbageFileButton.cpp  
Compiling CabbageGenTable.cpp  
Compiling CabbageGroupBox.cpp  
Compiling CabbageImage.cpp  
Compiling CabbageInfoButton.cpp  
Compiling CabbageKeyboard.cpp  
make: \*\*\* No rule to make target ‘../../Source/Widgets/CabbageNumberBox.cpp’, needed by ‘build/intermediate/Release/CabbageNumberBox\_d8ec912a.o’. Stop.  
make: \*\*\* Waiting for unfinished jobs…  
Compiling CabbageLabel.cpp  
cp: cannot stat ‘./build/Cabbage’: No such file or directory  
./buildCabbage: line 36: ../../../JUCE/extras/Projucer/Builds/LinuxMakefile/build/Projucer: No such file or directory  
mv: cannot stat ‘Makefile’: No such file or directory  
Cleaning CabbagePluginEffect  
make: \*\*\* No rule to make target ‘../../JuceLibraryCode/include\_juce\_audio\_plugin\_client\_VST2.cpp’, needed by ‘build/intermediate/Release/include\_juce\_audio\_plugin\_client\_VST2\_dd551e08.o’. Stop.  
make: \*\*\* Waiting for unfinished jobs…  
cp: cannot stat ‘./build/CabbagePlugin.so’: No such file or directory  
./buildCabbage: line 43: ../../../JUCE/extras/Projucer/Builds/LinuxMakefile/build/Projucer: No such file or directory  
mv: cannot stat ‘Makefile’: No such file or directory  
Cleaning CabbagePluginSynth  
make: \*\*\* No rule to make target ‘../../JuceLibraryCode/include\_juce\_audio\_plugin\_client\_VST2.cpp’, needed by ‘build/intermediate/Release/include\_juce\_audio\_plugin\_client\_VST2\_dd551e08.o’. Stop.  
make: \*\*\* Waiting for unfinished jobs…  
cp: cannot stat ‘./build/CabbagePlugin.so’: No such file or directory  
./buildCabbage: line 50: ../../../JUCE/extras/Projucer/Builds/LinuxMakefile/build/Projucer: No such file or directory  
mv: cannot stat ‘Makefile’: No such file or directory  
make: MakeCabbageLite: No such file or directory  
make: \*\*\* No rule to make target ‘MakeCabbageLite’. Stop.  
make: MakeCabbageLite: No such file or directory  
make: \*\*\* No rule to make target ‘MakeCabbageLite’. Stop.  
cp: cannot stat ‘./build/CabbageLite’: No such file or directory  
/tmp/ccTo7NTn.o: In function `Csound::CompileCsdText(char const*)': testCsoundFile.cpp:(.text._ZN6Csound14CompileCsdTextEPKc[_ZN6Csound14CompileCsdTextEPKc]+0x23): undefined reference to `csoundCompileCsdText’  
/tmp/ccTo7NTn.o: In function `Csound::GetInputName()': testCsoundFile.cpp:(.text._ZN6Csound12GetInputNameEv[_ZN6Csound12GetInputNameEv]+0x18): undefined reference to `csoundGetInputName’  
collect2: error: ld returned 1 exit status

But then YES indeed the Cabbage version i have installed no longer runs and requires that i run the .buildCabbage Script from THAT file again before it will launch. I am not crazy.  
I’m not sure what the issue is but it is now the second time this has occurred 🙂

---

<div class="post-metadata">

**Author:** ![shreeswifty](https://forum.cabbageaudio.com/user_avatar/forum.cabbageaudio.com/shreeswifty/32/1375_2.png) [@shreeswifty](https://forum.cabbageaudio.com/u/shreeswifty)\
**Post date:** [22 January 2018 00:31 UTC](https://forum.cabbageaudio.com/t/building-cabbage-vsts-for-bitwig-studio/902/11 "2018-01-22T00:31:16Z")

</div>

maybe it breaks the cabbagehost link?  
guessing sorry

---

<div class="post-metadata">

**Author:** ![shreeswifty](https://forum.cabbageaudio.com/user_avatar/forum.cabbageaudio.com/shreeswifty/32/1375_2.png) [@shreeswifty](https://forum.cabbageaudio.com/u/shreeswifty)\
**Post date:** [22 January 2018 00:44 UTC](https://forum.cabbageaudio.com/t/building-cabbage-vsts-for-bitwig-studio/902/12 "2018-01-22T00:44:39Z")

</div>

so after i build the projucer  
it i assume stay where it is becaus there is no install for it unless i am too much of a novice with JUCE

currently i have JUCE in my home directory with the SDKs and the cabbage sources  
should it be anywhere else by chance?

Sorry for so many questions

---

<div class="post-metadata">

**Author:** ![shreeswifty](https://forum.cabbageaudio.com/user_avatar/forum.cabbageaudio.com/shreeswifty/32/1375_2.png) [@shreeswifty](https://forum.cabbageaudio.com/u/shreeswifty)\
**Post date:** [22 January 2018 06:15 UTC](https://forum.cabbageaudio.com/t/building-cabbage-vsts-for-bitwig-studio/902/13 "2018-01-22T06:15:55Z")

</div>

okay well after building the projucer  
it compiles for a while but stops at

Linking CabbageLite - App  
/tmp/cc82h2bb.o: In function `Csound::CompileCsdText(char const*)': testCsoundFile.cpp:(.text._ZN6Csound14CompileCsdTextEPKc[_ZN6Csound14CompileCsdTextEPKc]+0x23): undefined reference to`csoundCompileCsdText’  
/tmp/cc82h2bb.o: In function `Csound::GetInputName()': testCsoundFile.cpp:(.text._ZN6Csound12GetInputNameEv[_ZN6Csound12GetInputNameEv]+0x18): undefined reference to`csoundGetInputName’  
collect2: error: ld returned 1 exit status

---

<div class="post-metadata">

**Author:** ![rorywalsh](https://forum.cabbageaudio.com/user_avatar/forum.cabbageaudio.com/rorywalsh/32/165_2.png) [@rorywalsh](https://forum.cabbageaudio.com/u/rorywalsh)\
**Post date:** [22 January 2018 10:21 UTC](https://forum.cabbageaudio.com/t/building-cabbage-vsts-for-bitwig-studio/902/14 "2018-01-22T10:21:35Z")

</div>

You need to update your version of Csound. The handiest thing would be to build yourself from source. What version do you currently have installed? Alternatively, you can comment out this line:

> <https://github.com/rorywalsh/cabbage/blob/master/Builds/LinuxMakefile/buildCabbage#L63>

Btw, it should have built everything regardless of that last error. Look in the build directory, you should have a few binaries there.

---

<div class="post-metadata">

**Author:** ![shreeswifty](https://forum.cabbageaudio.com/user_avatar/forum.cabbageaudio.com/shreeswifty/32/1375_2.png) [@shreeswifty](https://forum.cabbageaudio.com/u/shreeswifty)\
**Post date:** [22 January 2018 12:42 UTC](https://forum.cabbageaudio.com/t/building-cabbage-vsts-for-bitwig-studio/902/15 "2018-01-22T12:42:02Z")

</div>

–Csound version 6.10.1 (double samples) Jan 8 2018  
[commit: 5a28597cf07076779e533a96ad5ccb7ad0ded6f9]

---

<div class="post-metadata">

**Author:** ![shreeswifty](https://forum.cabbageaudio.com/user_avatar/forum.cabbageaudio.com/shreeswifty/32/1375_2.png) [@shreeswifty](https://forum.cabbageaudio.com/u/shreeswifty)\
**Post date:** [22 January 2018 12:42 UTC](https://forum.cabbageaudio.com/t/building-cabbage-vsts-for-bitwig-studio/902/16 "2018-01-22T12:42:29Z")

</div>

what version is needed?

---

<div class="post-metadata">

**Author:** ![shreeswifty](https://forum.cabbageaudio.com/user_avatar/forum.cabbageaudio.com/shreeswifty/32/1375_2.png) [@shreeswifty](https://forum.cabbageaudio.com/u/shreeswifty)\
**Post date:** [22 January 2018 12:52 UTC](https://forum.cabbageaudio.com/t/building-cabbage-vsts-for-bitwig-studio/902/17 "2018-01-22T12:52:04Z")

</div>

i think that with 6,10,1 i am at the latest no?

---

<div class="post-metadata">

**Author:** ![shreeswifty](https://forum.cabbageaudio.com/user_avatar/forum.cabbageaudio.com/shreeswifty/32/1375_2.png) [@shreeswifty](https://forum.cabbageaudio.com/u/shreeswifty)\
**Post date:** [22 January 2018 12:56 UTC](https://forum.cabbageaudio.com/t/building-cabbage-vsts-for-bitwig-studio/902/18 "2018-01-22T12:56:36Z")

</div>

the issue i am seeing that is in the Cabbage app now there is no way for me [in the application] to increase the audio buffer size in the Cabbage Settings i assume i can change it in orchestra

---

<div class="post-metadata">

**Author:** ![rorywalsh](https://forum.cabbageaudio.com/user_avatar/forum.cabbageaudio.com/rorywalsh/32/165_2.png) [@rorywalsh](https://forum.cabbageaudio.com/u/rorywalsh)\
**Post date:** [22 January 2018 14:29 UTC](https://forum.cabbageaudio.com/t/building-cabbage-vsts-for-bitwig-studio/902/19 "2018-01-22T14:29:03Z")

</div>

Are you using Jack? If not then you should be able to select the audio buffer sizes(see screen below).

 ![](https://forum.cabbageaudio.com/uploads/default/original/1X/1a7f6f471cef3b402ada5bc46e663b8ae40e6024.png)

If you’re not using Jack, then I recommend you do, in real time mode as you’ll get much better latency, but you’ll need to set the buffer size in Jack rather than Cabbage.

> [@shreeswifty](#):
>
> i assume i can change it in orchestra

I’m afraid not. Only ksmps can be changed in the orc, but I recommend you keep this to 32 or 64 for best results. Are you experiencing problems with audio dropouts?

> [@shreeswifty](#):
>
> i think that with 6,10,1 i am at the latest no?

That’s right. I’m not sure why that error is popping up then. I will take a look.

---

<div class="post-metadata">

**Author:** ![shreeswifty](https://forum.cabbageaudio.com/user_avatar/forum.cabbageaudio.com/shreeswifty/32/1375_2.png) [@shreeswifty](https://forum.cabbageaudio.com/u/shreeswifty)\
**Post date:** [22 January 2018 14:50 UTC](https://forum.cabbageaudio.com/t/building-cabbage-vsts-for-bitwig-studio/902/20 "2018-01-22T14:50:55Z")

</div>

yes i am using Jack  
it may because of other settings but i am locked in at 48 and 512 i cannot select anything else

[Next page](https://forum.cabbageaudio.com/t/building-cabbage-vsts-for-bitwig-studio/902.md?page=2)
