GithubHelp home page GithubHelp logo

rorywalsh / cabbage Goto Github PK

View Code? Open in Web Editor NEW
503.0 26.0 35.0 366.93 MB

Framework for developing audio plugins with the Csound programming language.

Home Page: http://cabbageaudio.com

License: GNU General Public License v3.0

C++ 95.11% C 1.07% Python 0.20% Shell 0.02% Makefile 0.07% Inno Setup 0.06% CMake 0.12% HTML 3.35%

cabbage's Introduction

Cabbage. A framework for developing audio plugins and standalone instruments using the Csound programming language.

Homepage


Building

Cabbage comprises of several different components. There is the main Cabbage IDE, as well as synth and effect plugin interface. Each component's build project is generated using CMake, which is in turned called by the build.py script which resides in the Cabbage root folder. In order to run the build script you will need to install requests. You will need access to the internet the first time you run this script as it will need to download and install various SDKs, as well as some additional auxiliary interfaces such as CabbageRack and CsoundFMOD.

By default, Cabbage will try building with Visual Studio 2019 on Windows, XCode on macOS, and GCC on Linux. You obviously need to have those compilers installed before attempting to build on your chosen platform.

To build the entire Cabbage framework (on any platform) run the following command from the root directory:

python build.py --config=Release

When run, the Python script will check for the relevant libraries and SDKs, and will download and install them if they are not found. If you just wish to simply generate the CMake build files for a project, and disable automatic building, use the following command:

python build.py --config=Debug --project=CabbagePluginSynth --build=False

This will generate the relevant build files in the build directory, but will not trigger a build to take place.

Note for Linux users

If you are on Linux you may need to install some additional dependencies. You can do so by setting the installLinuxDeps parameter to True. :

python build.py --config=Release --installLinuxDeps=True

You only have to do this once. You can drop the --installLinuxDeps=True from subsequent calls. Note that the CabbageRack interface that gets bundled with Cabbage when you run build.py was built on Ubuntu 18.04. If it does not work you will need to build it yourself. You can then drop the resulted CabbageRack folder into the CabbageInstall directory before installing.


Installing

If you successfully built Cabbage using the build.py script you will find platform installers in the Installers folder. Simply double click teh Windows or MacOS installers to install locally. If you are on Linux, cd to the Installers/Linux directory and run the following:

chmod +x installCabbage.sh ./installCabbage.sh

If you wish to uninstall Cabbage on Linux run the uninstallCabbage.sh script.


A full overview of the options provided by the build.py script are shown below:

usage: build.py [-h] [--config CONFIG] [--project PROJECT]
                [--packageType PACKAGETYPE] [--disable-feature]
                [--build BUILD] [--manufacturer MANUFACTURER]
                [--pluginDescription PLUGINDESCRIPTION]
                [--manufacturerCode MANUFACTURERCODE]
                [--installLinuxDeps INSTALLLINUXDEPS] [--license LICENSE]

optional arguments:
  -h, --help            show this help message and exit
  --config CONFIG       Debug/Release
  --project PROJECT     Cabbage, CabbagePluginEffect, CabagePluginSynth
  --packageType PACKAGETYPE
                        "Local", "Remote", "Minimal"
  --disable-feature
  --build BUILD         Set to "False" to disable building, in which case
                        CMake will just generate the respective project in the
                        build folder. You must specify a project if you
                        disable building.
  --manufacturer MANUFACTURER
                        "CabbageAudio"
  --pluginDescription PLUGINDESCRIPTION
                        "CabbagePlugin"
  --manufacturerCode MANUFACTURERCODE
                        A unique 4 character ID with an uppercase first
                        character, i.e, "Cabb"
  --installLinuxDeps INSTALLLINUXDEPS
                        Set to False, set to True if you wish to download the
                        following dependencies needed to build JUCE
                        applications on Linux - libfreetype6-dev libx11-dev
                        libstdc++6 libc++-dev libxinerama-dev libxrandr-dev
                        libxcursor-dev libxcomposite-dev mesa-common-dev
                        libasound2-dev freeglut3-dev libcurl4-gnutls-dev
                        libasound2-dev libsndfile1 libsndfile-dev libjack-dev
                        flex bison libwebkit2gtk-4.0-37 libwebkit2gtk-4.0-dev
  --license LICENSE     GPL by default

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.