annotate INSTALL.txt @ 2594:2de306979a2a sv_v4.2

Minor updates to debug and other wording for 4.2; fix failure to show plugin population warning dialog
author Chris Cannam
date Fri, 14 Aug 2020 10:48:29 +0100
parents 27de601a2729
children
rev   line source
Chris@350 1
Chris@2160 2 How to compile Sonic Visualiser from source
Chris@2160 3 ===========================================
Chris@2160 4
Chris@2594 5 (NOTE: Refer also to .travis.yml and .appveyor.yml to how the
Chris@2594 6 continuous-integration processes run a build)
Chris@2160 7
Chris@2594 8 On Windows and Mac it is perhaps easier to build from a checkout of
Chris@2425 9 the Mercurial repository (be sure to update to the appropriate tag if
Chris@2425 10 you need a specific release) than it is to build from an official
Chris@2425 11 Sonic Visualiser source release package. This is because the
Chris@2425 12 repository checkout pulls in some required library builds, while the
Chris@2425 13 source package contains only Sonic Visualiser code.
Chris@2425 14
Chris@2594 15 On Linux it is simpler to build from a source package.
Chris@2594 16
Chris@350 17
Chris@1671 18 Windows
Chris@1671 19 -------
Chris@350 20
Chris@1671 21 Use the Qt Creator IDE with either the MinGW compiler (for 32-bit
Chris@1671 22 builds) or Visual C++ (for 64-bit builds).
Chris@350 23
Chris@1671 24 For details, see the wiki page at
Chris@1671 25
Chris@1671 26 https://code.soundsoftware.ac.uk/projects/sonic-visualiser/wiki/WindowsBuild30
Chris@1671 27
Chris@1671 28
Chris@1671 29 MacOS
Chris@1671 30 -----
Chris@1671 31
Chris@2160 32 Build from the command line, but do not use the configure script.
cannam@1725 33
Chris@2160 34 Install Qt5, either via Homebrew or from the official installer.
Chris@2160 35
Chris@2425 36 * If you are building from a repository checkout, install Poly/ML via
Chris@2425 37 Homebrew (`brew install polyml`) and run `./repoint install` before
Chris@2425 38 proceeding. This isn't necessary when building from an official source
Chris@2425 39 release.
Chris@2425 40
Chris@2426 41 * If you are building from an official source release, make sure the
Chris@2426 42 following required dependencies are available, whether installed using
Chris@2426 43 Homebrew or some other method: (This isn't necessary when building
Chris@2426 44 from a repository checkout)
Chris@2426 45
Chris@2426 46 REQUIRED Rubber Band Library http://www.breakfastquay.com/rubberband/
Chris@2426 47 REQUIRED libsndfile http://www.mega-nerd.com/libsndfile/
Chris@2426 48 REQUIRED libsamplerate http://www.mega-nerd.com/SRC/
Chris@2426 49 REQUIRED FFTW3 http://www.fftw.org/
Chris@2426 50 REQUIRED bzip2 library http://www.bzip.org/
Chris@2426 51 REQUIRED Sord and Serd libraries http://drobilla.net/software/
Chris@2426 52 REQUIRED Cap'n Proto http://capnproto.org/
Chris@2426 53
Chris@2425 54 Then run `qmake -r sonic-visualiser.pro` and `make`. (You may need to
Chris@2425 55 provide the full path to the correct `qmake` executable for the
Chris@2425 56 version of Qt you want to build with.)
Chris@1671 57
Chris@1671 58
Chris@1671 59 Linux
Chris@1671 60 -----
Chris@1671 61
Chris@1671 62 $ ./configure && make && make install
Chris@1671 63
Chris@1671 64 The following additional libraries are required or optional:
Chris@350 65
Chris@2425 66 REQUIRED Qt v5 http://www.qt.io/
Chris@1673 67 REQUIRED Rubber Band Library http://www.breakfastquay.com/rubberband/
Chris@1673 68 REQUIRED libsndfile http://www.mega-nerd.com/libsndfile/
Chris@1673 69 REQUIRED libsamplerate http://www.mega-nerd.com/SRC/
Chris@1673 70 REQUIRED FFTW3 http://www.fftw.org/
Chris@1673 71 REQUIRED bzip2 library http://www.bzip.org/
Chris@1673 72 REQUIRED Sord and Serd libraries http://drobilla.net/software/
Chris@1673 73 REQUIRED Cap'n Proto http://capnproto.org/
Chris@2425 74 REQUIRED MAD mp3 decoder http://www.underbit.com/products/mad/
Chris@2425 75 REQUIRED Oggz and fishsound http://xiph.org/oggz/
Chris@2425 76 REQUIRED Opus http://www.opus-codec.org/
Chris@350 77
Chris@1673 78 Optional liblo OSC library http://www.plugin.org.uk/liblo/
Chris@1673 79 Optional JACK http://www.jackaudio.org/
Chris@1673 80 Optional PortAudio v19 http://www.portaudio.com/
Chris@1673 81 Optional PulseAudio http://www.pulseaudio.org/
Chris@350 82
Chris@350 83 Although JACK, PortAudio, and PulseAudio are individually optional,
Chris@1671 84 you will need to have at least one of them in order to get any audio
Chris@1671 85 playback. Usually JACK is preferred on Linux, with PulseAudio as a
Chris@1671 86 backup, and PortAudio is used elsewhere.
Chris@350 87
Chris@350 88 On Linux, you will need the ALSA libraries (used for MIDI).
Chris@350 89
Chris@2425 90 For Cap'n Proto you will need v0.6 or newer.
Chris@1671 91
Chris@1671 92 For the rest, if you happen to be using a Debian-based Linux, you
Chris@1671 93 probably want to apt install something like the following packages:
Chris@1671 94
Chris@2594 95 build-essential libbz2-dev libfftw3-dev libfishsound1-dev libid3tag0-dev liblo-dev liblrdf0-dev libmad0-dev liboggz2-dev libopus-dev libopusfile-dev libpulse-dev libsamplerate-dev libsndfile-dev libsord-dev libxml2-utils portaudio19-dev qt5-default libqt5svg5-dev raptor2-utils librubberband-dev capnproto libcapnp-dev git mercurial autoconf automake libtool mlton
Chris@1671 96
Chris@2160 97 If you are building Sonic Visualiser from a repository checkout, then
Chris@2160 98 the configure script will use Repoint to obtain further checkouts of
Chris@2594 99 various dependencies. You will need to have a SML compiler installed
Chris@2594 100 for this to work, such as SML/NJ, MLton, or Poly/ML - hence the
Chris@2594 101 presence of mlton in the Debian package list above. This is not
Chris@2594 102 necessary when building from an official Sonic Visualiser source
Chris@2594 103 release.
Chris@2124 104