Like it!

Join us on Facebook!

Compiling from source

This chapter is about compiling the code inside the tar.gz you download from this site. If you are trying to compile the code downloaded/cloned from GitHub, take a look here.

Compiling Giada from source requires a C++11-compatible compiler. The configure script inside the package, designed for Unix systems and MinGW (Windows) will help you to guess correct values for various system-dependent variables used during compilation. You have to pass it the --target parameter depending on your operating system:

./configure --target=[linux | osx | windows]

e.g. if you want to compile for Linux, do:

./configure --target=linux

When the script is done without errors, do:

make

to compile everything. If you wish to install Giada on Linux, become root and type

make install

to copy the binary file into /usr/local/bin path.

Optionally, if you want to run the test suite, just do:

make check

All unit tests are based on Catch automated test framework, which supports several command-line options. Please take a look at the official documentation to understand the gritty details. The command above will just run the entire test suite.

Additional flags

--enable-debug — enable debug mode (mainly asserts). It is disabled by default;

--enable-system-catch — by default Giada includes Catch from the local source folder. Pass this flag to use the system provided one instead (useful in most Linux distributions);

Dependencies

Giada is based upon several external libraries, plus a custom version of RtAudio shipped with the source package. Our hacked RtAudio provides Jack Transport support on Linux, a feature that you wouldn't find in the vanilla release. At the present moment we suggest you to use the following versions:

  • FLTK — 1.3.[0 or greater];
  • Libsndfile — 1.0.28 or greater;
  • Libsamplerate — 0.1.9 or greater;
  • Jansson — 2.9 or greater;
  • RtMidi — 3.0.0 or greater.

How to enable VST support

In order to compile Giada with VST support you have to enable the feature via configure script. Add the following parameter:

--enable-vst

e.g. if you want to compile for Linux with VST support, do:

./configure --target=linux --enable-vst

Missing VST headers!

You won't find any VST header into our source package, since we cannot distribute the SDK from Steinberg. To solve this issue:

  1. go to the Steinberg third-party developer support site, login into the developer zone and download VST Audio Plugins SDK (latest version);
  2. create a new folder (if it does not exist yet) called vst inside giada-[version]-src/src/deps;
  3. extract all files from the VST SDK package, browse to pluginterfaces/ (a directory), grab it and put it inside the new vst folder;
  4. start compilation and cross your fingers (just kidding, everything will be alright).

Use the official Docker image for Giada

Instead of cluttering up your environment with dependencies, scripts and compilers you may try our Docker image, designed to ease the compilation and testing processes. Take a look at the GitHub repository to know more.