- 1 Compiling Fugio on Ubuntu Linux
- 2 Dependencies
- 3 Building Fugio
Compiling Fugio on Ubuntu Linux
This guide will take you through all the steps required to go from a clean Ubuntu install (based on 16.04) to a fully working compiled version of Fugio (based on 1.4.0)
You'll need to be connected to the internet, and be comfortable with basic terminal skills to be able to follow this guide.
Install Build Tools
We need to install the base level of tools for compiling software.
Open a Terminal window and type in:
sudo apt-get update sudo apt-get upgrade
These commands will make sure your system is up to date.
To make changes to your system you'll be prompted to enter your password
sudo apt-get install build-essential
This command installs any missing commands that we'll need.
Install Additional Tools
We'll also need to install the following tools:
sudo apt-get install git mesa-common-dev libglu1-mesa-dev
Install Qt 5
Fugio is based on Qt 5, which is a fantastic cross-platform system for creating C++ based software.
Download and install Qt 5 for Linux from:
Run the installer:
cd ~/Downloads/ chmod +x qt-unified-linux-x64-2.0.3-1-online.run ./qt-unified-linux-x64-2.0.3-1-online.run
Follow the installer through and choose the most recent stable version (5.7 as of writing). To reduce the install time, you can deselect the Android development options.
Download the Fugio source code
Decide where you want to compile Fugio, (here we're going to build it on the Desktop) and do the following:
cd ~/Desktop/ mkdir Fugio cd Fugio git clone --recursive -b develop https://github.com/bigfug/Fugio.git
Important: Note that you should now have two nested directories called Fugio:
So far we have installed everything required to compile the core of Fugio however we need to install additional libraries if we want to compile the various plugins.
Plugins are designed to compile with or without the required libraries installed, so you can choose which ones you want.
FFTW (Fastest Fourier Transform in the West) is used by Fugio for processing audio between time and frequency domains.
The main website is:
Install FFTW with:
sudo apt-get install fftw3-dev
Lua is a small and very fast scripting language that can be used to create your own nodes.
The main Lua website is at:
Install Lua with:
sudo apt-get install lua5.3 liblua5.3-dev
The PortAudio project provides a cross-platform C library for accessing the audio device of your computer.
Follow the installation guide here:
The PortMidi project provides a cross-platform C library for accessing MIDI devices of your computer.
sudo apt-get install libportmidi-dev
Dlib is a modern C++ toolkit containing machine learning algorithms and tools for creating complex software in C++ to solve real world problems.
sudo apt-get install libdlib-dev
OpenCV (Open Source Computer Vision Library) is an open source computer vision and machine learning software library.
sudo apt-get install libopencv-dev
sudo apt install cmake libv4l-dev git clone https://github.com/roxlu/video_capture cd video_capture/build
At this point I had to modify the CMakeLists.txt and include the line:
and then compile with:
You'll need the VST3SDK and make the following change:
aeffect.h line 70
#define VSTCALLBACK __cdecl
We can build Fugio visually, using Qt Creator, or via the command line
Building Fugio using Qt Creator
Qt Creator is a visual editor for creating Qt projects. If you want to use it to compile Fugio, it's a simple procedure:
- Run Qt Creator
- Open the ~/Desktop/Fugio/Fugio/Fugio.pro project
- Choose the default build options
- Build and run the project
Building Fugio by command line
If you'd rather build Fugio in your terminal, use the following steps:
cd ~/Desktop/Fugio mkdir build-release cd build-release ~/Qt/5.7/gcc_64/bin/qmake ../Fugio/Fugio.pro make
Fugio will be built into ~/Desktop/Fugio/build-release