view INSTALL.txt @ 2141:c3c648a6e711 sv_v3.2pre2

Minor line-number changes
author Chris Cannam
date Sun, 02 Dec 2018 16:04:39 +0000
parents ac587ccb08bd
children d0f2b80ec564
line wrap: on
line source

To compile Sonic Visualiser from source
=======================================

Windows
-------

Use the Qt Creator IDE with either the MinGW compiler (for 32-bit
builds) or Visual C++ (for 64-bit builds).

For details, see the wiki page at

https://code.soundsoftware.ac.uk/projects/sonic-visualiser/wiki/WindowsBuild30


MacOS
-----

Build from the command line, but don't use the configure script.
Instead install Qt v5.x and run

$ ./repoint install
$ qmake -r  # you may need to use the full path to your Qt qmake here
$ make


Linux
-----

$ ./configure && make && make install

The following additional libraries are required or optional:

REQUIRED        Qt v5                   http://qt-project.org/
REQUIRED        Vamp Plugin SDK v2.x    http://www.vamp-plugins.org/
REQUIRED        Rubber Band Library     http://www.breakfastquay.com/rubberband/
REQUIRED        libsndfile              http://www.mega-nerd.com/libsndfile/
REQUIRED        libsamplerate           http://www.mega-nerd.com/SRC/
REQUIRED        FFTW3                   http://www.fftw.org/
REQUIRED        bzip2 library           http://www.bzip.org/
REQUIRED        Sord and Serd libraries http://drobilla.net/software/
REQUIRED        Cap'n Proto             http://capnproto.org/

Optional        MAD mp3 decoder         http://www.underbit.com/products/mad/
Optional        Oggz and fishsound      http://xiph.org/oggz/
Optional        liblo OSC library       http://www.plugin.org.uk/liblo/
Optional        JACK                    http://www.jackaudio.org/
Optional        PortAudio v19           http://www.portaudio.com/
Optional        PulseAudio              http://www.pulseaudio.org/

Although JACK, PortAudio, and PulseAudio are individually optional,
you will need to have at least one of them in order to get any audio
playback.  Usually JACK is preferred on Linux, with PulseAudio as a
backup, and PortAudio is used elsewhere.

On Linux, you will need the ALSA libraries (used for MIDI).

For Cap'n Proto, currently you will need the v0.6 release which (if
not available as a package) can be obtained from the releases page on
Github. To build it, you might do something like

$ curl -L -o capnproto-v0.6.0.tar.gz https://github.com/sandstorm-io/capnproto/archive/v0.6.0.tar.gz
$ tar xf capnproto-v0.6.0.tar.gz
$ cd capnproto-0.6.0/c++
$ autoreconf -i 
$ ./configure --enable-static --disable-shared
$ make && make install

For the rest, if you happen to be using a Debian-based Linux, you
probably want to apt install something like the following packages:

build-essential libbz2-dev libfftw3-dev libfishsound1-dev
libid3tag0-dev liblo-dev liblrdf0-dev libmad0-dev liboggz2-dev
libpulse-dev libsamplerate-dev libsndfile-dev libsord-dev
libxml2-utils portaudio19-dev qt5-default libqt5svg5-dev raptor-utils
librubberband-dev git mercurial autoconf automake libtool mlton

If you are building from a clone of the Sonic Visualiser developer
repository, rather than from an official source code release package,
then the configure script will use Repoint to obtain further checkouts
of various modules. You will need to have a SML compiler installed for
this to work, such as SML/NJ, MLton, or Poly/ML - hence the presence
of mlton in the Debian package list above. This is not necessary when
building from an official Sonic Visualiser source release.