# HG changeset patch # User Chris Cannam # Date 1411581337 -3600 # Node ID ff52a5b766f7717d5af5b61459e0553f7f622a53 # Parent b09988dc654b5660a6c5243cd23c8b10e8e9a2b7# Parent e1b05fc1166fa026440644ad048fd622a7ffdba6 Merge diff -r b09988dc654b -r ff52a5b766f7 .hgignore --- 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/* diff -r b09988dc654b -r ff52a5b766f7 .hgsubstate --- 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 diff -r b09988dc654b -r ff52a5b766f7 .hgtags --- 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 diff -r b09988dc654b -r ff52a5b766f7 CHANGELOG --- 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. diff -r b09988dc654b -r ff52a5b766f7 INSTALL.txt --- 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. diff -r b09988dc654b -r ff52a5b766f7 deploy/linux/control.example --- 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 -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. diff -r b09988dc654b -r ff52a5b766f7 deploy/linux/deb-skeleton/DEBIAN/control --- /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 +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. diff -r b09988dc654b -r ff52a5b766f7 deploy/linux/deb-skeleton/usr/share/applications/sonic-visualiser.desktop --- /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; diff -r b09988dc654b -r ff52a5b766f7 deploy/linux/deb-skeleton/usr/share/doc/sonic-visualiser/README --- /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/ + diff -r b09988dc654b -r ff52a5b766f7 deploy/linux/deb-skeleton/usr/share/doc/sonic-visualiser/changelog.Debian.gz Binary file deploy/linux/deb-skeleton/usr/share/doc/sonic-visualiser/changelog.Debian.gz has changed diff -r b09988dc654b -r ff52a5b766f7 deploy/linux/deb-skeleton/usr/share/doc/sonic-visualiser/copyright --- /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. diff -r b09988dc654b -r ff52a5b766f7 deploy/linux/debian-dependencies.sh --- /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/' + + diff -r b09988dc654b -r ff52a5b766f7 deploy/linux/deploy-deb.sh --- /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 " + 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 + diff -r b09988dc654b -r ff52a5b766f7 deploy/linux/doc/sonic-visualiser/copyright --- 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. diff -r b09988dc654b -r ff52a5b766f7 deploy/linux/fix-lintian-bits.sh --- 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"/* diff -r b09988dc654b -r ff52a5b766f7 deploy/win32/sonic-visualiser.wxs --- 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"> diff -r b09988dc654b -r ff52a5b766f7 misc/debian-dependencies.sh --- 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 - diff -r b09988dc654b -r ff52a5b766f7 sonic-visualiser.desktop --- 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;