changeset 870:ff52a5b766f7

Merge
author Chris Cannam
date Wed, 24 Sep 2014 18:55:37 +0100
parents b09988dc654b (current diff) e1b05fc1166f (diff)
children 6ed771ba65f4 260024e62b6b
files .hgsubstate deploy/linux/control.example misc/debian-dependencies.sh
diffstat 18 files changed, 292 insertions(+), 79 deletions(-) [+]
line wrap: on
line diff
--- a/.hgignore	Thu Sep 11 16:26:48 2014 +0100
+++ b/.hgignore	Wed Sep 24 18:55:37 2014 +0100
@@ -25,4 +25,4 @@
 Sonic Visualiser*
 .DS_Store
 *.stash
-
+cov-int/*
--- a/.hgsubstate	Thu Sep 11 16:26:48 2014 +0100
+++ b/.hgsubstate	Wed Sep 24 18:55:37 2014 +0100
@@ -1,5 +1,5 @@
 d16f0fd6db6104d87882bc43788a3bb1b0f8c528 dataquay
 879bdc878826bebec67130326f99397c430419b1 sv-dependency-builds
-a39a7d6b0f2d0b6bff0b580b733f7db69c63c135 svapp
-a8f91db36e9de56198a1d4d5b8ef8948a01f49b2 svcore
-59a22f3bf86dd53418ef46933ebc90e0e56158d6 svgui
+49d5e885f58e6b572c87b001e073fcd40875c1b3 svapp
+f073d924a7c3153ab822a4a9f4522467c85af0db svcore
+7c75fae514091546a8d6be704214f97bcfea443b svgui
--- a/.hgtags	Thu Sep 11 16:26:48 2014 +0100
+++ b/.hgtags	Wed Sep 24 18:55:37 2014 +0100
@@ -45,3 +45,5 @@
 0000000000000000000000000000000000000000 sv_v2.3-f
 7f7fba33b7de2890ca96dbd15969219bb9fe04b9 sv_v2.3
 bf06f4311ec0af43f93a15489a757955e07597cd sv_v2.3
+cfbea29fae640aed5c8b7265d6806df823f34fef sv_v2.4
+8215909b74d2c58be28ce128d40fbc1645bc0d6e sv_v2.4_linux_deploy
--- a/CHANGELOG	Thu Sep 11 16:26:48 2014 +0100
+++ b/CHANGELOG	Wed Sep 24 18:55:37 2014 +0100
@@ -23,6 +23,10 @@
    electric piano with sustain. The piano sample is still available,
    and any sessions saved using it should continue to use it
 
+ - Add a cancel button for Vamp plugin processing: currently,
+   cancelling a transform results in a part-complete layer rather than
+   removing the results
+
  - Add keyboard shortcuts to cycle the current layer (in addition to
    the existing ones to cycle the current pane)
 
@@ -41,6 +45,9 @@
  - Make it possible to import CSV files directly into Note layers by
    adding Pitch as a data type in the CSV file import dialog
 
+ - Fix play pointer jump to wrong frame when clicking on row in the
+   layer edit dialog
+
  - Fix problems with keyboard shortcuts when using Qt5 on OS/X. This
    is the first release in which the official builds use Qt5 for all
    platforms.
--- a/INSTALL.txt	Thu Sep 11 16:26:48 2014 +0100
+++ b/INSTALL.txt	Wed Sep 24 18:55:37 2014 +0100
@@ -9,25 +9,21 @@
 The following additional libraries are required or optional when
 building the SV core libraries:
 
-REQUIRED	Qt v4.4 or newer	http://qt.nokia.com/
+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	Redland RDF libraries	http://librdf.org/
+REQUIRED	Sord and Serd libraries	http://drobilla.net/software/
 
 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/
 
-The Redland RDF libraries include the Raptor RDF parser library,
-Rasqal RDF query library, and librdf, the Redland RDF datastore (which
-depends on both of those).  The SV libraries require all of these.
-
-If you are going to build the rest of the SV libraries, you will also
-need one or more of:
+If you are going to build the rest of the SV libraries and the Sonic
+Visualiser application, you will also need one or more of:
 
 Optional	JACK			http://www.jackaudio.org/
 Optional	PortAudio v19		http://www.portaudio.com/
@@ -41,8 +37,9 @@
 On Linux, you will need the ALSA libraries (used for MIDI).
 
 If you happen to be using a Debian-based Linux, you probably want to
-apt-get install the following packages: libqt4-dev libsndfile1-dev
-libsamplerate0-dev fftw3-dev libbz2-dev libjack-dev libmad0-dev
-liboggz1-dev libfishsound1-dev libasound2-dev liblo0-dev liblrdf0-dev
-librdf0-dev .
+apt-get install something like the following packages: qtbase5-dev
+qt5-default libsndfile1-dev libsamplerate0-dev libfftw3-dev libbz2-dev
+libjack-dev libjack0 libpulse-dev libmad0-dev libid3tag0-dev
+liboggz2-dev libfishsound1-dev libasound2-dev liblo-dev liblrdf0-dev
+libsord-dev libserd-dev vamp-plugin-sdk librubberband-dev.
 
--- a/deploy/linux/control.example	Thu Sep 11 16:26:48 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
-Package: sonic-visualiser
-Priority: optional
-Maintainer: Chris Cannam <cannam@all-day-breakfast.com>
-Architecture: PLACE ARCHITECTURE HERE i386 or amd64
-Version: PLACE VERSION HERE e.g. 2.2cc-1
-Depends: libqtgui4 (>= 4.5.0), libexpat1, libfontconfig1, libfreetype6, libice6,
- libpcre3, libstdc++6, libx11-6, libxau6, libxcursor1, libxdmcp6, libxext6, libx
-fixes3, libxrender1, zlib1g, libasound2, libc6
-Description: View and analyse the contents of music audio files
- Sonic Visualiser is an application for viewing and analysing the contents of mu
-sic audio files. It was developed at the Centre for Digital Music at Queen Mary,
- University of London. Our aim is for it to be the first program you reach for w
-hen want to study a musical recording rather than simply listen to it.
- We hope Sonic Visualiser will be of particular interest to musicologists, archi
-vists, signal-processing researchers and anyone else looking for a friendly way 
-to take a look at what lies inside the audio file.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/deploy/linux/deb-skeleton/DEBIAN/control	Wed Sep 24 18:55:37 2014 +0100
@@ -0,0 +1,17 @@
+Package: sonic-visualiser
+Priority: optional
+Maintainer: Chris Cannam <cannam@all-day-breakfast.com>
+Architecture: amd64
+Version: 2.4cc-1
+Installed-Size: 6056
+Section: contrib/sound
+Depends: libqt5core5a, libsndfile1, libsamplerate0, libfftw3-3, libbz2-1.0, libpulse0, libmad0, libid3tag0, liboggz2, libfishsound1, libasound2, liblo7, liblrdf0, libsord-0-0, libserd-0-0, vamp-plugin-sdk, librubberband2, libc6
+Description: View and analyse the contents of music audio files
+ Sonic Visualiser is an application for viewing and analysing the contents
+ of music audio files. It was developed at the Centre for Digital Music at
+ Queen Mary, University of London. Our aim is for it to be the first program
+ you reach for when want to study a musical recording rather than simply
+ listen to it.
+ We hope Sonic Visualiser will be of particular interest to musicologists,
+ archivists, signal-processing researchers and anyone else looking for a
+ friendly way to take a look at what lies inside the audio file.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/deploy/linux/deb-skeleton/usr/share/applications/sonic-visualiser.desktop	Wed Sep 24 18:55:37 2014 +0100
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=Sonic Visualiser
+Exec=sonic-visualiser %U
+Keywords=audio; sound; visualiser; sonic;
+Terminal=false
+Type=Application
+Icon=sv-icon
+Categories=Audio;AudioVideo;
+MimeType=application/x-sonicvisualiser;application/x-sonicvisualiser-layer;application/x-ogg;audio/mp3;audio/mpeg;audio/mpegurl;audio/x-flac;audio/x-mp3;audio/x-mpeg;audio/x-mpegurl;audio/x-wav;audio/wav;application/ogg;audio/x-vorbis+ogg;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/deploy/linux/deb-skeleton/usr/share/doc/sonic-visualiser/README	Wed Sep 24 18:55:37 2014 +0100
@@ -0,0 +1,107 @@
+
+Sonic Visualiser
+================
+
+Sonic Visualiser is a program for viewing and analysing the contents
+of music audio files.
+
+With Sonic Visualiser you can:
+
+ * Load audio files in various formats (WAV/AIFF, plus Ogg and mp3
+if compiled in) and view their waveforms
+ 
+ * Look at audio visualisations such as spectrogram views, with
+interactive adjustment of display parameters
+
+ * Annotate audio data by adding labelled time points and defining
+segments, point values and curves
+
+ * Run feature-extraction plugins to calculate annotations
+automatically, using algorithms such as beat trackers, pitch
+detectors and so on (see http://vamp-plugins.org/)
+
+ * Import annotation data from various text formats and MIDI files
+
+ * Play back the original audio with synthesised annotations, taking
+care to synchronise playback with the display position
+
+ * Slow down and speed up playback and loop segments of interest,
+including seamless looping of complex non-contiguous areas
+
+ * Export annotations and audio selections to external files.
+
+Sonic Visualiser can also be controlled remotely using the Open Sound
+Control (OSC) protocol (if support is compiled in).
+
+
+Credits
+-------
+
+Sonic Visualiser was developed at the Centre for Digital Music,
+Queen Mary, University of London.
+
+  http://c4dm.eecs.qmul.ac.uk/
+
+Sonic Visualiser was written by Chris Cannam with contributions from
+Christian Landone, Mathieu Barthet, Dan Stowell, Jesus Corral Garcia,
+Matthias Mauch, and Craig Sapp.
+
+Code copyright 2005-2007 Chris Cannam and copyright 2006-2014 Queen
+Mary, University of London, except where indicated in the individual
+source files.
+
+This work was partially funded by the European Commission through the
+SIMAC project IST-FP6-507142 and the EASAIER project IST-FP6-033902.
+
+This work was partially funded by the Arts and Humanities Research
+Council through its Research Centre for the History and Analysis of
+Recorded Music (CHARM).
+
+This work was partially funded by the Engineering and Physical
+Sciences Research Council through the OMRAS2 project EP/E017614/1, the
+Musicology for the Masses project EP/I001832/1, and the Sound Software
+project EP/H043101/1.
+
+Sonic Visualiser is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or (at
+your option) any later version.  See the file COPYING included with
+this distribution for more information.
+
+Sonic Visualiser may also make use of the following libraries:
+
+ * Qt5 -- Copyright Digia Oyj, distributed under the LGPL
+ * JACK -- Copyright Paul Davis, Jack O'Quin et al, under the LGPL
+ * PortAudio -- Copyright Ross Bencina, Phil Burk et al, BSD license
+ * Ogg decoder -- Copyright CSIRO Australia, BSD license
+ * MAD mp3 decoder -- Copyright Underbit Technologies Inc, GPL
+ * libsamplerate -- Copyright Erik de Castro Lopo, GPL
+ * libsndfile -- Copyright Erik de Castro Lopo, LGPL
+ * FFTW3 -- Copyright Matteo Frigo and MIT, GPL
+ * Rubber Band -- Copyright Chris Cannam, GPL
+ * Vamp plugin SDK -- Copyright Chris Cannam and QMUL, BSD license
+ * LADSPA plugin SDK -- Copyright Richard Furse et al, LGPL
+ * RtMIDI -- Copyright Gary P. Scavone, BSD license
+ * Dataquay -- Copyright Breakfast Quay, BSD license
+ * Sord and Serd -- Copyright David Robillard, BSD license
+ * Redland -- Copyright Dave Beckett and the University of Bristol, LGPL/Apache license
+ * liblo OSC library -- Copyright Steve Harris, GPL
+
+(Some distributions of Sonic Visualiser may have one or more of these
+libraries statically linked.)  Many thanks to their authors.
+
+
+Compiling Sonic Visualiser
+--------------------------
+
+If you are planning to compile Sonic Visualiser from source code,
+please read the file INSTALL.txt.
+
+
+More information
+----------------
+
+For more information about Sonic Visualiser, please go to
+
+  http://www.sonicvisualiser.org/
+
Binary file deploy/linux/deb-skeleton/usr/share/doc/sonic-visualiser/changelog.Debian.gz has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/deploy/linux/deb-skeleton/usr/share/doc/sonic-visualiser/copyright	Wed Sep 24 18:55:37 2014 +0100
@@ -0,0 +1,32 @@
+Sonic Visualiser was developed at the Centre for Digital Music,
+Queen Mary, University of London.
+
+  http://www.elec.qmul.ac.uk/digitalmusic/
+
+The main program is by Chris Cannam, with additional DSP and program
+design work by Christian Landone.  Thanks also to Craig Sapp for his
+suggestions and useful feedback.
+
+Code copyright 2005-2007 Chris Cannam and copyright 2006-2014 Queen
+Mary, University of London, except where indicated in the individual
+source files.
+
+This work was partially funded by the European Commission through the
+SIMAC project IST-FP6-507142 and the EASAIER project IST-FP6-033902.
+
+This work was partially funded by the Arts and Humanities Research
+Council through its Research Centre for the History and Analysis of
+Recorded Music (CHARM).
+
+This work was partially funded by the Engineering and Physical
+Sciences Research Council through the OMRAS2 project EP/E017614/1.
+
+This work was partially funded by the Engineering and Physical
+Sciences Research Council through the Musicology for the Masses
+project EP/I001832/1.
+
+Sonic Visualiser is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or (at
+your option) any later version. See the file /usr/share/common-licenses/GPL-2 
+for more information.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/deploy/linux/debian-dependencies.sh	Wed Sep 24 18:55:37 2014 +0100
@@ -0,0 +1,42 @@
+#!/bin/bash
+
+target=$1
+
+if [ ! -f "$target" ]; then 
+    echo "Usage: $0 target-executable"
+    exit 1
+fi
+
+pfile=/tmp/packages_$$
+rfile=/tmp/redundant_$$
+
+trap "rm -f $pfile $rfile" 0
+echo 1>&2
+
+ldd "$target" | awk '{ print $3; }' | grep '^/' | while read lib; do
+    if test -n "$lib" ; then
+	dpkg-query -S "$lib"
+    fi
+    done | grep ': ' | awk -F: '{ print $1 }' | sort | uniq > $pfile
+
+echo "Packages providing required libraries:" 1>&2
+cat $pfile 1>&2
+echo 1>&2
+
+for p in `cat $pfile`; do 
+    echo Looking at $p 1>&2
+    apt-cache showpkg "$p" | grep '^  ' | grep ',' | awk -F, '{ print $1; }' | \
+	while read d; do 
+	    if grep -q '^'$d'$' $pfile; then
+		echo $p
+	    fi
+    done
+done | sort | uniq > $rfile
+
+echo "Packages that can be eliminated because other packages depend on them:" 1>&2
+cat $rfile 1>&2
+echo 1>&2
+
+cat $pfile $rfile | sort | uniq -u | sed 's/$/,/' | fmt -1000 | sed 's/^/Depends: /' | sed 's/,$/, libc6/'
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/deploy/linux/deploy-deb.sh	Wed Sep 24 18:55:37 2014 +0100
@@ -0,0 +1,56 @@
+#!/bin/bash
+# 
+# Run this from the build root
+
+usage() {
+    echo
+    echo "Usage:"
+    echo
+    echo "$0 <version> <architecture>"
+    echo
+    echo "For example: $0 2.4cc1-1 amd64"
+    echo
+    exit 2
+}
+
+version="$1"
+arch="$2"
+
+if [ -z "$version" ] || [ -z "$arch" ]; then
+    usage
+fi
+
+program=sonic-visualiser
+depdir=deploy/linux
+
+targetdir="${program}_${version}_${arch}"
+
+echo "Target dir is $targetdir"
+
+if [ -d "$targetdir" ]; then
+    echo "Target directory exists, not overwriting"
+    exit
+fi
+
+mkdir "$targetdir"
+
+cp -r "$depdir"/deb-skeleton/* "$targetdir"/
+
+mkdir -p "$targetdir"/usr/bin "$targetdir"/usr/share/pixmaps
+
+cp "$program" "$targetdir"/usr/bin/
+
+cp icons/sv-icon*.svg "$targetdir"/usr/share/pixmaps/
+cp "$program".desktop "$targetdir"/usr/share/applications/
+cp README "$targetdir"/usr/share/doc/"$program"/
+
+perl -i -p -e "s/Architecture: .*/Architecture: $arch/" "$targetdir"/DEBIAN/control
+
+deps=`bash "$depdir"/debian-dependencies.sh "$program"`
+
+perl -i -p -e "s/Depends: .*/$deps/" "$targetdir"/DEBIAN/control
+
+bash "$depdir"/fix-lintian-bits.sh "$targetdir"
+
+sudo dpkg-deb --build "$targetdir" && lintian "$targetdir".deb
+
--- a/deploy/linux/doc/sonic-visualiser/copyright	Thu Sep 11 16:26:48 2014 +0100
+++ b/deploy/linux/doc/sonic-visualiser/copyright	Wed Sep 24 18:55:37 2014 +0100
@@ -7,7 +7,7 @@
 design work by Christian Landone.  Thanks also to Craig Sapp for his
 suggestions and useful feedback.
 
-Code copyright 2005-2007 Chris Cannam and copyright 2006-2013 Queen
+Code copyright 2005-2007 Chris Cannam and copyright 2006-2014 Queen
 Mary, University of London, except where indicated in the individual
 source files.
 
--- a/deploy/linux/fix-lintian-bits.sh	Thu Sep 11 16:26:48 2014 +0100
+++ b/deploy/linux/fix-lintian-bits.sh	Wed Sep 24 18:55:37 2014 +0100
@@ -13,3 +13,4 @@
 
 sudo chown -R root.root "$dir"/*
 
+sudo chmod -R g-w "$dir"/*
--- a/deploy/win32/sonic-visualiser.wxs	Thu Sep 11 16:26:48 2014 +0100
+++ b/deploy/win32/sonic-visualiser.wxs	Wed Sep 24 18:55:37 2014 +0100
@@ -5,7 +5,7 @@
       Id="*"
       Language="1033"
       Codepage="1252" 
-      Version="2.3.90"
+      Version="2.4"
       UpgradeCode="D476941E-65F3-4962-9E72-B40FAAE5DBD0"
       Manufacturer="Queen Mary, University of London">
     
--- a/misc/debian-dependencies.sh	Thu Sep 11 16:26:48 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-#!/bin/bash
-
-target=$1
-
-if [ ! -f "$target" ]; then 
-    echo "Usage: $0 target-executable"
-    exit 1
-fi
-
-pfile=/tmp/packages_$$
-rfile=/tmp/redundant_$$
-
-trap "rm -f $pfile $rfile" 0
-echo
-
-ldd "$target" | awk '{ print $3; }' | grep '^/' | while read lib; do
-    if test -n "$lib" ; then
-	dpkg-query -S "$lib"
-    fi
-    done | grep ': ' | awk -F: '{ print $1 }' | sort | uniq > $pfile
-
-echo "Packages providing required libraries:"
-cat $pfile
-echo
-
-for p in `cat $pfile`; do 
-    echo Looking at $p 1>&2
-    apt-cache showpkg "$p" | grep '^  ' | grep ',' | awk -F, '{ print $1; }' | \
-	while read d; do 
-	    if grep -q '^'$d'$' $pfile; then
-		echo $p
-	    fi
-    done
-done | sort | uniq > $rfile
-
-echo "Packages that can be eliminated because other packages depend on them:"
-cat $rfile
-echo
-
-echo "Remaining required packages:"
-cat $pfile $rfile | sort | uniq -u
-
--- a/sonic-visualiser.desktop	Thu Sep 11 16:26:48 2014 +0100
+++ b/sonic-visualiser.desktop	Wed Sep 24 18:55:37 2014 +0100
@@ -1,8 +1,9 @@
 [Desktop Entry]
 Name=Sonic Visualiser
-Exec=sonic-visualiser
+Exec=sonic-visualiser %U
+Keywords=audio; sound; visualiser; sonic;
 Terminal=false
 Type=Application
 Icon=sv-icon
-Categories=Application;Multimedia;Audio;AudioVideo
-MimeType=application/x-sonicvisualiser;application/x-sonicvisualiser-layer;application/x-ogg;audio/mp3;audio/mpeg;audio/mpegurl;audio/x-flac;audio/x-mp3;audio/x-mpeg;audio/x-mpegurl;audio/x-wav;audio/wav;application/ogg;audio/x-vorbis+ogg
+Categories=Audio;AudioVideo;
+MimeType=application/x-sonicvisualiser;application/x-sonicvisualiser-layer;application/x-ogg;audio/mp3;audio/mpeg;audio/mpegurl;audio/x-flac;audio/x-mp3;audio/x-mpeg;audio/x-mpegurl;audio/x-wav;audio/wav;application/ogg;audio/x-vorbis+ogg;