From bigfug
(Redirected from Fugio/Compiling on Ubuntu)
Jump to: navigation, search

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:

https://www.qt.io/download-open-source/

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:

~/Desktop/Fugio/Fugio

Dependencies

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

FFTW (Fastest Fourier Transform in the West) is used by Fugio for processing audio between time and frequency domains.

The main website is:

http://www.fftw.org

Install FFTW with:

sudo apt-get install fftw3-dev

Lua

Lua is a small and very fast scripting language that can be used to create your own nodes.

The main Lua website is at:

http://www.lua.org

Install Lua with:

sudo apt-get install lua5.3 liblua5.3-dev

PortAudio

The PortAudio project provides a cross-platform C library for accessing the audio device of your computer.

Follow the installation guide here:

http://portaudio.com/docs/v19-doxydocs/compile_linux.html

PortMidi

The PortMidi project provides a cross-platform C library for accessing MIDI devices of your computer.

Install PortMidi:

 sudo apt-get install libportmidi-dev

dlib

Dlib is a modern C++ toolkit containing machine learning algorithms and tools for creating complex software in C++ to solve real world problems.

Install dlib:

 sudo apt-get install libdlib-dev

OpenCV

OpenCV (Open Source Computer Vision Library) is an open source computer vision and machine learning software library.

Install OpenCV:

 sudo apt-get install libopencv-dev

Video Capture

https://github.com/roxlu/video_capture

 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:

 set(CMAKE_POSITION_INDEPENDENT_CODE ON)

and then compile with:

 ./release_x86.sh 64

VST

You'll need the VST3SDK and make the following change:

aeffect.h line 70

#define VSTCALLBACK __cdecl

to

#define VSTCALLBACK

Building Fugio

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:

  1. Run Qt Creator
  2. Open the ~/Desktop/Fugio/Fugio/Fugio.pro project
  3. Choose the default build options
  4. 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