changeset 1150:5e6e1e074080 3.0-plus-imaf

Merge branches 3.0-integration and imaf_enc to 3.0-plus-imaf
author Chris Cannam
date Wed, 20 Apr 2016 12:06:28 +0100
parents 3ba5bee2ace0 (diff) ba6f95b1ff7c (current diff)
children
files .hgsubstate .hgtags configure configure.ac main/MainWindow.cpp main/MainWindow.h main/NetworkPermissionTester.cpp main/OSCHandler.cpp main/PreferencesDialog.cpp main/PreferencesDialog.h sv.pro
diffstat 56 files changed, 12606 insertions(+), 8735 deletions(-) [+]
line wrap: on
line diff
--- a/.hgignore	Wed Jul 15 12:27:40 2015 +0100
+++ b/.hgignore	Wed Apr 20 12:06:28 2016 +0100
@@ -1,5 +1,5 @@
 syntax: glob
-Makefile
+Makefile*
 */Makefile
 o/*
 */o/*
@@ -21,3 +21,8 @@
 re:^config\.log$
 re:^config\.pri$
 re:^config\.status$
+*.app
+Sonic Visualiser*
+.DS_Store
+*.stash
+cov-int/*
--- a/.hgsub	Wed Jul 15 12:27:40 2015 +0100
+++ b/.hgsub	Wed Apr 20 12:06:28 2016 +0100
@@ -1,5 +1,11 @@
+vamp-plugin-sdk = https://code.soundsoftware.ac.uk/hg/vamp-plugin-sdk
 svcore = https://code.soundsoftware.ac.uk/hg/svcore
 svgui = https://code.soundsoftware.ac.uk/hg/svgui
 svapp = https://code.soundsoftware.ac.uk/hg/svapp
 dataquay = https://bitbucket.org/breakfastquay/dataquay
+bqvec = https://bitbucket.org/breakfastquay/bqvec
+bqresample = https://bitbucket.org/breakfastquay/bqresample
+bqaudioio = https://bitbucket.org/breakfastquay/bqaudioio
 sv-dependency-builds = https://code.soundsoftware.ac.uk/hg/sv-dependency-builds
+icons/scalable = https://code.soundsoftware.ac.uk/hg/sv-iconset
+checker = https://code.soundsoftware.ac.uk/hg/vamp-plugin-load-checker
--- a/.hgsubstate	Wed Jul 15 12:27:40 2015 +0100
+++ b/.hgsubstate	Wed Apr 20 12:06:28 2016 +0100
@@ -1,5 +1,11 @@
+442bdbbb17f3910898b892cc798794e32562a3f1 bqaudioio
+28f51eb8bf2dd985b0c1a6d704fb65e14c2f0f25 bqresample
+a518ddd9dd68917393887d28dfee6221bc37fb66 bqvec
+af46a17798be1c38cb6e7dcb88ad34508a77fd54 checker
 d16f0fd6db6104d87882bc43788a3bb1b0f8c528 dataquay
-3c5adc4a864fa75e5b1e67c260b77541aaa4f1f6 sv-dependency-builds
-428ce32a8dd9978e3dd6a471c82438e278cb1d40 svapp
-c475940aba799e3c2c380d1b06a8eedef13e3713 svcore
-282f4be8f0589a7b0744ba4ef7a838defc53ba4a svgui
+68ae618c6b0e442d08a71d39217784a08f2a8de3 icons/scalable
+1e4f338ae482429a7ab9bdd0825242042354152f sv-dependency-builds
+a2a8fa0eed083fe105f1542c8c91fc504d785c2c svapp
+aa61e73cf5804c90b3be3a6b68665bc87c42e1c1 svcore
+c02c51ae52388ddf7b51ab4d294094d4be601e15 svgui
+9a2998401bbe0a7b9e3233eeca5004542bc0014d vamp-plugin-sdk
--- a/.hgtags	Wed Jul 15 12:27:40 2015 +0100
+++ b/.hgtags	Wed Apr 20 12:06:28 2016 +0100
@@ -37,4 +37,15 @@
 29a97099b6473aa14251ec6392eb696cad4a6431 sv_v2.2
 29a97099b6473aa14251ec6392eb696cad4a6431 sv_v2.2
 a91416395daf6d8ac2b5f7330cc2e44ab699dc50 sv_v2.2
+242ebf1db0f16582b883d65ae80df99c613b99a7 sv_v2.3
+242ebf1db0f16582b883d65ae80df99c613b99a7 sv_v2.3
+7f7fba33b7de2890ca96dbd15969219bb9fe04b9 sv_v2.3
+59c68b5ae5be5997719ff959d40fe9ad36ab86ab sv_v2.3-f
+7f7fba33b7de2890ca96dbd15969219bb9fe04b9 sv_v2.3
+bf06f4311ec0af43f93a15489a757955e07597cd sv_v2.3
+cfbea29fae640aed5c8b7265d6806df823f34fef sv_v2.4
+8215909b74d2c58be28ce128d40fbc1645bc0d6e sv_v2.4_linux_deploy
+2868d5abf1a3baa37099c1b5d7e984bf8bb8177a sv_v2.4.1
+94253fa113183075c8400fa64d0ccb0e81682f90 sv_v2.5
+e206741df37ddfa3db28bfbbe4b79f2248b92695 sv_v2.5_osx_deploy
 60d3575f8016db7080154978c6457d37ca43dbbb sv-v2.3-imaf
--- a/CHANGELOG	Wed Jul 15 12:27:40 2015 +0100
+++ b/CHANGELOG	Wed Apr 20 12:06:28 2016 +0100
@@ -1,3 +1,74 @@
+Changes in Sonic Visualiser 2.5 since the previous release 2.4.1:
+
+ - Add unit-converter dialog, for converting between various pitch and
+   timing units
+
+ - Fix failure to reload note layers from session file
+
+ - Use a more sensible scale for the play-speed dial
+
+ - Fix crash when importing very wide CSV files
+
+ - Fix generation of wrong layer type from some CSV files
+
+ - Fix failure to export last instant in a time-instant layer
+
+Changes in Sonic Visualiser 2.4.1 since the previous release 2.4:
+
+ - Fix a crash when rendering certain colour 3d plot layers
+
+Changes in Sonic Visualiser 2.4 since the previous release 2.3:
+
+ - Add support for left/right scrolling using a two-finger touchpad
+   gesture (where available)
+
+ - Make the octave numbering into a configurable option, and change
+   the default. Previously Sonic Visualiser labelled middle-C as "C3";
+   now it labels middle-C as "C4", a more common standard in the world
+   outside MIDI sequencer software. The previous system is available
+   as an option in the Preferences. This affects only the visible
+   labels: there is no change to analysis or to the file format
+
+ - Sonify time-value layers. Any time-value curve whose scale unit is
+   set to Hz will now acquire a playback toggle control; this control
+   is off by default, but if it is switched on, the curve will be
+   played back using a variable-frequency sound generator
+
+ - Add support for playback of note layers with non-MIDI frequencies
+   (formerly the note playback was limited to exact MIDI pitch)
+
+ - Change the default playback sample for note layers from piano to an
+   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)
+
+ - Fix various bugs related to layer ordering: layer tabs re-ordering
+   themselves randomly when new layer added, layers being ordered
+   randomly when saving and reloading a session
+
+ - Fix incorrect interaction with non-Unicode usernames when creating
+   temporary and template directories on Windows
+
+ - Shade the start and end of the main audio file, to make them easier
+   to see for files that start or end in silence
+
+ - Speed up rendering and scrolling in time-value layers
+
+ - 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.
 
 
 Changes in Sonic Visualiser 2.3 since the previous release 2.2:
@@ -24,7 +95,7 @@
 
  - Permit installation to non-default location with Windows installer
    build
-	
+
 
 Changes in Sonic Visualiser 2.2 since the previous release 2.1:
 
--- a/INSTALL.txt	Wed Jul 15 12:27:40 2015 +0100
+++ b/INSTALL.txt	Wed Apr 20 12:06:28 2016 +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/README	Wed Jul 15 12:27:40 2015 +0100
+++ b/README	Wed Apr 20 12:06:28 2016 +0100
@@ -18,7 +18,7 @@
 
  * Run feature-extraction plugins to calculate annotations
 automatically, using algorithms such as beat trackers, pitch
-detectors and so on
+detectors and so on (see http://vamp-plugins.org/)
 
  * Import annotation data from various text formats and MIDI files
 
@@ -40,13 +40,13 @@
 Sonic Visualiser was developed at the Centre for Digital Music,
 Queen Mary, University of London.
 
-  http://www.elec.qmul.ac.uk/digitalmusic/
+  http://c4dm.eecs.qmul.ac.uk/
 
-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.
+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-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.
 
@@ -58,11 +58,9 @@
 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.
+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
--- a/acinclude.m4	Wed Jul 15 12:27:40 2015 +0100
+++ b/acinclude.m4	Wed Apr 20 12:06:28 2016 +0100
@@ -69,6 +69,9 @@
    	AC_CHECK_PROG(QMAKE, qmake-qt5, $QTDIR/bin/qmake-qt5,,$QTDIR/bin/)
 fi
 if test x$QMAKE = x ; then
+   	AC_CHECK_PROG(QMAKE, qt5-qmake, $QTDIR/bin/qt5-qmake,,$QTDIR/bin/)
+fi
+if test x$QMAKE = x ; then
    	AC_CHECK_PROG(QMAKE, qmake, $QTDIR/bin/qmake,,$QTDIR/bin/)
 fi
 if test x$QMAKE = x ; then
@@ -78,6 +81,9 @@
    	AC_CHECK_PROG(QMAKE, qmake-qt5, qmake-qt5,,$PATH)
 fi
 if test x$QMAKE = x ; then
+   	AC_CHECK_PROG(QMAKE, qt5-qmake, qt5-qmake,,$PATH)
+fi
+if test x$QMAKE = x ; then
    	AC_CHECK_PROG(QMAKE, qmake, qmake,,$PATH)
 fi
 if test x$QMAKE = x ; then
@@ -112,3 +118,146 @@
 
 ])
 
+# From autoconf archive:
+
+# ============================================================================
+#  http://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx_11.html
+# ============================================================================
+#
+# SYNOPSIS
+#
+#   AX_CXX_COMPILE_STDCXX_11([ext|noext],[mandatory|optional])
+#
+# DESCRIPTION
+#
+#   Check for baseline language coverage in the compiler for the C++11
+#   standard; if necessary, add switches to CXXFLAGS to enable support.
+#
+#   The first argument, if specified, indicates whether you insist on an
+#   extended mode (e.g. -std=gnu++11) or a strict conformance mode (e.g.
+#   -std=c++11).  If neither is specified, you get whatever works, with
+#   preference for an extended mode.
+#
+#   The second argument, if specified 'mandatory' or if left unspecified,
+#   indicates that baseline C++11 support is required and that the macro
+#   should error out if no mode with that support is found.  If specified
+#   'optional', then configuration proceeds regardless, after defining
+#   HAVE_CXX11 if and only if a supporting mode is found.
+#
+# LICENSE
+#
+#   Copyright (c) 2008 Benjamin Kosnik <bkoz@redhat.com>
+#   Copyright (c) 2012 Zack Weinberg <zackw@panix.com>
+#   Copyright (c) 2013 Roy Stogner <roystgnr@ices.utexas.edu>
+#   Copyright (c) 2014 Alexey Sokolov <sokolov@google.com>
+#
+#   Copying and distribution of this file, with or without modification, are
+#   permitted in any medium without royalty provided the copyright notice
+#   and this notice are preserved. This file is offered as-is, without any
+#   warranty.
+
+m4_define([_AX_CXX_COMPILE_STDCXX_11_testbody], [[
+  template <typename T>
+    struct check
+    {
+      static_assert(sizeof(int) <= sizeof(T), "not big enough");
+    };
+
+    struct Base {
+    virtual void f() {}
+    };
+    struct Child : public Base {
+    virtual void f() override {}
+    };
+
+    typedef check<check<bool>> right_angle_brackets;
+
+    int a;
+    decltype(a) b;
+
+    typedef check<int> check_type;
+    check_type c;
+    check_type&& cr = static_cast<check_type&&>(c);
+
+    auto d = a;
+    auto l = [](){};
+]])
+
+AC_DEFUN([AX_CXX_COMPILE_STDCXX_11], [dnl
+  m4_if([$1], [], [],
+        [$1], [ext], [],
+        [$1], [noext], [],
+        [m4_fatal([invalid argument `$1' to AX_CXX_COMPILE_STDCXX_11])])dnl
+  m4_if([$2], [], [ax_cxx_compile_cxx11_required=true],
+        [$2], [mandatory], [ax_cxx_compile_cxx11_required=true],
+        [$2], [optional], [ax_cxx_compile_cxx11_required=false],
+        [m4_fatal([invalid second argument `$2' to AX_CXX_COMPILE_STDCXX_11])])
+  AC_LANG_PUSH([C++])dnl
+  ac_success=no
+  AC_CACHE_CHECK(whether $CXX supports C++11 features by default,
+  ax_cv_cxx_compile_cxx11,
+  [AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_11_testbody])],
+    [ax_cv_cxx_compile_cxx11=yes],
+    [ax_cv_cxx_compile_cxx11=no])])
+  if test x$ax_cv_cxx_compile_cxx11 = xyes; then
+    ac_success=yes
+  fi
+
+  m4_if([$1], [noext], [], [dnl
+  if test x$ac_success = xno; then
+    for switch in -std=gnu++11 -std=gnu++0x; do
+      cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx11_$switch])
+      AC_CACHE_CHECK(whether $CXX supports C++11 features with $switch,
+                     $cachevar,
+        [ac_save_CXXFLAGS="$CXXFLAGS"
+         CXXFLAGS="$CXXFLAGS $switch"
+         AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_11_testbody])],
+          [eval $cachevar=yes],
+          [eval $cachevar=no])
+         CXXFLAGS="$ac_save_CXXFLAGS"])
+      if eval test x\$$cachevar = xyes; then
+        CXXFLAGS="$CXXFLAGS $switch"
+        ac_success=yes
+        break
+      fi
+    done
+  fi])
+
+  m4_if([$1], [ext], [], [dnl
+  if test x$ac_success = xno; then
+    for switch in -std=c++11 -std=c++0x; do
+      cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx11_$switch])
+      AC_CACHE_CHECK(whether $CXX supports C++11 features with $switch,
+                     $cachevar,
+        [ac_save_CXXFLAGS="$CXXFLAGS"
+         CXXFLAGS="$CXXFLAGS $switch"
+         AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_11_testbody])],
+          [eval $cachevar=yes],
+          [eval $cachevar=no])
+         CXXFLAGS="$ac_save_CXXFLAGS"])
+      if eval test x\$$cachevar = xyes; then
+        CXXFLAGS="$CXXFLAGS $switch"
+        ac_success=yes
+        break
+      fi
+    done
+  fi])
+  AC_LANG_POP([C++])
+  if test x$ax_cxx_compile_cxx11_required = xtrue; then
+    if test x$ac_success = xno; then
+      AC_MSG_ERROR([*** A compiler with support for C++11 language features is required.])
+    fi
+  else
+    if test x$ac_success = xno; then
+      HAVE_CXX11=0
+      AC_MSG_NOTICE([No compiler with C++11 support was found])
+    else
+      HAVE_CXX11=1
+      AC_DEFINE(HAVE_CXX11,1,
+                [define if the compiler supports basic C++11 syntax])
+    fi
+
+    AC_SUBST(HAVE_CXX11)
+  fi
+])
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bq.pro	Wed Apr 20 12:06:28 2016 +0100
@@ -0,0 +1,94 @@
+
+TEMPLATE = lib
+
+win32-g++ {
+    INCLUDEPATH += sv-dependency-builds/win32-mingw/include
+    LIBS += -Lsv-dependency-builds/win32-mingw/lib
+}
+win32-msvc* {
+    INCLUDEPATH += sv-dependency-builds/win32-msvc/include
+    LIBS += -Lsv-dependency-builds/win32-msvc/lib
+}
+mac* {
+    INCLUDEPATH += sv-dependency-builds/osx/include
+    LIBS += -Lsv-dependency-builds/osx/lib
+}
+
+exists(config.pri) {
+    include(config.pri)
+}
+
+!exists(config.pri) {
+
+    CONFIG += release
+    DEFINES += NDEBUG BUILD_RELEASE NO_TIMING
+
+    DEFINES += HAVE_BZ2 HAVE_FFTW3 HAVE_FFTW3F HAVE_SNDFILE HAVE_LIBSAMPLERATE HAVE_VAMP HAVE_VAMPHOSTSDK HAVE_RUBBERBAND HAVE_DATAQUAY HAVE_LIBLO HAVE_MAD HAVE_ID3TAG HAVE_PORTAUDIO
+
+    LIBS += -lbz2 -lrubberband -lvamp-hostsdk -lfftw3 -lfftw3f -lsndfile -lFLAC -logg -lvorbis -lvorbisenc -lvorbisfile -logg -lmad -lid3tag -lportaudio -lsamplerate -lz -lsord-0 -lserd-0 -llo
+
+    win* {
+        DEFINES += USE_OWN_ALIGNED_MALLOC _USE_MATH_DEFINES
+        LIBS += -lwinmm -lws2_32
+    }
+    macx* {
+        DEFINES += HAVE_COREAUDIO MALLOC_IS_ALIGNED
+        LIBS += -framework CoreAudio -framework CoreMidi -framework AudioUnit -framework AudioToolbox -framework CoreFoundation -framework CoreServices -framework Accelerate
+    }
+}
+
+CONFIG += staticlib warn_on stl exceptions c++11
+CONFIG -= qt
+
+TARGET = bq
+
+DEPENDPATH += bqvec bqresample bqaudioio bqvec/bqvec bqresample/bqresample bqaudioio/bqaudioio
+INCLUDEPATH += bqvec bqresample bqaudioio bqvec/bqvec bqresample/bqresample bqaudioio/bqaudioio
+
+OBJECTS_DIR = o
+
+HEADERS += \
+	bqvec/bqvec/Allocators.h \
+	bqvec/bqvec/Barrier.h \
+	bqvec/bqvec/ComplexTypes.h \
+	bqvec/bqvec/Restrict.h \
+	bqvec/bqvec/RingBuffer.h \
+	bqvec/bqvec/VectorOpsComplex.h \
+	bqvec/bqvec/VectorOps.h \
+	bqvec/pommier/neon_mathfun.h \
+	bqvec/pommier/sse_mathfun.h \
+	bqresample/bqresample/Resampler.h \
+	bqresample/speex/speex_resampler.h \
+	bqaudioio/bqaudioio/ApplicationPlaybackSource.h \
+	bqaudioio/bqaudioio/ApplicationRecordTarget.h \
+	bqaudioio/bqaudioio/AudioFactory.h \
+	bqaudioio/bqaudioio/SystemAudioIO.h \
+	bqaudioio/bqaudioio/SystemPlaybackTarget.h \
+	bqaudioio/bqaudioio/SystemRecordSource.h \
+	bqaudioio/src/DynamicJACK.h \
+	bqaudioio/src/JACKAudioIO.h \
+	bqaudioio/src/JACKPlaybackTarget.h \
+	bqaudioio/src/JACKRecordSource.h \
+	bqaudioio/src/PortAudioIO.h \
+	bqaudioio/src/PortAudioPlaybackTarget.h \
+	bqaudioio/src/PortAudioRecordSource.h \
+	bqaudioio/src/PulseAudioIO.h \
+	bqaudioio/src/PulseAudioPlaybackTarget.h
+
+SOURCES += \
+	bqvec/src/Allocators.cpp \
+	bqvec/src/Barrier.cpp \
+	bqvec/src/VectorOpsComplex.cpp \
+	bqresample/src/Resampler.cpp \
+	bqaudioio/src/AudioFactory.cpp \
+	bqaudioio/src/JACKAudioIO.cpp \
+	bqaudioio/src/JACKPlaybackTarget.cpp \
+	bqaudioio/src/JACKRecordSource.cpp \
+	bqaudioio/src/PortAudioIO.cpp \
+	bqaudioio/src/PortAudioPlaybackTarget.cpp \
+	bqaudioio/src/PortAudioRecordSource.cpp \
+	bqaudioio/src/PulseAudioIO.cpp \
+	bqaudioio/src/PulseAudioPlaybackTarget.cpp \
+	bqaudioio/src/SystemPlaybackTarget.cpp \
+	bqaudioio/src/SystemRecordSource.cpp
+
--- a/configure	Wed Jul 15 12:27:40 2015 +0100
+++ b/configure	Wed Apr 20 12:06:28 2016 +0100
@@ -1,8 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for Sonic Visualiser 2.3-imaf.
-#
-# Report bugs to <cannam@all-day-breakfast.com>.
+# Generated by GNU Autoconf 2.69.
 #
 #
 # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -266,8 +264,7 @@
     $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
     $as_echo "$0: be upgraded to zsh 4.3.4 or later."
   else
-    $as_echo "$0: Please tell bug-autoconf@gnu.org and
-$0: cannam@all-day-breakfast.com about your system,
+    $as_echo "$0: Please tell bug-autoconf@gnu.org about your system,
 $0: including any error possibly output before this
 $0: message. Then install a modern shell, or manually run
 $0: the script under such a shell if you do have one."
@@ -578,13 +575,14 @@
 MAKEFLAGS=
 
 # Identity of this package.
-PACKAGE_NAME='Sonic Visualiser'
-PACKAGE_TARNAME='sonic-visualiser'
-PACKAGE_VERSION='2.3-imaf'
-PACKAGE_STRING='Sonic Visualiser 2.3-imaf'
-PACKAGE_BUGREPORT='cannam@all-day-breakfast.com'
-PACKAGE_URL=''
-
+PACKAGE_NAME=
+PACKAGE_TARNAME=
+PACKAGE_VERSION=
+PACKAGE_STRING=
+PACKAGE_BUGREPORT=
+PACKAGE_URL=
+
+ac_unique_file="Sonic Visualiser"
 ac_unique_file="main/main.cpp"
 # Factoring default headers for most tests.
 ac_includes_default="\
@@ -650,8 +648,8 @@
 libpulse_CFLAGS
 JACK_LIBS
 JACK_CFLAGS
-portaudio_2_0_LIBS
-portaudio_2_0_CFLAGS
+portaudio_LIBS
+portaudio_CFLAGS
 liblo_LIBS
 liblo_CFLAGS
 serd_LIBS
@@ -660,12 +658,8 @@
 sord_CFLAGS
 rubberband_LIBS
 rubberband_CFLAGS
-vamphostsdk_LIBS
-vamphostsdk_CFLAGS
-vamp_LIBS
-vamp_CFLAGS
-samplerate_LIBS
-samplerate_CFLAGS
+libsamplerate_LIBS
+libsamplerate_CFLAGS
 sndfile_LIBS
 sndfile_CFLAGS
 fftw3f_LIBS
@@ -681,6 +675,7 @@
 EGREP
 GREP
 CXXCPP
+HAVE_CXX11
 MKDIR_P
 INSTALL_DATA
 INSTALL_SCRIPT
@@ -761,12 +756,8 @@
 fftw3f_LIBS
 sndfile_CFLAGS
 sndfile_LIBS
-samplerate_CFLAGS
-samplerate_LIBS
-vamp_CFLAGS
-vamp_LIBS
-vamphostsdk_CFLAGS
-vamphostsdk_LIBS
+libsamplerate_CFLAGS
+libsamplerate_LIBS
 rubberband_CFLAGS
 rubberband_LIBS
 sord_CFLAGS
@@ -775,8 +766,8 @@
 serd_LIBS
 liblo_CFLAGS
 liblo_LIBS
-portaudio_2_0_CFLAGS
-portaudio_2_0_LIBS
+portaudio_CFLAGS
+portaudio_LIBS
 JACK_CFLAGS
 JACK_LIBS
 libpulse_CFLAGS
@@ -833,7 +824,7 @@
 localstatedir='${prefix}/var'
 includedir='${prefix}/include'
 oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
+docdir='${datarootdir}/doc/${PACKAGE}'
 infodir='${datarootdir}/info'
 htmldir='${docdir}'
 dvidir='${docdir}'
@@ -1333,7 +1324,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures Sonic Visualiser 2.3-imaf to adapt to many kinds of systems.
+\`configure' configures this package to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1381,8 +1372,7 @@
   --infodir=DIR           info documentation [DATAROOTDIR/info]
   --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
   --mandir=DIR            man documentation [DATAROOTDIR/man]
-  --docdir=DIR            documentation root
-                          [DATAROOTDIR/doc/sonic-visualiser]
+  --docdir=DIR            documentation root [DATAROOTDIR/doc/PACKAGE]
   --htmldir=DIR           html documentation [DOCDIR]
   --dvidir=DIR            dvi documentation [DOCDIR]
   --pdfdir=DIR            pdf documentation [DOCDIR]
@@ -1394,9 +1384,7 @@
 fi
 
 if test -n "$ac_init_help"; then
-  case $ac_init_help in
-     short | recursive ) echo "Configuration of Sonic Visualiser 2.3-imaf:";;
-   esac
+
   cat <<\_ACEOF
 
 Optional Features:
@@ -1433,16 +1421,10 @@
               C compiler flags for sndfile, overriding pkg-config
   sndfile_LIBS
               linker flags for sndfile, overriding pkg-config
-  samplerate_CFLAGS
-              C compiler flags for samplerate, overriding pkg-config
-  samplerate_LIBS
-              linker flags for samplerate, overriding pkg-config
-  vamp_CFLAGS C compiler flags for vamp, overriding pkg-config
-  vamp_LIBS   linker flags for vamp, overriding pkg-config
-  vamphostsdk_CFLAGS
-              C compiler flags for vamphostsdk, overriding pkg-config
-  vamphostsdk_LIBS
-              linker flags for vamphostsdk, overriding pkg-config
+  libsamplerate_CFLAGS
+              C compiler flags for libsamplerate, overriding pkg-config
+  libsamplerate_LIBS
+              linker flags for libsamplerate, overriding pkg-config
   rubberband_CFLAGS
               C compiler flags for rubberband, overriding pkg-config
   rubberband_LIBS
@@ -1454,10 +1436,10 @@
   liblo_CFLAGS
               C compiler flags for liblo, overriding pkg-config
   liblo_LIBS  linker flags for liblo, overriding pkg-config
-  portaudio_2_0_CFLAGS
-              C compiler flags for portaudio_2_0, overriding pkg-config
-  portaudio_2_0_LIBS
-              linker flags for portaudio_2_0, overriding pkg-config
+  portaudio_CFLAGS
+              C compiler flags for portaudio, overriding pkg-config
+  portaudio_LIBS
+              linker flags for portaudio, overriding pkg-config
   JACK_CFLAGS C compiler flags for JACK, overriding pkg-config
   JACK_LIBS   linker flags for JACK, overriding pkg-config
   libpulse_CFLAGS
@@ -1483,7 +1465,7 @@
 Use these variables to override the choices made by `configure' or to help
 it to find libraries and programs with nonstandard names/locations.
 
-Report bugs to <cannam@all-day-breakfast.com>.
+Report bugs to the package provider.
 _ACEOF
 ac_status=$?
 fi
@@ -1546,7 +1528,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Sonic Visualiser configure 2.3-imaf
+configure
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1785,10 +1767,6 @@
 $as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
     { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( $as_echo "## ------------------------------------------- ##
-## Report this to cannam@all-day-breakfast.com ##
-## ------------------------------------------- ##"
-     ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
@@ -1886,7 +1864,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by Sonic Visualiser $as_me 2.3-imaf, which was
+It was created by $as_me, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3470,6 +3448,146 @@
 $as_echo "$MKDIR_P" >&6; }
 
 
+# We are daringly making use of C++11 now
+
+    ax_cxx_compile_cxx11_required=true
+  ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+  ac_success=no
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features by default" >&5
+$as_echo_n "checking whether $CXX supports C++11 features by default... " >&6; }
+if ${ax_cv_cxx_compile_cxx11+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+  template <typename T>
+    struct check
+    {
+      static_assert(sizeof(int) <= sizeof(T), "not big enough");
+    };
+
+    struct Base {
+    virtual void f() {}
+    };
+    struct Child : public Base {
+    virtual void f() override {}
+    };
+
+    typedef check<check<bool>> right_angle_brackets;
+
+    int a;
+    decltype(a) b;
+
+    typedef check<int> check_type;
+    check_type c;
+    check_type&& cr = static_cast<check_type&&>(c);
+
+    auto d = a;
+    auto l = [](){};
+
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  ax_cv_cxx_compile_cxx11=yes
+else
+  ax_cv_cxx_compile_cxx11=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxx_compile_cxx11" >&5
+$as_echo "$ax_cv_cxx_compile_cxx11" >&6; }
+  if test x$ax_cv_cxx_compile_cxx11 = xyes; then
+    ac_success=yes
+  fi
+
+
+
+    if test x$ac_success = xno; then
+    for switch in -std=c++11 -std=c++0x; do
+      cachevar=`$as_echo "ax_cv_cxx_compile_cxx11_$switch" | $as_tr_sh`
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features with $switch" >&5
+$as_echo_n "checking whether $CXX supports C++11 features with $switch... " >&6; }
+if eval \${$cachevar+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_save_CXXFLAGS="$CXXFLAGS"
+         CXXFLAGS="$CXXFLAGS $switch"
+         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+  template <typename T>
+    struct check
+    {
+      static_assert(sizeof(int) <= sizeof(T), "not big enough");
+    };
+
+    struct Base {
+    virtual void f() {}
+    };
+    struct Child : public Base {
+    virtual void f() override {}
+    };
+
+    typedef check<check<bool>> right_angle_brackets;
+
+    int a;
+    decltype(a) b;
+
+    typedef check<int> check_type;
+    check_type c;
+    check_type&& cr = static_cast<check_type&&>(c);
+
+    auto d = a;
+    auto l = [](){};
+
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  eval $cachevar=yes
+else
+  eval $cachevar=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+         CXXFLAGS="$ac_save_CXXFLAGS"
+fi
+eval ac_res=\$$cachevar
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+      if eval test x\$$cachevar = xyes; then
+        CXXFLAGS="$CXXFLAGS $switch"
+        ac_success=yes
+        break
+      fi
+    done
+  fi
+  ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+  if test x$ax_cxx_compile_cxx11_required = xtrue; then
+    if test x$ac_success = xno; then
+      as_fn_error $? "*** A compiler with support for C++11 language features is required." "$LINENO" 5
+    fi
+  else
+    if test x$ac_success = xno; then
+      HAVE_CXX11=0
+      { $as_echo "$as_me:${as_lineno-$LINENO}: No compiler with C++11 support was found" >&5
+$as_echo "$as_me: No compiler with C++11 support was found" >&6;}
+    else
+      HAVE_CXX11=1
+
+$as_echo "#define HAVE_CXX11 1" >>confdefs.h
+
+    fi
+
+
+  fi
+
 
 ac_ext=cpp
 ac_cpp='$CXXCPP $CPPFLAGS'
@@ -4017,6 +4135,45 @@
 
 fi
 if test x$QMAKE = x ; then
+   	# Extract the first word of "qt5-qmake", so it can be a program name with args.
+set dummy qt5-qmake; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_QMAKE+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$QMAKE"; then
+  ac_cv_prog_QMAKE="$QMAKE" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $QTDIR/bin/
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_QMAKE="$QTDIR/bin/qt5-qmake"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+QMAKE=$ac_cv_prog_QMAKE
+if test -n "$QMAKE"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $QMAKE" >&5
+$as_echo "$QMAKE" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test x$QMAKE = x ; then
    	# Extract the first word of "qmake", so it can be a program name with args.
 set dummy qmake; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
@@ -4134,6 +4291,45 @@
 
 fi
 if test x$QMAKE = x ; then
+   	# Extract the first word of "qt5-qmake", so it can be a program name with args.
+set dummy qt5-qmake; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_QMAKE+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$QMAKE"; then
+  ac_cv_prog_QMAKE="$QMAKE" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_QMAKE="qt5-qmake"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+QMAKE=$ac_cv_prog_QMAKE
+if test -n "$QMAKE"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $QMAKE" >&5
+$as_echo "$QMAKE" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test x$QMAKE = x ; then
    	# Extract the first word of "qmake", so it can be a program name with args.
 set dummy qmake; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
@@ -4223,9 +4419,10 @@
 CXXFLAGS_MINIMAL="$AUTOCONF_CXXFLAGS"
 
 if test "x$GCC" = "xyes"; then
-        CXXFLAGS_DEBUG="-Wall -Woverloaded-virtual -Wextra -Wformat-nonliteral -Wformat-security -Winit-self -Wswitch-enum -g -pipe"
-   	CXXFLAGS_RELEASE="-g0 -O2 -Wall -pipe"
-   	CXXFLAGS_MINIMAL="-g0 -O0"
+   	CXXFLAGS_ANY="-Wall -Wextra -Woverloaded-virtual -Wformat-nonliteral -Wformat-security -Winit-self -Wswitch-enum -Wconversion -pipe"
+        CXXFLAGS_DEBUG="$CXXFLAGS_ANY -g -Werror"
+   	CXXFLAGS_RELEASE="$CXXFLAGS_ANY -g0 -O2"
+   	CXXFLAGS_MINIMAL="$CXXFLAGS_ANY -g0 -O0"
 fi
 
 CXXFLAGS_BUILD="$CXXFLAGS_RELEASE"
@@ -4876,18 +5073,18 @@
 fi
 
 
-SV_MODULE_MODULE=samplerate
+SV_MODULE_MODULE=libsamplerate
 SV_MODULE_VERSION_TEST="samplerate >= 0.1.2"
 SV_MODULE_HEADER=samplerate.h
 SV_MODULE_LIB=samplerate
 SV_MODULE_FUNC=src_new
-SV_MODULE_HAVE=HAVE_$(echo samplerate | tr 'a-z' 'A-Z')
+SV_MODULE_HAVE=HAVE_$(echo libsamplerate | tr 'a-z' 'A-Z')
 SV_MODULE_FAILED=1
-if test -n "$samplerate_LIBS" ; then
+if test -n "$libsamplerate_LIBS" ; then
    { $as_echo "$as_me:${as_lineno-$LINENO}: User set ${SV_MODULE_MODULE}_LIBS explicitly, skipping test for $SV_MODULE_MODULE" >&5
 $as_echo "$as_me: User set ${SV_MODULE_MODULE}_LIBS explicitly, skipping test for $SV_MODULE_MODULE" >&6;}
-   CXXFLAGS="$CXXFLAGS $samplerate_CFLAGS"
-   LIBS="$LIBS $samplerate_LIBS"
+   CXXFLAGS="$CXXFLAGS $libsamplerate_CFLAGS"
+   LIBS="$LIBS $libsamplerate_LIBS"
    SV_MODULE_FAILED=""
 fi
 if test -z "$SV_MODULE_VERSION_TEST" ; then
@@ -4896,11 +5093,11 @@
 if test -n "$SV_MODULE_FAILED" && test -n "$PKG_CONFIG"; then
 
 pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for samplerate" >&5
-$as_echo_n "checking for samplerate... " >&6; }
-
-if test -n "$samplerate_CFLAGS"; then
-    pkg_cv_samplerate_CFLAGS="$samplerate_CFLAGS"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libsamplerate" >&5
+$as_echo_n "checking for libsamplerate... " >&6; }
+
+if test -n "$libsamplerate_CFLAGS"; then
+    pkg_cv_libsamplerate_CFLAGS="$libsamplerate_CFLAGS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$SV_MODULE_VERSION_TEST\""; } >&5
@@ -4908,7 +5105,7 @@
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_samplerate_CFLAGS=`$PKG_CONFIG --cflags "$SV_MODULE_VERSION_TEST" 2>/dev/null`
+  pkg_cv_libsamplerate_CFLAGS=`$PKG_CONFIG --cflags "$SV_MODULE_VERSION_TEST" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -4916,8 +5113,8 @@
  else
     pkg_failed=untried
 fi
-if test -n "$samplerate_LIBS"; then
-    pkg_cv_samplerate_LIBS="$samplerate_LIBS"
+if test -n "$libsamplerate_LIBS"; then
+    pkg_cv_libsamplerate_LIBS="$libsamplerate_LIBS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$SV_MODULE_VERSION_TEST\""; } >&5
@@ -4925,7 +5122,7 @@
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_samplerate_LIBS=`$PKG_CONFIG --libs "$SV_MODULE_VERSION_TEST" 2>/dev/null`
+  pkg_cv_libsamplerate_LIBS=`$PKG_CONFIG --libs "$SV_MODULE_VERSION_TEST" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -4946,12 +5143,12 @@
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        samplerate_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
+	        libsamplerate_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
         else
-	        samplerate_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
+	        libsamplerate_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
         fi
 	# Put the nasty error message in config.log where it belongs
-	echo "$samplerate_PKG_ERRORS" >&5
+	echo "$libsamplerate_PKG_ERRORS" >&5
 
 	{ $as_echo "$as_me:${as_lineno-$LINENO}: Failed to find required module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&5
 $as_echo "$as_me: Failed to find required module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&6;}
@@ -4961,11 +5158,11 @@
 	{ $as_echo "$as_me:${as_lineno-$LINENO}: Failed to find required module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&5
 $as_echo "$as_me: Failed to find required module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&6;}
 else
-	samplerate_CFLAGS=$pkg_cv_samplerate_CFLAGS
-	samplerate_LIBS=$pkg_cv_samplerate_LIBS
+	libsamplerate_CFLAGS=$pkg_cv_libsamplerate_CFLAGS
+	libsamplerate_LIBS=$pkg_cv_libsamplerate_LIBS
         { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
-	HAVES="$HAVES $SV_MODULE_HAVE";CXXFLAGS="$CXXFLAGS $samplerate_CFLAGS";LIBS="$LIBS $samplerate_LIBS";SV_MODULE_FAILED=""
+	HAVES="$HAVES $SV_MODULE_HAVE";CXXFLAGS="$CXXFLAGS $libsamplerate_CFLAGS";LIBS="$LIBS $libsamplerate_LIBS";SV_MODULE_FAILED=""
 fi
 fi
 if test -n "$SV_MODULE_FAILED"; then
@@ -5027,18 +5224,18 @@
 fi
 
 
-SV_MODULE_MODULE=vamp
-SV_MODULE_VERSION_TEST="vamp >= 2.1"
-SV_MODULE_HEADER=vamp/vamp.h
-SV_MODULE_LIB=
-SV_MODULE_FUNC=
-SV_MODULE_HAVE=HAVE_$(echo vamp | tr 'a-z' 'A-Z')
+SV_MODULE_MODULE=rubberband
+SV_MODULE_VERSION_TEST="rubberband"
+SV_MODULE_HEADER=rubberband/RubberBandStretcher.h
+SV_MODULE_LIB=rubberband
+SV_MODULE_FUNC=rubberband_new
+SV_MODULE_HAVE=HAVE_$(echo rubberband | tr 'a-z' 'A-Z')
 SV_MODULE_FAILED=1
-if test -n "$vamp_LIBS" ; then
+if test -n "$rubberband_LIBS" ; then
    { $as_echo "$as_me:${as_lineno-$LINENO}: User set ${SV_MODULE_MODULE}_LIBS explicitly, skipping test for $SV_MODULE_MODULE" >&5
 $as_echo "$as_me: User set ${SV_MODULE_MODULE}_LIBS explicitly, skipping test for $SV_MODULE_MODULE" >&6;}
-   CXXFLAGS="$CXXFLAGS $vamp_CFLAGS"
-   LIBS="$LIBS $vamp_LIBS"
+   CXXFLAGS="$CXXFLAGS $rubberband_CFLAGS"
+   LIBS="$LIBS $rubberband_LIBS"
    SV_MODULE_FAILED=""
 fi
 if test -z "$SV_MODULE_VERSION_TEST" ; then
@@ -5047,11 +5244,11 @@
 if test -n "$SV_MODULE_FAILED" && test -n "$PKG_CONFIG"; then
 
 pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for vamp" >&5
-$as_echo_n "checking for vamp... " >&6; }
-
-if test -n "$vamp_CFLAGS"; then
-    pkg_cv_vamp_CFLAGS="$vamp_CFLAGS"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for rubberband" >&5
+$as_echo_n "checking for rubberband... " >&6; }
+
+if test -n "$rubberband_CFLAGS"; then
+    pkg_cv_rubberband_CFLAGS="$rubberband_CFLAGS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$SV_MODULE_VERSION_TEST\""; } >&5
@@ -5059,7 +5256,7 @@
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_vamp_CFLAGS=`$PKG_CONFIG --cflags "$SV_MODULE_VERSION_TEST" 2>/dev/null`
+  pkg_cv_rubberband_CFLAGS=`$PKG_CONFIG --cflags "$SV_MODULE_VERSION_TEST" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -5067,8 +5264,8 @@
  else
     pkg_failed=untried
 fi
-if test -n "$vamp_LIBS"; then
-    pkg_cv_vamp_LIBS="$vamp_LIBS"
+if test -n "$rubberband_LIBS"; then
+    pkg_cv_rubberband_LIBS="$rubberband_LIBS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$SV_MODULE_VERSION_TEST\""; } >&5
@@ -5076,7 +5273,7 @@
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_vamp_LIBS=`$PKG_CONFIG --libs "$SV_MODULE_VERSION_TEST" 2>/dev/null`
+  pkg_cv_rubberband_LIBS=`$PKG_CONFIG --libs "$SV_MODULE_VERSION_TEST" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -5097,12 +5294,12 @@
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        vamp_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
+	        rubberband_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
         else
-	        vamp_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
+	        rubberband_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
         fi
 	# Put the nasty error message in config.log where it belongs
-	echo "$vamp_PKG_ERRORS" >&5
+	echo "$rubberband_PKG_ERRORS" >&5
 
 	{ $as_echo "$as_me:${as_lineno-$LINENO}: Failed to find required module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&5
 $as_echo "$as_me: Failed to find required module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&6;}
@@ -5112,11 +5309,11 @@
 	{ $as_echo "$as_me:${as_lineno-$LINENO}: Failed to find required module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&5
 $as_echo "$as_me: Failed to find required module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&6;}
 else
-	vamp_CFLAGS=$pkg_cv_vamp_CFLAGS
-	vamp_LIBS=$pkg_cv_vamp_LIBS
+	rubberband_CFLAGS=$pkg_cv_rubberband_CFLAGS
+	rubberband_LIBS=$pkg_cv_rubberband_LIBS
         { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
-	HAVES="$HAVES $SV_MODULE_HAVE";CXXFLAGS="$CXXFLAGS $vamp_CFLAGS";LIBS="$LIBS $vamp_LIBS";SV_MODULE_FAILED=""
+	HAVES="$HAVES $SV_MODULE_HAVE";CXXFLAGS="$CXXFLAGS $rubberband_CFLAGS";LIBS="$LIBS $rubberband_LIBS";SV_MODULE_FAILED=""
 fi
 fi
 if test -n "$SV_MODULE_FAILED"; then
@@ -5178,18 +5375,18 @@
 fi
 
 
-SV_MODULE_MODULE=vamphostsdk
-SV_MODULE_VERSION_TEST="vamp-hostsdk >= 2.5"
-SV_MODULE_HEADER=vamp-hostsdk/PluginLoader.h
-SV_MODULE_LIB=vamp-hostsdk
-SV_MODULE_FUNC=libvamphostsdk_v_2_5_present
-SV_MODULE_HAVE=HAVE_$(echo vamphostsdk | tr 'a-z' 'A-Z')
+SV_MODULE_MODULE=sord
+SV_MODULE_VERSION_TEST="sord-0 >= 0.5"
+SV_MODULE_HEADER=sord/sord.h
+SV_MODULE_LIB=sord-0
+SV_MODULE_FUNC=sord_world_new
+SV_MODULE_HAVE=HAVE_$(echo sord | tr 'a-z' 'A-Z')
 SV_MODULE_FAILED=1
-if test -n "$vamphostsdk_LIBS" ; then
+if test -n "$sord_LIBS" ; then
    { $as_echo "$as_me:${as_lineno-$LINENO}: User set ${SV_MODULE_MODULE}_LIBS explicitly, skipping test for $SV_MODULE_MODULE" >&5
 $as_echo "$as_me: User set ${SV_MODULE_MODULE}_LIBS explicitly, skipping test for $SV_MODULE_MODULE" >&6;}
-   CXXFLAGS="$CXXFLAGS $vamphostsdk_CFLAGS"
-   LIBS="$LIBS $vamphostsdk_LIBS"
+   CXXFLAGS="$CXXFLAGS $sord_CFLAGS"
+   LIBS="$LIBS $sord_LIBS"
    SV_MODULE_FAILED=""
 fi
 if test -z "$SV_MODULE_VERSION_TEST" ; then
@@ -5198,11 +5395,11 @@
 if test -n "$SV_MODULE_FAILED" && test -n "$PKG_CONFIG"; then
 
 pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for vamphostsdk" >&5
-$as_echo_n "checking for vamphostsdk... " >&6; }
-
-if test -n "$vamphostsdk_CFLAGS"; then
-    pkg_cv_vamphostsdk_CFLAGS="$vamphostsdk_CFLAGS"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sord" >&5
+$as_echo_n "checking for sord... " >&6; }
+
+if test -n "$sord_CFLAGS"; then
+    pkg_cv_sord_CFLAGS="$sord_CFLAGS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$SV_MODULE_VERSION_TEST\""; } >&5
@@ -5210,7 +5407,7 @@
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_vamphostsdk_CFLAGS=`$PKG_CONFIG --cflags "$SV_MODULE_VERSION_TEST" 2>/dev/null`
+  pkg_cv_sord_CFLAGS=`$PKG_CONFIG --cflags "$SV_MODULE_VERSION_TEST" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -5218,8 +5415,8 @@
  else
     pkg_failed=untried
 fi
-if test -n "$vamphostsdk_LIBS"; then
-    pkg_cv_vamphostsdk_LIBS="$vamphostsdk_LIBS"
+if test -n "$sord_LIBS"; then
+    pkg_cv_sord_LIBS="$sord_LIBS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$SV_MODULE_VERSION_TEST\""; } >&5
@@ -5227,7 +5424,7 @@
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_vamphostsdk_LIBS=`$PKG_CONFIG --libs "$SV_MODULE_VERSION_TEST" 2>/dev/null`
+  pkg_cv_sord_LIBS=`$PKG_CONFIG --libs "$SV_MODULE_VERSION_TEST" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -5248,12 +5445,12 @@
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        vamphostsdk_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
+	        sord_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
         else
-	        vamphostsdk_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
+	        sord_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
         fi
 	# Put the nasty error message in config.log where it belongs
-	echo "$vamphostsdk_PKG_ERRORS" >&5
+	echo "$sord_PKG_ERRORS" >&5
 
 	{ $as_echo "$as_me:${as_lineno-$LINENO}: Failed to find required module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&5
 $as_echo "$as_me: Failed to find required module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&6;}
@@ -5263,11 +5460,11 @@
 	{ $as_echo "$as_me:${as_lineno-$LINENO}: Failed to find required module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&5
 $as_echo "$as_me: Failed to find required module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&6;}
 else
-	vamphostsdk_CFLAGS=$pkg_cv_vamphostsdk_CFLAGS
-	vamphostsdk_LIBS=$pkg_cv_vamphostsdk_LIBS
+	sord_CFLAGS=$pkg_cv_sord_CFLAGS
+	sord_LIBS=$pkg_cv_sord_LIBS
         { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
-	HAVES="$HAVES $SV_MODULE_HAVE";CXXFLAGS="$CXXFLAGS $vamphostsdk_CFLAGS";LIBS="$LIBS $vamphostsdk_LIBS";SV_MODULE_FAILED=""
+	HAVES="$HAVES $SV_MODULE_HAVE";CXXFLAGS="$CXXFLAGS $sord_CFLAGS";LIBS="$LIBS $sord_LIBS";SV_MODULE_FAILED=""
 fi
 fi
 if test -n "$SV_MODULE_FAILED"; then
@@ -5329,18 +5526,18 @@
 fi
 
 
-SV_MODULE_MODULE=rubberband
-SV_MODULE_VERSION_TEST="rubberband"
-SV_MODULE_HEADER=rubberband/RubberBandStretcher.h
-SV_MODULE_LIB=rubberband
-SV_MODULE_FUNC=rubberband_new
-SV_MODULE_HAVE=HAVE_$(echo rubberband | tr 'a-z' 'A-Z')
+SV_MODULE_MODULE=serd
+SV_MODULE_VERSION_TEST="serd-0 >= 0.5"
+SV_MODULE_HEADER=serd/serd.h
+SV_MODULE_LIB=serd-0
+SV_MODULE_FUNC=serd_reader_read_file
+SV_MODULE_HAVE=HAVE_$(echo serd | tr 'a-z' 'A-Z')
 SV_MODULE_FAILED=1
-if test -n "$rubberband_LIBS" ; then
+if test -n "$serd_LIBS" ; then
    { $as_echo "$as_me:${as_lineno-$LINENO}: User set ${SV_MODULE_MODULE}_LIBS explicitly, skipping test for $SV_MODULE_MODULE" >&5
 $as_echo "$as_me: User set ${SV_MODULE_MODULE}_LIBS explicitly, skipping test for $SV_MODULE_MODULE" >&6;}
-   CXXFLAGS="$CXXFLAGS $rubberband_CFLAGS"
-   LIBS="$LIBS $rubberband_LIBS"
+   CXXFLAGS="$CXXFLAGS $serd_CFLAGS"
+   LIBS="$LIBS $serd_LIBS"
    SV_MODULE_FAILED=""
 fi
 if test -z "$SV_MODULE_VERSION_TEST" ; then
@@ -5349,11 +5546,11 @@
 if test -n "$SV_MODULE_FAILED" && test -n "$PKG_CONFIG"; then
 
 pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for rubberband" >&5
-$as_echo_n "checking for rubberband... " >&6; }
-
-if test -n "$rubberband_CFLAGS"; then
-    pkg_cv_rubberband_CFLAGS="$rubberband_CFLAGS"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for serd" >&5
+$as_echo_n "checking for serd... " >&6; }
+
+if test -n "$serd_CFLAGS"; then
+    pkg_cv_serd_CFLAGS="$serd_CFLAGS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$SV_MODULE_VERSION_TEST\""; } >&5
@@ -5361,7 +5558,7 @@
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_rubberband_CFLAGS=`$PKG_CONFIG --cflags "$SV_MODULE_VERSION_TEST" 2>/dev/null`
+  pkg_cv_serd_CFLAGS=`$PKG_CONFIG --cflags "$SV_MODULE_VERSION_TEST" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -5369,8 +5566,8 @@
  else
     pkg_failed=untried
 fi
-if test -n "$rubberband_LIBS"; then
-    pkg_cv_rubberband_LIBS="$rubberband_LIBS"
+if test -n "$serd_LIBS"; then
+    pkg_cv_serd_LIBS="$serd_LIBS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$SV_MODULE_VERSION_TEST\""; } >&5
@@ -5378,7 +5575,7 @@
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_rubberband_LIBS=`$PKG_CONFIG --libs "$SV_MODULE_VERSION_TEST" 2>/dev/null`
+  pkg_cv_serd_LIBS=`$PKG_CONFIG --libs "$SV_MODULE_VERSION_TEST" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -5399,12 +5596,12 @@
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        rubberband_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
+	        serd_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
         else
-	        rubberband_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
+	        serd_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
         fi
 	# Put the nasty error message in config.log where it belongs
-	echo "$rubberband_PKG_ERRORS" >&5
+	echo "$serd_PKG_ERRORS" >&5
 
 	{ $as_echo "$as_me:${as_lineno-$LINENO}: Failed to find required module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&5
 $as_echo "$as_me: Failed to find required module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&6;}
@@ -5414,11 +5611,11 @@
 	{ $as_echo "$as_me:${as_lineno-$LINENO}: Failed to find required module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&5
 $as_echo "$as_me: Failed to find required module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&6;}
 else
-	rubberband_CFLAGS=$pkg_cv_rubberband_CFLAGS
-	rubberband_LIBS=$pkg_cv_rubberband_LIBS
+	serd_CFLAGS=$pkg_cv_serd_CFLAGS
+	serd_LIBS=$pkg_cv_serd_LIBS
         { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
-	HAVES="$HAVES $SV_MODULE_HAVE";CXXFLAGS="$CXXFLAGS $rubberband_CFLAGS";LIBS="$LIBS $rubberband_LIBS";SV_MODULE_FAILED=""
+	HAVES="$HAVES $SV_MODULE_HAVE";CXXFLAGS="$CXXFLAGS $serd_CFLAGS";LIBS="$LIBS $serd_LIBS";SV_MODULE_FAILED=""
 fi
 fi
 if test -n "$SV_MODULE_FAILED"; then
@@ -5480,18 +5677,19 @@
 fi
 
 
-SV_MODULE_MODULE=sord
-SV_MODULE_VERSION_TEST="sord-0 >= 0.5"
-SV_MODULE_HEADER=sord/sord.h
-SV_MODULE_LIB=sord-0
-SV_MODULE_FUNC=sord_world_new
-SV_MODULE_HAVE=HAVE_$(echo sord | tr 'a-z' 'A-Z')
+
+SV_MODULE_MODULE=liblo
+SV_MODULE_VERSION_TEST=""
+SV_MODULE_HEADER=lo/lo.h
+SV_MODULE_LIB=lo
+SV_MODULE_FUNC=lo_address_new
+SV_MODULE_HAVE=HAVE_$(echo liblo | tr 'a-z' 'A-Z')
 SV_MODULE_FAILED=1
-if test -n "$sord_LIBS" ; then
+if test -n "$liblo_LIBS" ; then
    { $as_echo "$as_me:${as_lineno-$LINENO}: User set ${SV_MODULE_MODULE}_LIBS explicitly, skipping test for $SV_MODULE_MODULE" >&5
 $as_echo "$as_me: User set ${SV_MODULE_MODULE}_LIBS explicitly, skipping test for $SV_MODULE_MODULE" >&6;}
-   CXXFLAGS="$CXXFLAGS $sord_CFLAGS"
-   LIBS="$LIBS $sord_LIBS"
+   CXXFLAGS="$CXXFLAGS $liblo_CFLAGS"
+   LIBS="$LIBS $liblo_LIBS"
    SV_MODULE_FAILED=""
 fi
 if test -z "$SV_MODULE_VERSION_TEST" ; then
@@ -5500,11 +5698,11 @@
 if test -n "$SV_MODULE_FAILED" && test -n "$PKG_CONFIG"; then
 
 pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sord" >&5
-$as_echo_n "checking for sord... " >&6; }
-
-if test -n "$sord_CFLAGS"; then
-    pkg_cv_sord_CFLAGS="$sord_CFLAGS"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for liblo" >&5
+$as_echo_n "checking for liblo... " >&6; }
+
+if test -n "$liblo_CFLAGS"; then
+    pkg_cv_liblo_CFLAGS="$liblo_CFLAGS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$SV_MODULE_VERSION_TEST\""; } >&5
@@ -5512,7 +5710,7 @@
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_sord_CFLAGS=`$PKG_CONFIG --cflags "$SV_MODULE_VERSION_TEST" 2>/dev/null`
+  pkg_cv_liblo_CFLAGS=`$PKG_CONFIG --cflags "$SV_MODULE_VERSION_TEST" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -5520,8 +5718,8 @@
  else
     pkg_failed=untried
 fi
-if test -n "$sord_LIBS"; then
-    pkg_cv_sord_LIBS="$sord_LIBS"
+if test -n "$liblo_LIBS"; then
+    pkg_cv_liblo_LIBS="$liblo_LIBS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$SV_MODULE_VERSION_TEST\""; } >&5
@@ -5529,7 +5727,7 @@
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_sord_LIBS=`$PKG_CONFIG --libs "$SV_MODULE_VERSION_TEST" 2>/dev/null`
+  pkg_cv_liblo_LIBS=`$PKG_CONFIG --libs "$SV_MODULE_VERSION_TEST" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -5550,40 +5748,42 @@
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        sord_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
+	        liblo_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
         else
-	        sord_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
+	        liblo_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
         fi
 	# Put the nasty error message in config.log where it belongs
-	echo "$sord_PKG_ERRORS" >&5
-
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: Failed to find required module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&5
-$as_echo "$as_me: Failed to find required module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&6;}
+	echo "$liblo_PKG_ERRORS" >&5
+
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&5
+$as_echo "$as_me: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&6;}
 elif test $pkg_failed = untried; then
      	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: Failed to find required module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&5
-$as_echo "$as_me: Failed to find required module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&6;}
-else
-	sord_CFLAGS=$pkg_cv_sord_CFLAGS
-	sord_LIBS=$pkg_cv_sord_LIBS
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&5
+$as_echo "$as_me: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&6;}
+else
+	liblo_CFLAGS=$pkg_cv_liblo_CFLAGS
+	liblo_LIBS=$pkg_cv_liblo_LIBS
         { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
-	HAVES="$HAVES $SV_MODULE_HAVE";CXXFLAGS="$CXXFLAGS $sord_CFLAGS";LIBS="$LIBS $sord_LIBS";SV_MODULE_FAILED=""
+	HAVES="$HAVES $SV_MODULE_HAVE";CXXFLAGS="$CXXFLAGS $liblo_CFLAGS";LIBS="$LIBS $liblo_LIBS";SV_MODULE_FAILED=""
 fi
 fi
 if test -n "$SV_MODULE_FAILED"; then
    as_ac_Header=`$as_echo "ac_cv_header_$SV_MODULE_HEADER" | $as_tr_sh`
 ac_fn_cxx_check_header_mongrel "$LINENO" "$SV_MODULE_HEADER" "$as_ac_Header" "$ac_includes_default"
 if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  HAVES="$HAVES $SV_MODULE_HAVE"
-else
-  as_fn_error $? "Failed to find header $SV_MODULE_HEADER for required module $SV_MODULE_MODULE" "$LINENO" 5
-fi
-
-
-   if test -n "$SV_MODULE_LIB"; then
-     as_ac_Lib=`$as_echo "ac_cv_lib_$SV_MODULE_LIB''_$SV_MODULE_FUNC" | $as_tr_sh`
+  HAVES="$HAVES $SV_MODULE_HAVE";SV_MODULE_FAILED=""
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: Failed to find header $SV_MODULE_HEADER for optional module $SV_MODULE_MODULE" >&5
+$as_echo "$as_me: Failed to find header $SV_MODULE_HEADER for optional module $SV_MODULE_MODULE" >&6;}
+fi
+
+
+   if test -z "$SV_MODULE_FAILED"; then
+      if test -n "$SV_MODULE_LIB"; then
+           as_ac_Lib=`$as_echo "ac_cv_lib_$SV_MODULE_LIB''_$SV_MODULE_FUNC" | $as_tr_sh`
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $SV_MODULE_FUNC in -l$SV_MODULE_LIB" >&5
 $as_echo_n "checking for $SV_MODULE_FUNC in -l$SV_MODULE_LIB... " >&6; }
 if eval \${$as_ac_Lib+:} false; then :
@@ -5624,25 +5824,27 @@
 if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then :
   LIBS="$LIBS -l$SV_MODULE_LIB"
 else
-  as_fn_error $? "Failed to find library $SV_MODULE_LIB for required module $SV_MODULE_MODULE" "$LINENO" 5
-fi
-
+  { $as_echo "$as_me:${as_lineno-$LINENO}: Failed to find library $SV_MODULE_LIB for optional module $SV_MODULE_MODULE" >&5
+$as_echo "$as_me: Failed to find library $SV_MODULE_LIB for optional module $SV_MODULE_MODULE" >&6;}
+fi
+
+      fi
    fi
 fi
 
 
-SV_MODULE_MODULE=serd
-SV_MODULE_VERSION_TEST="serd-0 >= 0.5"
-SV_MODULE_HEADER=serd/serd.h
-SV_MODULE_LIB=serd-0
-SV_MODULE_FUNC=serd_reader_read_file
-SV_MODULE_HAVE=HAVE_$(echo serd | tr 'a-z' 'A-Z')
+SV_MODULE_MODULE=portaudio
+SV_MODULE_VERSION_TEST="portaudio-2.0 >= 19"
+SV_MODULE_HEADER=portaudio.h
+SV_MODULE_LIB=portaudio
+SV_MODULE_FUNC=Pa_IsFormatSupported
+SV_MODULE_HAVE=HAVE_$(echo portaudio | tr 'a-z' 'A-Z')
 SV_MODULE_FAILED=1
-if test -n "$serd_LIBS" ; then
+if test -n "$portaudio_LIBS" ; then
    { $as_echo "$as_me:${as_lineno-$LINENO}: User set ${SV_MODULE_MODULE}_LIBS explicitly, skipping test for $SV_MODULE_MODULE" >&5
 $as_echo "$as_me: User set ${SV_MODULE_MODULE}_LIBS explicitly, skipping test for $SV_MODULE_MODULE" >&6;}
-   CXXFLAGS="$CXXFLAGS $serd_CFLAGS"
-   LIBS="$LIBS $serd_LIBS"
+   CXXFLAGS="$CXXFLAGS $portaudio_CFLAGS"
+   LIBS="$LIBS $portaudio_LIBS"
    SV_MODULE_FAILED=""
 fi
 if test -z "$SV_MODULE_VERSION_TEST" ; then
@@ -5651,11 +5853,11 @@
 if test -n "$SV_MODULE_FAILED" && test -n "$PKG_CONFIG"; then
 
 pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for serd" >&5
-$as_echo_n "checking for serd... " >&6; }
-
-if test -n "$serd_CFLAGS"; then
-    pkg_cv_serd_CFLAGS="$serd_CFLAGS"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for portaudio" >&5
+$as_echo_n "checking for portaudio... " >&6; }
+
+if test -n "$portaudio_CFLAGS"; then
+    pkg_cv_portaudio_CFLAGS="$portaudio_CFLAGS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$SV_MODULE_VERSION_TEST\""; } >&5
@@ -5663,7 +5865,7 @@
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_serd_CFLAGS=`$PKG_CONFIG --cflags "$SV_MODULE_VERSION_TEST" 2>/dev/null`
+  pkg_cv_portaudio_CFLAGS=`$PKG_CONFIG --cflags "$SV_MODULE_VERSION_TEST" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -5671,8 +5873,8 @@
  else
     pkg_failed=untried
 fi
-if test -n "$serd_LIBS"; then
-    pkg_cv_serd_LIBS="$serd_LIBS"
+if test -n "$portaudio_LIBS"; then
+    pkg_cv_portaudio_LIBS="$portaudio_LIBS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$SV_MODULE_VERSION_TEST\""; } >&5
@@ -5680,7 +5882,7 @@
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_serd_LIBS=`$PKG_CONFIG --libs "$SV_MODULE_VERSION_TEST" 2>/dev/null`
+  pkg_cv_portaudio_LIBS=`$PKG_CONFIG --libs "$SV_MODULE_VERSION_TEST" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -5701,40 +5903,42 @@
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        serd_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
+	        portaudio_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
         else
-	        serd_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
+	        portaudio_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
         fi
 	# Put the nasty error message in config.log where it belongs
-	echo "$serd_PKG_ERRORS" >&5
-
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: Failed to find required module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&5
-$as_echo "$as_me: Failed to find required module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&6;}
+	echo "$portaudio_PKG_ERRORS" >&5
+
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&5
+$as_echo "$as_me: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&6;}
 elif test $pkg_failed = untried; then
      	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: Failed to find required module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&5
-$as_echo "$as_me: Failed to find required module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&6;}
-else
-	serd_CFLAGS=$pkg_cv_serd_CFLAGS
-	serd_LIBS=$pkg_cv_serd_LIBS
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&5
+$as_echo "$as_me: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&6;}
+else
+	portaudio_CFLAGS=$pkg_cv_portaudio_CFLAGS
+	portaudio_LIBS=$pkg_cv_portaudio_LIBS
         { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
-	HAVES="$HAVES $SV_MODULE_HAVE";CXXFLAGS="$CXXFLAGS $serd_CFLAGS";LIBS="$LIBS $serd_LIBS";SV_MODULE_FAILED=""
+	HAVES="$HAVES $SV_MODULE_HAVE";CXXFLAGS="$CXXFLAGS $portaudio_CFLAGS";LIBS="$LIBS $portaudio_LIBS";SV_MODULE_FAILED=""
 fi
 fi
 if test -n "$SV_MODULE_FAILED"; then
    as_ac_Header=`$as_echo "ac_cv_header_$SV_MODULE_HEADER" | $as_tr_sh`
 ac_fn_cxx_check_header_mongrel "$LINENO" "$SV_MODULE_HEADER" "$as_ac_Header" "$ac_includes_default"
 if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  HAVES="$HAVES $SV_MODULE_HAVE"
-else
-  as_fn_error $? "Failed to find header $SV_MODULE_HEADER for required module $SV_MODULE_MODULE" "$LINENO" 5
-fi
-
-
-   if test -n "$SV_MODULE_LIB"; then
-     as_ac_Lib=`$as_echo "ac_cv_lib_$SV_MODULE_LIB''_$SV_MODULE_FUNC" | $as_tr_sh`
+  HAVES="$HAVES $SV_MODULE_HAVE";SV_MODULE_FAILED=""
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: Failed to find header $SV_MODULE_HEADER for optional module $SV_MODULE_MODULE" >&5
+$as_echo "$as_me: Failed to find header $SV_MODULE_HEADER for optional module $SV_MODULE_MODULE" >&6;}
+fi
+
+
+   if test -z "$SV_MODULE_FAILED"; then
+      if test -n "$SV_MODULE_LIB"; then
+           as_ac_Lib=`$as_echo "ac_cv_lib_$SV_MODULE_LIB''_$SV_MODULE_FUNC" | $as_tr_sh`
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $SV_MODULE_FUNC in -l$SV_MODULE_LIB" >&5
 $as_echo_n "checking for $SV_MODULE_FUNC in -l$SV_MODULE_LIB... " >&6; }
 if eval \${$as_ac_Lib+:} false; then :
@@ -5775,26 +5979,27 @@
 if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then :
   LIBS="$LIBS -l$SV_MODULE_LIB"
 else
-  as_fn_error $? "Failed to find library $SV_MODULE_LIB for required module $SV_MODULE_MODULE" "$LINENO" 5
-fi
-
+  { $as_echo "$as_me:${as_lineno-$LINENO}: Failed to find library $SV_MODULE_LIB for optional module $SV_MODULE_MODULE" >&5
+$as_echo "$as_me: Failed to find library $SV_MODULE_LIB for optional module $SV_MODULE_MODULE" >&6;}
+fi
+
+      fi
    fi
 fi
 
 
-
-SV_MODULE_MODULE=liblo
-SV_MODULE_VERSION_TEST=""
-SV_MODULE_HEADER=lo/lo.h
-SV_MODULE_LIB=lo
-SV_MODULE_FUNC=lo_address_new
-SV_MODULE_HAVE=HAVE_$(echo liblo | tr 'a-z' 'A-Z')
+SV_MODULE_MODULE=JACK
+SV_MODULE_VERSION_TEST="jack >= 0.100"
+SV_MODULE_HEADER=jack/jack.h
+SV_MODULE_LIB=jack
+SV_MODULE_FUNC=jack_client_open
+SV_MODULE_HAVE=HAVE_$(echo JACK | tr 'a-z' 'A-Z')
 SV_MODULE_FAILED=1
-if test -n "$liblo_LIBS" ; then
+if test -n "$JACK_LIBS" ; then
    { $as_echo "$as_me:${as_lineno-$LINENO}: User set ${SV_MODULE_MODULE}_LIBS explicitly, skipping test for $SV_MODULE_MODULE" >&5
 $as_echo "$as_me: User set ${SV_MODULE_MODULE}_LIBS explicitly, skipping test for $SV_MODULE_MODULE" >&6;}
-   CXXFLAGS="$CXXFLAGS $liblo_CFLAGS"
-   LIBS="$LIBS $liblo_LIBS"
+   CXXFLAGS="$CXXFLAGS $JACK_CFLAGS"
+   LIBS="$LIBS $JACK_LIBS"
    SV_MODULE_FAILED=""
 fi
 if test -z "$SV_MODULE_VERSION_TEST" ; then
@@ -5803,11 +6008,11 @@
 if test -n "$SV_MODULE_FAILED" && test -n "$PKG_CONFIG"; then
 
 pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for liblo" >&5
-$as_echo_n "checking for liblo... " >&6; }
-
-if test -n "$liblo_CFLAGS"; then
-    pkg_cv_liblo_CFLAGS="$liblo_CFLAGS"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for JACK" >&5
+$as_echo_n "checking for JACK... " >&6; }
+
+if test -n "$JACK_CFLAGS"; then
+    pkg_cv_JACK_CFLAGS="$JACK_CFLAGS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$SV_MODULE_VERSION_TEST\""; } >&5
@@ -5815,7 +6020,7 @@
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_liblo_CFLAGS=`$PKG_CONFIG --cflags "$SV_MODULE_VERSION_TEST" 2>/dev/null`
+  pkg_cv_JACK_CFLAGS=`$PKG_CONFIG --cflags "$SV_MODULE_VERSION_TEST" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -5823,8 +6028,8 @@
  else
     pkg_failed=untried
 fi
-if test -n "$liblo_LIBS"; then
-    pkg_cv_liblo_LIBS="$liblo_LIBS"
+if test -n "$JACK_LIBS"; then
+    pkg_cv_JACK_LIBS="$JACK_LIBS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$SV_MODULE_VERSION_TEST\""; } >&5
@@ -5832,7 +6037,7 @@
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_liblo_LIBS=`$PKG_CONFIG --libs "$SV_MODULE_VERSION_TEST" 2>/dev/null`
+  pkg_cv_JACK_LIBS=`$PKG_CONFIG --libs "$SV_MODULE_VERSION_TEST" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -5853,12 +6058,12 @@
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        liblo_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
+	        JACK_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
         else
-	        liblo_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
+	        JACK_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
         fi
 	# Put the nasty error message in config.log where it belongs
-	echo "$liblo_PKG_ERRORS" >&5
+	echo "$JACK_PKG_ERRORS" >&5
 
 	{ $as_echo "$as_me:${as_lineno-$LINENO}: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&5
 $as_echo "$as_me: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&6;}
@@ -5868,11 +6073,11 @@
 	{ $as_echo "$as_me:${as_lineno-$LINENO}: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&5
 $as_echo "$as_me: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&6;}
 else
-	liblo_CFLAGS=$pkg_cv_liblo_CFLAGS
-	liblo_LIBS=$pkg_cv_liblo_LIBS
+	JACK_CFLAGS=$pkg_cv_JACK_CFLAGS
+	JACK_LIBS=$pkg_cv_JACK_LIBS
         { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
-	HAVES="$HAVES $SV_MODULE_HAVE";CXXFLAGS="$CXXFLAGS $liblo_CFLAGS";LIBS="$LIBS $liblo_LIBS";SV_MODULE_FAILED=""
+	HAVES="$HAVES $SV_MODULE_HAVE";CXXFLAGS="$CXXFLAGS $JACK_CFLAGS";LIBS="$LIBS $JACK_LIBS";SV_MODULE_FAILED=""
 fi
 fi
 if test -n "$SV_MODULE_FAILED"; then
@@ -5938,18 +6143,18 @@
 fi
 
 
-SV_MODULE_MODULE=portaudio_2_0
-SV_MODULE_VERSION_TEST="portaudio-2.0 >= 19"
-SV_MODULE_HEADER=portaudio.h
-SV_MODULE_LIB=portaudio
-SV_MODULE_FUNC=Pa_IsFormatSupported
-SV_MODULE_HAVE=HAVE_$(echo portaudio_2_0 | tr 'a-z' 'A-Z')
+SV_MODULE_MODULE=libpulse
+SV_MODULE_VERSION_TEST="libpulse >= 0.9"
+SV_MODULE_HEADER=pulse/pulseaudio.h
+SV_MODULE_LIB=pulse
+SV_MODULE_FUNC=pa_stream_new
+SV_MODULE_HAVE=HAVE_$(echo libpulse | tr 'a-z' 'A-Z')
 SV_MODULE_FAILED=1
-if test -n "$portaudio_2_0_LIBS" ; then
+if test -n "$libpulse_LIBS" ; then
    { $as_echo "$as_me:${as_lineno-$LINENO}: User set ${SV_MODULE_MODULE}_LIBS explicitly, skipping test for $SV_MODULE_MODULE" >&5
 $as_echo "$as_me: User set ${SV_MODULE_MODULE}_LIBS explicitly, skipping test for $SV_MODULE_MODULE" >&6;}
-   CXXFLAGS="$CXXFLAGS $portaudio_2_0_CFLAGS"
-   LIBS="$LIBS $portaudio_2_0_LIBS"
+   CXXFLAGS="$CXXFLAGS $libpulse_CFLAGS"
+   LIBS="$LIBS $libpulse_LIBS"
    SV_MODULE_FAILED=""
 fi
 if test -z "$SV_MODULE_VERSION_TEST" ; then
@@ -5958,11 +6163,11 @@
 if test -n "$SV_MODULE_FAILED" && test -n "$PKG_CONFIG"; then
 
 pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for portaudio_2_0" >&5
-$as_echo_n "checking for portaudio_2_0... " >&6; }
-
-if test -n "$portaudio_2_0_CFLAGS"; then
-    pkg_cv_portaudio_2_0_CFLAGS="$portaudio_2_0_CFLAGS"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libpulse" >&5
+$as_echo_n "checking for libpulse... " >&6; }
+
+if test -n "$libpulse_CFLAGS"; then
+    pkg_cv_libpulse_CFLAGS="$libpulse_CFLAGS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$SV_MODULE_VERSION_TEST\""; } >&5
@@ -5970,7 +6175,7 @@
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_portaudio_2_0_CFLAGS=`$PKG_CONFIG --cflags "$SV_MODULE_VERSION_TEST" 2>/dev/null`
+  pkg_cv_libpulse_CFLAGS=`$PKG_CONFIG --cflags "$SV_MODULE_VERSION_TEST" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -5978,8 +6183,8 @@
  else
     pkg_failed=untried
 fi
-if test -n "$portaudio_2_0_LIBS"; then
-    pkg_cv_portaudio_2_0_LIBS="$portaudio_2_0_LIBS"
+if test -n "$libpulse_LIBS"; then
+    pkg_cv_libpulse_LIBS="$libpulse_LIBS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$SV_MODULE_VERSION_TEST\""; } >&5
@@ -5987,7 +6192,7 @@
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_portaudio_2_0_LIBS=`$PKG_CONFIG --libs "$SV_MODULE_VERSION_TEST" 2>/dev/null`
+  pkg_cv_libpulse_LIBS=`$PKG_CONFIG --libs "$SV_MODULE_VERSION_TEST" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -6008,12 +6213,12 @@
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        portaudio_2_0_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
+	        libpulse_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
         else
-	        portaudio_2_0_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
+	        libpulse_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
         fi
 	# Put the nasty error message in config.log where it belongs
-	echo "$portaudio_2_0_PKG_ERRORS" >&5
+	echo "$libpulse_PKG_ERRORS" >&5
 
 	{ $as_echo "$as_me:${as_lineno-$LINENO}: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&5
 $as_echo "$as_me: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&6;}
@@ -6023,11 +6228,11 @@
 	{ $as_echo "$as_me:${as_lineno-$LINENO}: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&5
 $as_echo "$as_me: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&6;}
 else
-	portaudio_2_0_CFLAGS=$pkg_cv_portaudio_2_0_CFLAGS
-	portaudio_2_0_LIBS=$pkg_cv_portaudio_2_0_LIBS
+	libpulse_CFLAGS=$pkg_cv_libpulse_CFLAGS
+	libpulse_LIBS=$pkg_cv_libpulse_LIBS
         { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
-	HAVES="$HAVES $SV_MODULE_HAVE";CXXFLAGS="$CXXFLAGS $portaudio_2_0_CFLAGS";LIBS="$LIBS $portaudio_2_0_LIBS";SV_MODULE_FAILED=""
+	HAVES="$HAVES $SV_MODULE_HAVE";CXXFLAGS="$CXXFLAGS $libpulse_CFLAGS";LIBS="$LIBS $libpulse_LIBS";SV_MODULE_FAILED=""
 fi
 fi
 if test -n "$SV_MODULE_FAILED"; then
@@ -6093,18 +6298,18 @@
 fi
 
 
-SV_MODULE_MODULE=JACK
-SV_MODULE_VERSION_TEST="jack >= 0.100"
-SV_MODULE_HEADER=jack/jack.h
-SV_MODULE_LIB=jack
-SV_MODULE_FUNC=jack_client_open
-SV_MODULE_HAVE=HAVE_$(echo JACK | tr 'a-z' 'A-Z')
+SV_MODULE_MODULE=lrdf
+SV_MODULE_VERSION_TEST="lrdf >= 0.2"
+SV_MODULE_HEADER=lrdf.h
+SV_MODULE_LIB=lrdf
+SV_MODULE_FUNC=lrdf_init
+SV_MODULE_HAVE=HAVE_$(echo lrdf | tr 'a-z' 'A-Z')
 SV_MODULE_FAILED=1
-if test -n "$JACK_LIBS" ; then
+if test -n "$lrdf_LIBS" ; then
    { $as_echo "$as_me:${as_lineno-$LINENO}: User set ${SV_MODULE_MODULE}_LIBS explicitly, skipping test for $SV_MODULE_MODULE" >&5
 $as_echo "$as_me: User set ${SV_MODULE_MODULE}_LIBS explicitly, skipping test for $SV_MODULE_MODULE" >&6;}
-   CXXFLAGS="$CXXFLAGS $JACK_CFLAGS"
-   LIBS="$LIBS $JACK_LIBS"
+   CXXFLAGS="$CXXFLAGS $lrdf_CFLAGS"
+   LIBS="$LIBS $lrdf_LIBS"
    SV_MODULE_FAILED=""
 fi
 if test -z "$SV_MODULE_VERSION_TEST" ; then
@@ -6113,11 +6318,11 @@
 if test -n "$SV_MODULE_FAILED" && test -n "$PKG_CONFIG"; then
 
 pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for JACK" >&5
-$as_echo_n "checking for JACK... " >&6; }
-
-if test -n "$JACK_CFLAGS"; then
-    pkg_cv_JACK_CFLAGS="$JACK_CFLAGS"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for lrdf" >&5
+$as_echo_n "checking for lrdf... " >&6; }
+
+if test -n "$lrdf_CFLAGS"; then
+    pkg_cv_lrdf_CFLAGS="$lrdf_CFLAGS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$SV_MODULE_VERSION_TEST\""; } >&5
@@ -6125,7 +6330,7 @@
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_JACK_CFLAGS=`$PKG_CONFIG --cflags "$SV_MODULE_VERSION_TEST" 2>/dev/null`
+  pkg_cv_lrdf_CFLAGS=`$PKG_CONFIG --cflags "$SV_MODULE_VERSION_TEST" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -6133,8 +6338,8 @@
  else
     pkg_failed=untried
 fi
-if test -n "$JACK_LIBS"; then
-    pkg_cv_JACK_LIBS="$JACK_LIBS"
+if test -n "$lrdf_LIBS"; then
+    pkg_cv_lrdf_LIBS="$lrdf_LIBS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$SV_MODULE_VERSION_TEST\""; } >&5
@@ -6142,7 +6347,7 @@
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_JACK_LIBS=`$PKG_CONFIG --libs "$SV_MODULE_VERSION_TEST" 2>/dev/null`
+  pkg_cv_lrdf_LIBS=`$PKG_CONFIG --libs "$SV_MODULE_VERSION_TEST" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -6163,12 +6368,12 @@
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        JACK_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
+	        lrdf_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
         else
-	        JACK_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
+	        lrdf_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
         fi
 	# Put the nasty error message in config.log where it belongs
-	echo "$JACK_PKG_ERRORS" >&5
+	echo "$lrdf_PKG_ERRORS" >&5
 
 	{ $as_echo "$as_me:${as_lineno-$LINENO}: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&5
 $as_echo "$as_me: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&6;}
@@ -6178,11 +6383,11 @@
 	{ $as_echo "$as_me:${as_lineno-$LINENO}: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&5
 $as_echo "$as_me: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&6;}
 else
-	JACK_CFLAGS=$pkg_cv_JACK_CFLAGS
-	JACK_LIBS=$pkg_cv_JACK_LIBS
+	lrdf_CFLAGS=$pkg_cv_lrdf_CFLAGS
+	lrdf_LIBS=$pkg_cv_lrdf_LIBS
         { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
-	HAVES="$HAVES $SV_MODULE_HAVE";CXXFLAGS="$CXXFLAGS $JACK_CFLAGS";LIBS="$LIBS $JACK_LIBS";SV_MODULE_FAILED=""
+	HAVES="$HAVES $SV_MODULE_HAVE";CXXFLAGS="$CXXFLAGS $lrdf_CFLAGS";LIBS="$LIBS $lrdf_LIBS";SV_MODULE_FAILED=""
 fi
 fi
 if test -n "$SV_MODULE_FAILED"; then
@@ -6248,18 +6453,18 @@
 fi
 
 
-SV_MODULE_MODULE=libpulse
-SV_MODULE_VERSION_TEST="libpulse >= 0.9"
-SV_MODULE_HEADER=pulse/pulseaudio.h
-SV_MODULE_LIB=pulse
-SV_MODULE_FUNC=pa_stream_new
-SV_MODULE_HAVE=HAVE_$(echo libpulse | tr 'a-z' 'A-Z')
+SV_MODULE_MODULE=oggz
+SV_MODULE_VERSION_TEST="oggz >= 1.0.0"
+SV_MODULE_HEADER=oggz/oggz.h
+SV_MODULE_LIB=oggz
+SV_MODULE_FUNC=oggz_run
+SV_MODULE_HAVE=HAVE_$(echo oggz | tr 'a-z' 'A-Z')
 SV_MODULE_FAILED=1
-if test -n "$libpulse_LIBS" ; then
+if test -n "$oggz_LIBS" ; then
    { $as_echo "$as_me:${as_lineno-$LINENO}: User set ${SV_MODULE_MODULE}_LIBS explicitly, skipping test for $SV_MODULE_MODULE" >&5
 $as_echo "$as_me: User set ${SV_MODULE_MODULE}_LIBS explicitly, skipping test for $SV_MODULE_MODULE" >&6;}
-   CXXFLAGS="$CXXFLAGS $libpulse_CFLAGS"
-   LIBS="$LIBS $libpulse_LIBS"
+   CXXFLAGS="$CXXFLAGS $oggz_CFLAGS"
+   LIBS="$LIBS $oggz_LIBS"
    SV_MODULE_FAILED=""
 fi
 if test -z "$SV_MODULE_VERSION_TEST" ; then
@@ -6268,11 +6473,11 @@
 if test -n "$SV_MODULE_FAILED" && test -n "$PKG_CONFIG"; then
 
 pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libpulse" >&5
-$as_echo_n "checking for libpulse... " >&6; }
-
-if test -n "$libpulse_CFLAGS"; then
-    pkg_cv_libpulse_CFLAGS="$libpulse_CFLAGS"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for oggz" >&5
+$as_echo_n "checking for oggz... " >&6; }
+
+if test -n "$oggz_CFLAGS"; then
+    pkg_cv_oggz_CFLAGS="$oggz_CFLAGS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$SV_MODULE_VERSION_TEST\""; } >&5
@@ -6280,7 +6485,7 @@
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_libpulse_CFLAGS=`$PKG_CONFIG --cflags "$SV_MODULE_VERSION_TEST" 2>/dev/null`
+  pkg_cv_oggz_CFLAGS=`$PKG_CONFIG --cflags "$SV_MODULE_VERSION_TEST" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -6288,8 +6493,8 @@
  else
     pkg_failed=untried
 fi
-if test -n "$libpulse_LIBS"; then
-    pkg_cv_libpulse_LIBS="$libpulse_LIBS"
+if test -n "$oggz_LIBS"; then
+    pkg_cv_oggz_LIBS="$oggz_LIBS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$SV_MODULE_VERSION_TEST\""; } >&5
@@ -6297,7 +6502,7 @@
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_libpulse_LIBS=`$PKG_CONFIG --libs "$SV_MODULE_VERSION_TEST" 2>/dev/null`
+  pkg_cv_oggz_LIBS=`$PKG_CONFIG --libs "$SV_MODULE_VERSION_TEST" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -6318,12 +6523,12 @@
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        libpulse_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
+	        oggz_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
         else
-	        libpulse_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
+	        oggz_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
         fi
 	# Put the nasty error message in config.log where it belongs
-	echo "$libpulse_PKG_ERRORS" >&5
+	echo "$oggz_PKG_ERRORS" >&5
 
 	{ $as_echo "$as_me:${as_lineno-$LINENO}: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&5
 $as_echo "$as_me: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&6;}
@@ -6333,11 +6538,11 @@
 	{ $as_echo "$as_me:${as_lineno-$LINENO}: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&5
 $as_echo "$as_me: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&6;}
 else
-	libpulse_CFLAGS=$pkg_cv_libpulse_CFLAGS
-	libpulse_LIBS=$pkg_cv_libpulse_LIBS
+	oggz_CFLAGS=$pkg_cv_oggz_CFLAGS
+	oggz_LIBS=$pkg_cv_oggz_LIBS
         { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
-	HAVES="$HAVES $SV_MODULE_HAVE";CXXFLAGS="$CXXFLAGS $libpulse_CFLAGS";LIBS="$LIBS $libpulse_LIBS";SV_MODULE_FAILED=""
+	HAVES="$HAVES $SV_MODULE_HAVE";CXXFLAGS="$CXXFLAGS $oggz_CFLAGS";LIBS="$LIBS $oggz_LIBS";SV_MODULE_FAILED=""
 fi
 fi
 if test -n "$SV_MODULE_FAILED"; then
@@ -6403,18 +6608,18 @@
 fi
 
 
-SV_MODULE_MODULE=lrdf
-SV_MODULE_VERSION_TEST="lrdf >= 0.2"
-SV_MODULE_HEADER=lrdf.h
-SV_MODULE_LIB=lrdf
-SV_MODULE_FUNC=lrdf_init
-SV_MODULE_HAVE=HAVE_$(echo lrdf | tr 'a-z' 'A-Z')
+SV_MODULE_MODULE=fishsound
+SV_MODULE_VERSION_TEST="fishsound >= 1.0.0"
+SV_MODULE_HEADER=fishsound/fishsound.h
+SV_MODULE_LIB=fishsound
+SV_MODULE_FUNC=fish_sound_new
+SV_MODULE_HAVE=HAVE_$(echo fishsound | tr 'a-z' 'A-Z')
 SV_MODULE_FAILED=1
-if test -n "$lrdf_LIBS" ; then
+if test -n "$fishsound_LIBS" ; then
    { $as_echo "$as_me:${as_lineno-$LINENO}: User set ${SV_MODULE_MODULE}_LIBS explicitly, skipping test for $SV_MODULE_MODULE" >&5
 $as_echo "$as_me: User set ${SV_MODULE_MODULE}_LIBS explicitly, skipping test for $SV_MODULE_MODULE" >&6;}
-   CXXFLAGS="$CXXFLAGS $lrdf_CFLAGS"
-   LIBS="$LIBS $lrdf_LIBS"
+   CXXFLAGS="$CXXFLAGS $fishsound_CFLAGS"
+   LIBS="$LIBS $fishsound_LIBS"
    SV_MODULE_FAILED=""
 fi
 if test -z "$SV_MODULE_VERSION_TEST" ; then
@@ -6423,11 +6628,11 @@
 if test -n "$SV_MODULE_FAILED" && test -n "$PKG_CONFIG"; then
 
 pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for lrdf" >&5
-$as_echo_n "checking for lrdf... " >&6; }
-
-if test -n "$lrdf_CFLAGS"; then
-    pkg_cv_lrdf_CFLAGS="$lrdf_CFLAGS"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fishsound" >&5
+$as_echo_n "checking for fishsound... " >&6; }
+
+if test -n "$fishsound_CFLAGS"; then
+    pkg_cv_fishsound_CFLAGS="$fishsound_CFLAGS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$SV_MODULE_VERSION_TEST\""; } >&5
@@ -6435,7 +6640,7 @@
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_lrdf_CFLAGS=`$PKG_CONFIG --cflags "$SV_MODULE_VERSION_TEST" 2>/dev/null`
+  pkg_cv_fishsound_CFLAGS=`$PKG_CONFIG --cflags "$SV_MODULE_VERSION_TEST" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -6443,8 +6648,8 @@
  else
     pkg_failed=untried
 fi
-if test -n "$lrdf_LIBS"; then
-    pkg_cv_lrdf_LIBS="$lrdf_LIBS"
+if test -n "$fishsound_LIBS"; then
+    pkg_cv_fishsound_LIBS="$fishsound_LIBS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$SV_MODULE_VERSION_TEST\""; } >&5
@@ -6452,7 +6657,7 @@
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_lrdf_LIBS=`$PKG_CONFIG --libs "$SV_MODULE_VERSION_TEST" 2>/dev/null`
+  pkg_cv_fishsound_LIBS=`$PKG_CONFIG --libs "$SV_MODULE_VERSION_TEST" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -6473,12 +6678,12 @@
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        lrdf_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
+	        fishsound_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
         else
-	        lrdf_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
+	        fishsound_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
         fi
 	# Put the nasty error message in config.log where it belongs
-	echo "$lrdf_PKG_ERRORS" >&5
+	echo "$fishsound_PKG_ERRORS" >&5
 
 	{ $as_echo "$as_me:${as_lineno-$LINENO}: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&5
 $as_echo "$as_me: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&6;}
@@ -6488,11 +6693,11 @@
 	{ $as_echo "$as_me:${as_lineno-$LINENO}: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&5
 $as_echo "$as_me: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&6;}
 else
-	lrdf_CFLAGS=$pkg_cv_lrdf_CFLAGS
-	lrdf_LIBS=$pkg_cv_lrdf_LIBS
+	fishsound_CFLAGS=$pkg_cv_fishsound_CFLAGS
+	fishsound_LIBS=$pkg_cv_fishsound_LIBS
         { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
-	HAVES="$HAVES $SV_MODULE_HAVE";CXXFLAGS="$CXXFLAGS $lrdf_CFLAGS";LIBS="$LIBS $lrdf_LIBS";SV_MODULE_FAILED=""
+	HAVES="$HAVES $SV_MODULE_HAVE";CXXFLAGS="$CXXFLAGS $fishsound_CFLAGS";LIBS="$LIBS $fishsound_LIBS";SV_MODULE_FAILED=""
 fi
 fi
 if test -n "$SV_MODULE_FAILED"; then
@@ -6558,18 +6763,18 @@
 fi
 
 
-SV_MODULE_MODULE=oggz
-SV_MODULE_VERSION_TEST="oggz >= 1.0.0"
-SV_MODULE_HEADER=oggz/oggz.h
-SV_MODULE_LIB=oggz
-SV_MODULE_FUNC=oggz_run
-SV_MODULE_HAVE=HAVE_$(echo oggz | tr 'a-z' 'A-Z')
+SV_MODULE_MODULE=mad
+SV_MODULE_VERSION_TEST="mad >= 0.15.0"
+SV_MODULE_HEADER=mad.h
+SV_MODULE_LIB=mad
+SV_MODULE_FUNC=mad_decoder_init
+SV_MODULE_HAVE=HAVE_$(echo mad | tr 'a-z' 'A-Z')
 SV_MODULE_FAILED=1
-if test -n "$oggz_LIBS" ; then
+if test -n "$mad_LIBS" ; then
    { $as_echo "$as_me:${as_lineno-$LINENO}: User set ${SV_MODULE_MODULE}_LIBS explicitly, skipping test for $SV_MODULE_MODULE" >&5
 $as_echo "$as_me: User set ${SV_MODULE_MODULE}_LIBS explicitly, skipping test for $SV_MODULE_MODULE" >&6;}
-   CXXFLAGS="$CXXFLAGS $oggz_CFLAGS"
-   LIBS="$LIBS $oggz_LIBS"
+   CXXFLAGS="$CXXFLAGS $mad_CFLAGS"
+   LIBS="$LIBS $mad_LIBS"
    SV_MODULE_FAILED=""
 fi
 if test -z "$SV_MODULE_VERSION_TEST" ; then
@@ -6578,11 +6783,11 @@
 if test -n "$SV_MODULE_FAILED" && test -n "$PKG_CONFIG"; then
 
 pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for oggz" >&5
-$as_echo_n "checking for oggz... " >&6; }
-
-if test -n "$oggz_CFLAGS"; then
-    pkg_cv_oggz_CFLAGS="$oggz_CFLAGS"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for mad" >&5
+$as_echo_n "checking for mad... " >&6; }
+
+if test -n "$mad_CFLAGS"; then
+    pkg_cv_mad_CFLAGS="$mad_CFLAGS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$SV_MODULE_VERSION_TEST\""; } >&5
@@ -6590,7 +6795,7 @@
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_oggz_CFLAGS=`$PKG_CONFIG --cflags "$SV_MODULE_VERSION_TEST" 2>/dev/null`
+  pkg_cv_mad_CFLAGS=`$PKG_CONFIG --cflags "$SV_MODULE_VERSION_TEST" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -6598,8 +6803,8 @@
  else
     pkg_failed=untried
 fi
-if test -n "$oggz_LIBS"; then
-    pkg_cv_oggz_LIBS="$oggz_LIBS"
+if test -n "$mad_LIBS"; then
+    pkg_cv_mad_LIBS="$mad_LIBS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$SV_MODULE_VERSION_TEST\""; } >&5
@@ -6607,7 +6812,7 @@
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_oggz_LIBS=`$PKG_CONFIG --libs "$SV_MODULE_VERSION_TEST" 2>/dev/null`
+  pkg_cv_mad_LIBS=`$PKG_CONFIG --libs "$SV_MODULE_VERSION_TEST" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -6628,12 +6833,12 @@
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        oggz_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
+	        mad_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
         else
-	        oggz_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
+	        mad_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
         fi
 	# Put the nasty error message in config.log where it belongs
-	echo "$oggz_PKG_ERRORS" >&5
+	echo "$mad_PKG_ERRORS" >&5
 
 	{ $as_echo "$as_me:${as_lineno-$LINENO}: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&5
 $as_echo "$as_me: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&6;}
@@ -6643,11 +6848,11 @@
 	{ $as_echo "$as_me:${as_lineno-$LINENO}: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&5
 $as_echo "$as_me: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&6;}
 else
-	oggz_CFLAGS=$pkg_cv_oggz_CFLAGS
-	oggz_LIBS=$pkg_cv_oggz_LIBS
+	mad_CFLAGS=$pkg_cv_mad_CFLAGS
+	mad_LIBS=$pkg_cv_mad_LIBS
         { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
-	HAVES="$HAVES $SV_MODULE_HAVE";CXXFLAGS="$CXXFLAGS $oggz_CFLAGS";LIBS="$LIBS $oggz_LIBS";SV_MODULE_FAILED=""
+	HAVES="$HAVES $SV_MODULE_HAVE";CXXFLAGS="$CXXFLAGS $mad_CFLAGS";LIBS="$LIBS $mad_LIBS";SV_MODULE_FAILED=""
 fi
 fi
 if test -n "$SV_MODULE_FAILED"; then
@@ -6713,18 +6918,18 @@
 fi
 
 
-SV_MODULE_MODULE=fishsound
-SV_MODULE_VERSION_TEST="fishsound >= 1.0.0"
-SV_MODULE_HEADER=fishsound/fishsound.h
-SV_MODULE_LIB=fishsound
-SV_MODULE_FUNC=fish_sound_new
-SV_MODULE_HAVE=HAVE_$(echo fishsound | tr 'a-z' 'A-Z')
+SV_MODULE_MODULE=id3tag
+SV_MODULE_VERSION_TEST="id3tag >= 0.15.0"
+SV_MODULE_HEADER=id3tag.h
+SV_MODULE_LIB=id3tag
+SV_MODULE_FUNC=id3_tag_new
+SV_MODULE_HAVE=HAVE_$(echo id3tag | tr 'a-z' 'A-Z')
 SV_MODULE_FAILED=1
-if test -n "$fishsound_LIBS" ; then
+if test -n "$id3tag_LIBS" ; then
    { $as_echo "$as_me:${as_lineno-$LINENO}: User set ${SV_MODULE_MODULE}_LIBS explicitly, skipping test for $SV_MODULE_MODULE" >&5
 $as_echo "$as_me: User set ${SV_MODULE_MODULE}_LIBS explicitly, skipping test for $SV_MODULE_MODULE" >&6;}
-   CXXFLAGS="$CXXFLAGS $fishsound_CFLAGS"
-   LIBS="$LIBS $fishsound_LIBS"
+   CXXFLAGS="$CXXFLAGS $id3tag_CFLAGS"
+   LIBS="$LIBS $id3tag_LIBS"
    SV_MODULE_FAILED=""
 fi
 if test -z "$SV_MODULE_VERSION_TEST" ; then
@@ -6733,11 +6938,11 @@
 if test -n "$SV_MODULE_FAILED" && test -n "$PKG_CONFIG"; then
 
 pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fishsound" >&5
-$as_echo_n "checking for fishsound... " >&6; }
-
-if test -n "$fishsound_CFLAGS"; then
-    pkg_cv_fishsound_CFLAGS="$fishsound_CFLAGS"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for id3tag" >&5
+$as_echo_n "checking for id3tag... " >&6; }
+
+if test -n "$id3tag_CFLAGS"; then
+    pkg_cv_id3tag_CFLAGS="$id3tag_CFLAGS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$SV_MODULE_VERSION_TEST\""; } >&5
@@ -6745,7 +6950,7 @@
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_fishsound_CFLAGS=`$PKG_CONFIG --cflags "$SV_MODULE_VERSION_TEST" 2>/dev/null`
+  pkg_cv_id3tag_CFLAGS=`$PKG_CONFIG --cflags "$SV_MODULE_VERSION_TEST" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -6753,8 +6958,8 @@
  else
     pkg_failed=untried
 fi
-if test -n "$fishsound_LIBS"; then
-    pkg_cv_fishsound_LIBS="$fishsound_LIBS"
+if test -n "$id3tag_LIBS"; then
+    pkg_cv_id3tag_LIBS="$id3tag_LIBS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$SV_MODULE_VERSION_TEST\""; } >&5
@@ -6762,7 +6967,7 @@
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_fishsound_LIBS=`$PKG_CONFIG --libs "$SV_MODULE_VERSION_TEST" 2>/dev/null`
+  pkg_cv_id3tag_LIBS=`$PKG_CONFIG --libs "$SV_MODULE_VERSION_TEST" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -6783,12 +6988,12 @@
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        fishsound_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
+	        id3tag_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
         else
-	        fishsound_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
+	        id3tag_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
         fi
 	# Put the nasty error message in config.log where it belongs
-	echo "$fishsound_PKG_ERRORS" >&5
+	echo "$id3tag_PKG_ERRORS" >&5
 
 	{ $as_echo "$as_me:${as_lineno-$LINENO}: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&5
 $as_echo "$as_me: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&6;}
@@ -6798,11 +7003,11 @@
 	{ $as_echo "$as_me:${as_lineno-$LINENO}: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&5
 $as_echo "$as_me: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&6;}
 else
-	fishsound_CFLAGS=$pkg_cv_fishsound_CFLAGS
-	fishsound_LIBS=$pkg_cv_fishsound_LIBS
+	id3tag_CFLAGS=$pkg_cv_id3tag_CFLAGS
+	id3tag_LIBS=$pkg_cv_id3tag_LIBS
         { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
-	HAVES="$HAVES $SV_MODULE_HAVE";CXXFLAGS="$CXXFLAGS $fishsound_CFLAGS";LIBS="$LIBS $fishsound_LIBS";SV_MODULE_FAILED=""
+	HAVES="$HAVES $SV_MODULE_HAVE";CXXFLAGS="$CXXFLAGS $id3tag_CFLAGS";LIBS="$LIBS $id3tag_LIBS";SV_MODULE_FAILED=""
 fi
 fi
 if test -n "$SV_MODULE_FAILED"; then
@@ -6868,18 +7073,20 @@
 fi
 
 
-SV_MODULE_MODULE=mad
-SV_MODULE_VERSION_TEST="mad >= 0.15.0"
-SV_MODULE_HEADER=mad.h
-SV_MODULE_LIB=mad
-SV_MODULE_FUNC=mad_decoder_init
-SV_MODULE_HAVE=HAVE_$(echo mad | tr 'a-z' 'A-Z')
+# Link in -lX11 if it exists -- this is for the X error handler
+
+SV_MODULE_MODULE=X11
+SV_MODULE_VERSION_TEST="x11 >= 1.0.0"
+SV_MODULE_HEADER=X11/X.h
+SV_MODULE_LIB=x11
+SV_MODULE_FUNC=XGetErrorText
+SV_MODULE_HAVE=HAVE_$(echo X11 | tr 'a-z' 'A-Z')
 SV_MODULE_FAILED=1
-if test -n "$mad_LIBS" ; then
+if test -n "$X11_LIBS" ; then
    { $as_echo "$as_me:${as_lineno-$LINENO}: User set ${SV_MODULE_MODULE}_LIBS explicitly, skipping test for $SV_MODULE_MODULE" >&5
 $as_echo "$as_me: User set ${SV_MODULE_MODULE}_LIBS explicitly, skipping test for $SV_MODULE_MODULE" >&6;}
-   CXXFLAGS="$CXXFLAGS $mad_CFLAGS"
-   LIBS="$LIBS $mad_LIBS"
+   CXXFLAGS="$CXXFLAGS $X11_CFLAGS"
+   LIBS="$LIBS $X11_LIBS"
    SV_MODULE_FAILED=""
 fi
 if test -z "$SV_MODULE_VERSION_TEST" ; then
@@ -6888,11 +7095,11 @@
 if test -n "$SV_MODULE_FAILED" && test -n "$PKG_CONFIG"; then
 
 pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for mad" >&5
-$as_echo_n "checking for mad... " >&6; }
-
-if test -n "$mad_CFLAGS"; then
-    pkg_cv_mad_CFLAGS="$mad_CFLAGS"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for X11" >&5
+$as_echo_n "checking for X11... " >&6; }
+
+if test -n "$X11_CFLAGS"; then
+    pkg_cv_X11_CFLAGS="$X11_CFLAGS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$SV_MODULE_VERSION_TEST\""; } >&5
@@ -6900,7 +7107,7 @@
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_mad_CFLAGS=`$PKG_CONFIG --cflags "$SV_MODULE_VERSION_TEST" 2>/dev/null`
+  pkg_cv_X11_CFLAGS=`$PKG_CONFIG --cflags "$SV_MODULE_VERSION_TEST" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -6908,8 +7115,8 @@
  else
     pkg_failed=untried
 fi
-if test -n "$mad_LIBS"; then
-    pkg_cv_mad_LIBS="$mad_LIBS"
+if test -n "$X11_LIBS"; then
+    pkg_cv_X11_LIBS="$X11_LIBS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$SV_MODULE_VERSION_TEST\""; } >&5
@@ -6917,7 +7124,7 @@
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_mad_LIBS=`$PKG_CONFIG --libs "$SV_MODULE_VERSION_TEST" 2>/dev/null`
+  pkg_cv_X11_LIBS=`$PKG_CONFIG --libs "$SV_MODULE_VERSION_TEST" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -6938,12 +7145,12 @@
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        mad_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
+	        X11_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
         else
-	        mad_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
+	        X11_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
         fi
 	# Put the nasty error message in config.log where it belongs
-	echo "$mad_PKG_ERRORS" >&5
+	echo "$X11_PKG_ERRORS" >&5
 
 	{ $as_echo "$as_me:${as_lineno-$LINENO}: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&5
 $as_echo "$as_me: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&6;}
@@ -6953,11 +7160,11 @@
 	{ $as_echo "$as_me:${as_lineno-$LINENO}: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&5
 $as_echo "$as_me: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&6;}
 else
-	mad_CFLAGS=$pkg_cv_mad_CFLAGS
-	mad_LIBS=$pkg_cv_mad_LIBS
+	X11_CFLAGS=$pkg_cv_X11_CFLAGS
+	X11_LIBS=$pkg_cv_X11_LIBS
         { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
-	HAVES="$HAVES $SV_MODULE_HAVE";CXXFLAGS="$CXXFLAGS $mad_CFLAGS";LIBS="$LIBS $mad_LIBS";SV_MODULE_FAILED=""
+	HAVES="$HAVES $SV_MODULE_HAVE";CXXFLAGS="$CXXFLAGS $X11_CFLAGS";LIBS="$LIBS $X11_LIBS";SV_MODULE_FAILED=""
 fi
 fi
 if test -n "$SV_MODULE_FAILED"; then
@@ -7023,318 +7230,6 @@
 fi
 
 
-SV_MODULE_MODULE=id3tag
-SV_MODULE_VERSION_TEST="id3tag >= 0.15.0"
-SV_MODULE_HEADER=id3tag.h
-SV_MODULE_LIB=id3tag
-SV_MODULE_FUNC=id3_tag_new
-SV_MODULE_HAVE=HAVE_$(echo id3tag | tr 'a-z' 'A-Z')
-SV_MODULE_FAILED=1
-if test -n "$id3tag_LIBS" ; then
-   { $as_echo "$as_me:${as_lineno-$LINENO}: User set ${SV_MODULE_MODULE}_LIBS explicitly, skipping test for $SV_MODULE_MODULE" >&5
-$as_echo "$as_me: User set ${SV_MODULE_MODULE}_LIBS explicitly, skipping test for $SV_MODULE_MODULE" >&6;}
-   CXXFLAGS="$CXXFLAGS $id3tag_CFLAGS"
-   LIBS="$LIBS $id3tag_LIBS"
-   SV_MODULE_FAILED=""
-fi
-if test -z "$SV_MODULE_VERSION_TEST" ; then
-   SV_MODULE_VERSION_TEST=$SV_MODULE_MODULE
-fi
-if test -n "$SV_MODULE_FAILED" && test -n "$PKG_CONFIG"; then
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for id3tag" >&5
-$as_echo_n "checking for id3tag... " >&6; }
-
-if test -n "$id3tag_CFLAGS"; then
-    pkg_cv_id3tag_CFLAGS="$id3tag_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$SV_MODULE_VERSION_TEST\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$SV_MODULE_VERSION_TEST") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_id3tag_CFLAGS=`$PKG_CONFIG --cflags "$SV_MODULE_VERSION_TEST" 2>/dev/null`
-		      test "x$?" != "x0" && pkg_failed=yes
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-if test -n "$id3tag_LIBS"; then
-    pkg_cv_id3tag_LIBS="$id3tag_LIBS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$SV_MODULE_VERSION_TEST\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$SV_MODULE_VERSION_TEST") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_id3tag_LIBS=`$PKG_CONFIG --libs "$SV_MODULE_VERSION_TEST" 2>/dev/null`
-		      test "x$?" != "x0" && pkg_failed=yes
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
-   	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi
-        if test $_pkg_short_errors_supported = yes; then
-	        id3tag_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
-        else
-	        id3tag_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
-        fi
-	# Put the nasty error message in config.log where it belongs
-	echo "$id3tag_PKG_ERRORS" >&5
-
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&5
-$as_echo "$as_me: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&6;}
-elif test $pkg_failed = untried; then
-     	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&5
-$as_echo "$as_me: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&6;}
-else
-	id3tag_CFLAGS=$pkg_cv_id3tag_CFLAGS
-	id3tag_LIBS=$pkg_cv_id3tag_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-	HAVES="$HAVES $SV_MODULE_HAVE";CXXFLAGS="$CXXFLAGS $id3tag_CFLAGS";LIBS="$LIBS $id3tag_LIBS";SV_MODULE_FAILED=""
-fi
-fi
-if test -n "$SV_MODULE_FAILED"; then
-   as_ac_Header=`$as_echo "ac_cv_header_$SV_MODULE_HEADER" | $as_tr_sh`
-ac_fn_cxx_check_header_mongrel "$LINENO" "$SV_MODULE_HEADER" "$as_ac_Header" "$ac_includes_default"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  HAVES="$HAVES $SV_MODULE_HAVE";SV_MODULE_FAILED=""
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: Failed to find header $SV_MODULE_HEADER for optional module $SV_MODULE_MODULE" >&5
-$as_echo "$as_me: Failed to find header $SV_MODULE_HEADER for optional module $SV_MODULE_MODULE" >&6;}
-fi
-
-
-   if test -z "$SV_MODULE_FAILED"; then
-      if test -n "$SV_MODULE_LIB"; then
-           as_ac_Lib=`$as_echo "ac_cv_lib_$SV_MODULE_LIB''_$SV_MODULE_FUNC" | $as_tr_sh`
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $SV_MODULE_FUNC in -l$SV_MODULE_LIB" >&5
-$as_echo_n "checking for $SV_MODULE_FUNC in -l$SV_MODULE_LIB... " >&6; }
-if eval \${$as_ac_Lib+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-l$SV_MODULE_LIB  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $SV_MODULE_FUNC ();
-int
-main ()
-{
-return $SV_MODULE_FUNC ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_link "$LINENO"; then :
-  eval "$as_ac_Lib=yes"
-else
-  eval "$as_ac_Lib=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-eval ac_res=\$$as_ac_Lib
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then :
-  LIBS="$LIBS -l$SV_MODULE_LIB"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: Failed to find library $SV_MODULE_LIB for optional module $SV_MODULE_MODULE" >&5
-$as_echo "$as_me: Failed to find library $SV_MODULE_LIB for optional module $SV_MODULE_MODULE" >&6;}
-fi
-
-      fi
-   fi
-fi
-
-
-# Link in -lX11 if it exists -- this is for the X error handler
-
-SV_MODULE_MODULE=X11
-SV_MODULE_VERSION_TEST="x11 >= 1.0.0"
-SV_MODULE_HEADER=X11/X.h
-SV_MODULE_LIB=x11
-SV_MODULE_FUNC=XGetErrorText
-SV_MODULE_HAVE=HAVE_$(echo X11 | tr 'a-z' 'A-Z')
-SV_MODULE_FAILED=1
-if test -n "$X11_LIBS" ; then
-   { $as_echo "$as_me:${as_lineno-$LINENO}: User set ${SV_MODULE_MODULE}_LIBS explicitly, skipping test for $SV_MODULE_MODULE" >&5
-$as_echo "$as_me: User set ${SV_MODULE_MODULE}_LIBS explicitly, skipping test for $SV_MODULE_MODULE" >&6;}
-   CXXFLAGS="$CXXFLAGS $X11_CFLAGS"
-   LIBS="$LIBS $X11_LIBS"
-   SV_MODULE_FAILED=""
-fi
-if test -z "$SV_MODULE_VERSION_TEST" ; then
-   SV_MODULE_VERSION_TEST=$SV_MODULE_MODULE
-fi
-if test -n "$SV_MODULE_FAILED" && test -n "$PKG_CONFIG"; then
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for X11" >&5
-$as_echo_n "checking for X11... " >&6; }
-
-if test -n "$X11_CFLAGS"; then
-    pkg_cv_X11_CFLAGS="$X11_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$SV_MODULE_VERSION_TEST\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$SV_MODULE_VERSION_TEST") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_X11_CFLAGS=`$PKG_CONFIG --cflags "$SV_MODULE_VERSION_TEST" 2>/dev/null`
-		      test "x$?" != "x0" && pkg_failed=yes
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-if test -n "$X11_LIBS"; then
-    pkg_cv_X11_LIBS="$X11_LIBS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$SV_MODULE_VERSION_TEST\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$SV_MODULE_VERSION_TEST") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_X11_LIBS=`$PKG_CONFIG --libs "$SV_MODULE_VERSION_TEST" 2>/dev/null`
-		      test "x$?" != "x0" && pkg_failed=yes
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
-   	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi
-        if test $_pkg_short_errors_supported = yes; then
-	        X11_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
-        else
-	        X11_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
-        fi
-	# Put the nasty error message in config.log where it belongs
-	echo "$X11_PKG_ERRORS" >&5
-
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&5
-$as_echo "$as_me: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&6;}
-elif test $pkg_failed = untried; then
-     	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&5
-$as_echo "$as_me: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&6;}
-else
-	X11_CFLAGS=$pkg_cv_X11_CFLAGS
-	X11_LIBS=$pkg_cv_X11_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-	HAVES="$HAVES $SV_MODULE_HAVE";CXXFLAGS="$CXXFLAGS $X11_CFLAGS";LIBS="$LIBS $X11_LIBS";SV_MODULE_FAILED=""
-fi
-fi
-if test -n "$SV_MODULE_FAILED"; then
-   as_ac_Header=`$as_echo "ac_cv_header_$SV_MODULE_HEADER" | $as_tr_sh`
-ac_fn_cxx_check_header_mongrel "$LINENO" "$SV_MODULE_HEADER" "$as_ac_Header" "$ac_includes_default"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  HAVES="$HAVES $SV_MODULE_HAVE";SV_MODULE_FAILED=""
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: Failed to find header $SV_MODULE_HEADER for optional module $SV_MODULE_MODULE" >&5
-$as_echo "$as_me: Failed to find header $SV_MODULE_HEADER for optional module $SV_MODULE_MODULE" >&6;}
-fi
-
-
-   if test -z "$SV_MODULE_FAILED"; then
-      if test -n "$SV_MODULE_LIB"; then
-           as_ac_Lib=`$as_echo "ac_cv_lib_$SV_MODULE_LIB''_$SV_MODULE_FUNC" | $as_tr_sh`
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $SV_MODULE_FUNC in -l$SV_MODULE_LIB" >&5
-$as_echo_n "checking for $SV_MODULE_FUNC in -l$SV_MODULE_LIB... " >&6; }
-if eval \${$as_ac_Lib+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-l$SV_MODULE_LIB  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $SV_MODULE_FUNC ();
-int
-main ()
-{
-return $SV_MODULE_FUNC ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_link "$LINENO"; then :
-  eval "$as_ac_Lib=yes"
-else
-  eval "$as_ac_Lib=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-eval ac_res=\$$as_ac_Lib
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then :
-  LIBS="$LIBS -l$SV_MODULE_LIB"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: Failed to find library $SV_MODULE_LIB for optional module $SV_MODULE_MODULE" >&5
-$as_echo "$as_me: Failed to find library $SV_MODULE_LIB for optional module $SV_MODULE_MODULE" >&6;}
-fi
-
-      fi
-   fi
-fi
-
-
 
 
 
@@ -7357,7 +7252,7 @@
 
 subdirs="$subdirs svcore svgui svapp"
 
-ac_config_files="$ac_config_files config.pri version.h"
+ac_config_files="$ac_config_files config.pri"
 
 
 cat >confcache <<\_ACEOF
@@ -7902,7 +7797,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by Sonic Visualiser $as_me 2.3-imaf, which was
+This file was extended by $as_me, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -7949,13 +7844,13 @@
 Configuration files:
 $config_files
 
-Report bugs to <cannam@all-day-breakfast.com>."
+Report bugs to the package provider."
 
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-Sonic Visualiser config.status 2.3-imaf
+config.status
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
@@ -8068,7 +7963,6 @@
 do
   case $ac_config_target in
     "config.pri") CONFIG_FILES="$CONFIG_FILES config.pri" ;;
-    "version.h") CONFIG_FILES="$CONFIG_FILES version.h" ;;
 
   *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   esac
--- a/configure.ac	Wed Jul 15 12:27:40 2015 +0100
+++ b/configure.ac	Wed Apr 20 12:06:28 2016 +0100
@@ -1,5 +1,5 @@
 
-AC_INIT([Sonic Visualiser], [2.3-imaf], cannam@all-day-breakfast.com)
+AC_INIT([Sonic Visualiser], [], cannam@all-day-breakfast.com)
 
 AC_CONFIG_SRCDIR(main/main.cpp)
 
@@ -25,6 +25,9 @@
 AC_PROG_INSTALL
 AC_PROG_MKDIR_P
 
+# We are daringly making use of C++11 now
+AX_CXX_COMPILE_STDCXX_11(noext)
+
 AC_HEADER_STDC
 
 # These are the flags Autoconf guesses for us; we use them later if
@@ -50,9 +53,10 @@
 CXXFLAGS_MINIMAL="$AUTOCONF_CXXFLAGS"
 
 if test "x$GCC" = "xyes"; then
-        CXXFLAGS_DEBUG="-Wall -Woverloaded-virtual -Wextra -Wformat-nonliteral -Wformat-security -Winit-self -Wswitch-enum -g -pipe"
-   	CXXFLAGS_RELEASE="-g0 -O2 -Wall -pipe"
-   	CXXFLAGS_MINIMAL="-g0 -O0"
+   	CXXFLAGS_ANY="-Wall -Wextra -Woverloaded-virtual -Wformat-nonliteral -Wformat-security -Winit-self -Wswitch-enum -Wconversion -pipe"
+        CXXFLAGS_DEBUG="$CXXFLAGS_ANY -g -Werror"
+   	CXXFLAGS_RELEASE="$CXXFLAGS_ANY -g0 -O2"
+   	CXXFLAGS_MINIMAL="$CXXFLAGS_ANY -g0 -O0"
 fi
 
 CXXFLAGS_BUILD="$CXXFLAGS_RELEASE"
@@ -78,15 +82,13 @@
 SV_MODULE_REQUIRED([fftw3],[fftw3 >= 3.0.0],[fftw3.h],[fftw3],[fftw_execute])
 SV_MODULE_REQUIRED([fftw3f],[fftw3f >= 3.0.0],[fftw3.h],[fftw3f],[fftwf_execute])
 SV_MODULE_REQUIRED([sndfile],[sndfile >= 1.0.16],[sndfile.h],[sndfile],[sf_open])
-SV_MODULE_REQUIRED([samplerate],[samplerate >= 0.1.2],[samplerate.h],[samplerate],[src_new])
-SV_MODULE_REQUIRED([vamp],[vamp >= 2.1],[vamp/vamp.h],[],[])
-SV_MODULE_REQUIRED([vamphostsdk],[vamp-hostsdk >= 2.5],[vamp-hostsdk/PluginLoader.h],[vamp-hostsdk],[libvamphostsdk_v_2_5_present])
+SV_MODULE_REQUIRED([libsamplerate],[samplerate >= 0.1.2],[samplerate.h],[samplerate],[src_new])
 SV_MODULE_REQUIRED([rubberband],[rubberband],[rubberband/RubberBandStretcher.h],[rubberband],[rubberband_new])
 SV_MODULE_REQUIRED([sord],[sord-0 >= 0.5],[sord/sord.h],[sord-0],[sord_world_new])
 SV_MODULE_REQUIRED([serd],[serd-0 >= 0.5],[serd/serd.h],[serd-0],[serd_reader_read_file])
 
 SV_MODULE_OPTIONAL([liblo],[],[lo/lo.h],[lo],[lo_address_new])
-SV_MODULE_OPTIONAL([portaudio_2_0],[portaudio-2.0 >= 19],[portaudio.h],[portaudio],[Pa_IsFormatSupported])
+SV_MODULE_OPTIONAL([portaudio],[portaudio-2.0 >= 19],[portaudio.h],[portaudio],[Pa_IsFormatSupported])
 SV_MODULE_OPTIONAL([JACK],[jack >= 0.100],[jack/jack.h],[jack],[jack_client_open])
 SV_MODULE_OPTIONAL([libpulse],[libpulse >= 0.9],[pulse/pulseaudio.h],[pulse],[pa_stream_new])
 SV_MODULE_OPTIONAL([lrdf],[lrdf >= 0.2],[lrdf.h],[lrdf],[lrdf_init])
@@ -117,7 +119,7 @@
 AC_SUBST(QMAKE_CONFIG)
 
 AC_CONFIG_SUBDIRS([svcore svgui svapp])
-AC_CONFIG_FILES([config.pri version.h])
+AC_CONFIG_FILES([config.pri])
 
 AC_OUTPUT
 
--- a/deploy/linux/control.example	Wed Jul 15 12:27:40 2015 +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 Apr 20 12:06:28 2016 +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 Apr 20 12:06:28 2016 +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 Apr 20 12:06:28 2016 +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 Apr 20 12:06:28 2016 +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 Apr 20 12:06:28 2016 +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/' | sed 's/libjack0,/jackd,/'
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/deploy/linux/deploy-deb.sh	Wed Apr 20 12:06:28 2016 +0100
@@ -0,0 +1,60 @@
+#!/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
+
+control_ver=${version%-?}
+
+perl -i -p -e "s/Version: .*/Version: $control_ver/" "$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	Wed Jul 15 12:27:40 2015 +0100
+++ b/deploy/linux/doc/sonic-visualiser/copyright	Wed Apr 20 12:06:28 2016 +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.
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/deploy/linux/fix-lintian-bits.sh	Wed Apr 20 12:06:28 2016 +0100
@@ -0,0 +1,16 @@
+#!/bin/bash
+
+dir=$1
+
+[ -d "$dir" ] || exit 1
+
+strip "$dir"/usr/bin/*
+
+sz=`du -sx --exclude DEBIAN "$dir" | awk '{ print $1; }'`
+perl -i -p -e "s/Installed-Size: .*/Installed-Size: $sz/" "$dir"/DEBIAN/control
+
+find "$dir" -name \*~ -exec rm \{\} \;
+
+sudo chown -R root.root "$dir"/*
+
+sudo chmod -R g-w "$dir"/*
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/deploy/osx/copy-qt.sh	Wed Apr 20 12:06:28 2016 +0100
@@ -0,0 +1,53 @@
+#!/bin/bash
+
+set -eu
+
+app="$1"
+if [ -z "$app" ]; then
+	echo "Usage: $0 <appname>"
+	echo "Provide appname without the .app extension, please"
+	exit 2
+fi
+
+frameworks="QtCore QtNetwork QtGui QtXml QtSvg QtWidgets QtPrintSupport QtDBus"
+
+plugins="dds gif icns ico jp2 jpeg mng tga tiff wbmp webp cocoa minimal offscreen"
+
+qtdir=$(grep "Command:" Makefile | head -1 | awk '{ print $3; }' | sed s,/bin/.*,,)
+
+if [ ! -d "$qtdir" ]; then
+    echo "Failed to discover Qt installation directory from Makefile, exiting"
+    exit 2
+fi
+
+fdir="$app.app/Contents/Frameworks"
+pdir="$app.app/Contents/plugins"
+
+mkdir -p "$fdir"
+mkdir -p "$pdir"
+
+echo
+echo "Copying frameworks..."
+for fwk in $frameworks; do
+    cp -v "$qtdir/lib/$fwk.framework/$fwk" "$fdir" || exit 2
+done
+
+echo "Done"
+
+echo
+echo "Copying plugins..."
+for plug in $plugins; do
+    pfile=$(ls "$qtdir"/plugins/*/libq"$plug".dylib)
+    if [ ! -f "$pfile" ]; then
+	echo "Failed to find plugin $plug, exiting"
+	exit 2
+    fi
+    target="$pdir"/${pfile##?*plugins/}
+    tdir=`dirname "$target"`
+    mkdir -p "$tdir"
+    cp -v "$pfile" "$target" || exit 2
+done
+
+echo "Done"
+
+
--- a/deploy/osx/deploy.sh	Wed Jul 15 12:27:40 2015 +0100
+++ b/deploy/osx/deploy.sh	Wed Apr 20 12:06:28 2016 +0100
@@ -1,5 +1,7 @@
 #!/bin/bash
 
+set -e
+
 # Execute this from the top-level directory of the project (the one
 # that contains the .app bundle).  Supply the name of the .app bundle
 # as argument (the target will use $app.app regardless, but we need
@@ -16,19 +18,42 @@
 fi
 app=`basename "$source" .app`
 
+set -u
+
 version=`perl -p -e 's/^[^"]*"([^"]*)".*$/$1/' version.h`
-case "$version" in
+stem=${version%%-*}
+case "$stem" in
     [0-9].[0-9]) bundleVersion="$version".0 ;;
     [0-9].[0-9].[0-9]) bundleVersion="$version" ;;
-    *) echo "Error: Version $version is neither two- nor three-part number" ;;
+    *) echo "Error: Version stem $stem (of version $version) is neither two- nor three-part number" ;;
 esac
 
 echo
+echo "Copying in frameworks and plugins from Qt installation directory."
+
+deploy/osx/copy-qt.sh "$app" || exit 2
+
+echo
 echo "Fixing up paths."
 
 deploy/osx/paths.sh "$app"
 
 echo
+echo "Copying in qt.conf to set local-only plugin paths."
+echo "Make sure all necessary Qt plugins are in $source/Contents/plugins/*"
+echo "You probably want platforms/, accessible/ and imageformats/ subdirectories."
+cp deploy/osx/qt.conf "$source"/Contents/Resources/qt.conf
+
+echo
+echo "Writing version $bundleVersion in to bundle."
+echo "(This should be a three-part number: major.minor.point)"
+
+perl -p -e "s/SV_VERSION/$bundleVersion/" deploy/osx/Info.plist \
+    > "$source"/Contents/Info.plist
+
+echo "Done: check $source/Contents/Info.plist for sanity please"
+
+echo
 echo "Making target tree."
 
 volume="$app"-"$version"
@@ -43,14 +68,6 @@
 
 echo "Done"
 
-echo "Writing version $bundleVersion in to bundle."
-echo "(This should be a three-part number: major.minor.point)"
-
-perl -p -e "s/SV_VERSION/$bundleVersion/" deploy/osx/Info.plist \
-    > "$target"/Contents/Info.plist
-
-echo "Done: check $target/Contents/Info.plist for sanity please"
-
 deploy/osx/sign.sh "$volume" || exit 1
 
 echo
--- a/deploy/osx/paths.sh	Wed Jul 15 12:27:40 2015 +0100
+++ b/deploy/osx/paths.sh	Wed Apr 20 12:06:28 2016 +0100
@@ -1,5 +1,7 @@
 #!/bin/bash
 
+set -e
+
 app="$1"
 if [ -z "$app" ]; then
 	echo "Usage: $0 <appname>"
@@ -7,26 +9,29 @@
 	exit 2
 fi
 
+set -u
+
+frameworks="QtCore QtNetwork QtGui QtXml QtSvg QtWidgets QtPrintSupport QtDBus"
+
 echo
-echo "I expect you to have already copied QtCore, QtNetwork, QtGui, QtXml and QtWidgets to "
-echo "$app.app/Contents/Frameworks -- expect errors to follow if they're missing"
+echo "I expect you to have already copied these frameworks from the Qt installation to"
+echo "$app.app/Contents/Frameworks -- expect errors to follow if they're missing:"
+echo "$frameworks"
 echo
 
 echo "Fixing up loader paths in binaries..."
 
-install_name_tool -id QtCore "$app.app/Contents/Frameworks/QtCore"
-install_name_tool -id QtGui "$app.app/Contents/Frameworks/QtGui"
-install_name_tool -id QtNetwork "$app.app/Contents/Frameworks/QtNetwork"
-install_name_tool -id QtXml "$app.app/Contents/Frameworks/QtXml"
-install_name_tool -id QtWidgets "$app.app/Contents/Frameworks/QtWidgets"
+for fwk in $frameworks; do
+    install_name_tool -id $fwk "$app.app/Contents/Frameworks/$fwk"
+done
 
 find "$app.app" -name \*.dylib -print | while read x; do
     install_name_tool -id "`basename \"$x\"`" "$x"
 done
 
-for fwk in QtCore QtGui QtNetwork QtXml QtWidgets; do
+for fwk in $frameworks; do
         find "$app.app" -type f -print | while read x; do
-                current=$(otool -L "$x" | grep "$fwk" | grep amework | awk '{ print $1; }')
+                current=$(otool -L "$x" | grep "$fwk" | grep amework | grep -v ':$' | awk '{ print $1; }')
                 [ -z "$current" ] && continue
                 echo "$x has $current"
                 relative=$(echo "$x" | sed -e "s,$app.app/Contents/,," \
@@ -36,6 +41,16 @@
         done
 done
 
+find "$app.app" -type f -print | while read x; do
+    qtdep=$(otool -L "$x" | grep Qt | grep amework | grep -v ':$' | grep -v '@loader_path' | awk '{ print $1; }')
+    if [ -n "$qtdep" ]; then
+	echo
+	echo "ERROR: File $x depends on Qt framework(s) not apparently present in the bundle:"
+	echo $qtdep
+	exit 1
+    fi
+done
+
 echo "Done: be sure to run the app and see that it works!"
 
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/deploy/osx/qt.conf	Wed Apr 20 12:06:28 2016 +0100
@@ -0,0 +1,2 @@
+[Paths]
+Plugins = plugins
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/deploy/src/archive-tip.sh	Wed Apr 20 12:06:28 2016 +0100
@@ -0,0 +1,8 @@
+#!/bin/bash
+
+tag=`hg id | awk '{ print $1; }'`
+
+echo "Packaging from tag $tag..."
+
+hg archive -r"$tag" --subrepos --exclude sv-dependency-builds /tmp/sonic-visualiser-"$tag".tar.gz
+
--- a/deploy/win32/build.cmd	Wed Jul 15 12:27:40 2015 +0100
+++ b/deploy/win32/build.cmd	Wed Apr 20 12:06:28 2016 +0100
@@ -1,7 +1,7 @@
 @ECHO OFF
-SET WIXPATH="C:\Program Files (x86)\WiX Toolset v3.7\bin"
+SET WIXPATH="C:\Program Files (x86)\WiX Toolset v3.9\bin"
 IF NOT EXIST %WIXPATH% (
-    SET WIXPATH="C:\Program Files\WiX Toolset v3.7\bin"
+    SET WIXPATH="C:\Program Files\WiX Toolset v3.9\bin"
 )
 DEL sonic-visualiser.msi
 %WIXPATH%\candle.exe -v sonic-visualiser.wxs
--- a/deploy/win32/sonic-visualiser.wxs	Wed Jul 15 12:27:40 2015 +0100
+++ b/deploy/win32/sonic-visualiser.wxs	Wed Apr 20 12:06:28 2016 +0100
@@ -5,7 +5,7 @@
       Id="*"
       Language="1033"
       Codepage="1252" 
-      Version="2.3.0"
+      Version="2.5.0"
       UpgradeCode="D476941E-65F3-4962-9E72-B40FAAE5DBD0"
       Manufacturer="Queen Mary, University of London">
     
@@ -13,7 +13,7 @@
         Id="*"
         Keywords="Installer"
         Description="Sonic Visualiser Installer" 
-        Comments="Copyright (c) 2013 Queen Mary, University of London and others." 
+        Comments="Copyright (c) 2014 Queen Mary, University of London and others."
         Manufacturer="Queen Mary, University of London" 
         InstallerVersion="100" 
         Languages="1033" 
@@ -144,40 +144,25 @@
                   DiskId="1"
                   Source="release\Qt5Xml.dll"/>
               <File
-                  Id="D3DCompiler"
-                  Name="D3DCompiler_43.dll"
+                  Id="icudt53"
+                  Name="icudt53.dll"
                   DiskId="1"
-                  Source="release\D3DCompiler_43.dll"/>
+                  Source="release\icudt53.dll"/>
               <File
-                  Id="icudt49"
-                  Name="icudt49.dll"
+                  Id="icuin53"
+                  Name="icuin53.dll"
                   DiskId="1"
-                  Source="release\icudt49.dll"/>
+                  Source="release\icuin53.dll"/>
               <File
-                  Id="icuin49"
-                  Name="icuin49.dll"
+                  Id="icuuc53"
+                  Name="icuuc53.dll"
                   DiskId="1"
-                  Source="release\icuin49.dll"/>
-              <File
-                  Id="icuuc49"
-                  Name="icuuc49.dll"
-                  DiskId="1"
-                  Source="release\icuuc49.dll"/>
-              <File
-                  Id="libEGL"
-                  Name="libEGL.dll"
-                  DiskId="1"
-                  Source="release\libEGL.dll"/>
+                  Source="release\icuuc53.dll"/>
               <File
                   Id="libgcc"
-                  Name="libgcc_s_sjlj-1.dll"
+                  Name="libgcc_s_dw2-1.dll"
                   DiskId="1"
-                  Source="release\libgcc_s_sjlj-1.dll"/>
-              <File
-                  Id="libGLESv2"
-                  Name="libGLESv2.dll"
-                  DiskId="1"
-                  Source="release\libGLESv2.dll"/>
+                  Source="release\libgcc_s_dw2-1.dll"/>
               <File
                   Id="libstdcplusplus"
                   Name="libstdc++-6.dll"
@@ -243,8 +228,9 @@
       <UIRef Id="WixUI_InstallDir" />
       <UIRef Id="WixUI_ErrorProgressText" />
     </UI>
-		
+
     <Property Id="WIXUI_INSTALLDIR" Value="APPLICATIONFOLDER" />
+    <Property Id="WIXUI_DONTVALIDATEPATH" Value="1" />
     <Property Id="ApplicationFolderName" Value="Sonic Visualiser" />
     <Property Id="WixAppFolder" Value="WixPerMachineFolder" />
     <WixVariable Id="WixUILicenseRtf" Value="License.rtf" />
Binary file i18n/sonic-visualiser_cs_CZ.qm has changed
--- a/i18n/sonic-visualiser_cs_CZ.ts	Wed Jul 15 12:27:40 2015 +0100
+++ b/i18n/sonic-visualiser_cs_CZ.ts	Wed Apr 20 12:06:28 2016 +0100
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE TS>
-<TS version="2.0" language="cs_CZ">
+<TS version="2.1" language="cs_CZ">
 <context>
     <name>ActivityLog</name>
     <message>
@@ -87,23 +87,23 @@
     <name>AudioTargetFactory</name>
     <message>
         <source>Core Audio Device</source>
-        <translation>Jaderné zvukové zařízení</translation>
+        <translation type="vanished">Jaderné zvukové zařízení</translation>
     </message>
     <message>
         <source>(auto)</source>
-        <translation>(auto)</translation>
+        <translation type="vanished">(auto)</translation>
     </message>
     <message>
         <source>Default Soundcard Device</source>
-        <translation>Výchozí zařízení zvukové karty</translation>
+        <translation type="vanished">Výchozí zařízení zvukové karty</translation>
     </message>
     <message>
         <source>PulseAudio Server</source>
-        <translation>Server PulseAudio</translation>
+        <translation type="vanished">Server PulseAudio</translation>
     </message>
     <message>
         <source>JACK Audio Connection Kit</source>
-        <translation>Spojovací sada pro zvuk JACK</translation>
+        <translation type="vanished">Spojovací sada pro zvuk JACK</translation>
     </message>
 </context>
 <context>
@@ -253,6 +253,14 @@
         <source>&lt;ignore&gt;</source>
         <translation>&lt;nevšímat si&gt;</translation>
     </message>
+    <message>
+        <source>Pitch</source>
+        <translation type="unfinished">Výška tónu</translation>
+    </message>
+    <message>
+        <source>Explicitly, in milliseconds</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>Colour3DPlotLayer</name>
@@ -337,7 +345,7 @@
     </message>
     <message>
         <source>Yellow on Black</source>
-        <translation>Žlutá na černé</translation>
+        <translation type="vanished">Žlutá na černé</translation>
     </message>
     <message>
         <source>Banded</source>
@@ -357,7 +365,7 @@
     </message>
     <message>
         <source>Red on Blue</source>
-        <translation>Červená na modré</translation>
+        <translation type="vanished">Červená na modré</translation>
     </message>
     <message>
         <source>Printer</source>
@@ -365,11 +373,11 @@
     </message>
     <message>
         <source>Blue on Black</source>
-        <translation>Modrá na černé</translation>
+        <translation type="vanished">Modrá na černé</translation>
     </message>
     <message>
         <source>Default</source>
-        <translation>Výchozí</translation>
+        <translation type="vanished">Výchozí</translation>
     </message>
     <message>
         <source>High Gain</source>
@@ -383,6 +391,22 @@
         <source>White on Black</source>
         <translation>Bílá na černé</translation>
     </message>
+    <message>
+        <source>Green</source>
+        <translation type="unfinished">Zelená</translation>
+    </message>
+    <message>
+        <source>Cherry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Wasp</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Ice</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>CommandHistory</name>
@@ -443,6 +467,13 @@
     </message>
 </context>
 <context>
+    <name>DecodingWavFileReader</name>
+    <message>
+        <source>Decoding %1...</source>
+        <translation type="unfinished">Dekóduje se %1...</translation>
+    </message>
+</context>
+<context>
     <name>Dense3DModelPeakCache</name>
     <message>
         <source>Dense 3-D Peak Cache</source>
@@ -557,6 +588,10 @@
         <source>Transform was configured for version %1 of plugin &quot;%2&quot;, but the plugin being used is version %3</source>
         <translation>Proměna byla nastavena pro verzi %1 přídavného modulu &quot;%2&quot;, ale používaný přídavný modul je ve verzi %3</translation>
     </message>
+    <message>
+        <source>Transforms supplied to a single FeatureExtractionModelTransformer instance must be similar in every respect except plugin output</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>FileSource</name>
@@ -566,7 +601,7 @@
     </message>
     <message>
         <source>Login failed</source>
-        <translation>Přihlášení se nezdařilo</translation>
+        <translation type="vanished">Přihlášení se nezdařilo</translation>
     </message>
     <message>
         <source>Download cancelled</source>
@@ -582,7 +617,7 @@
     </message>
     <message>
         <source>FTP download aborted</source>
-        <translation>FTP stahování zrušeno</translation>
+        <translation type="vanished">FTP stahování zrušeno</translation>
     </message>
     <message>
         <source>Downloading %1...</source>
@@ -590,11 +625,189 @@
     </message>
     <message>
         <source>Failed to connect to FTP server</source>
-        <translation>Připojení k FTP serveru se nezdařilo</translation>
+        <translation type="vanished">Připojení k FTP serveru se nezdařilo</translation>
     </message>
     <message>
         <source>Failed to change to correct directory</source>
-        <translation>Změna na správný adresář se nepodařila</translation>
+        <translation type="vanished">Změna na správný adresář se nepodařila</translation>
+    </message>
+</context>
+<context>
+    <name>FlexiNoteLayer</name>
+    <message>
+        <source>New Point</source>
+        <translation type="unfinished">Nový bod</translation>
+    </message>
+    <message>
+        <source>Vertical Scale</source>
+        <translation type="unfinished">Svislá stupnice</translation>
+    </message>
+    <message>
+        <source>Scale Units</source>
+        <translation type="unfinished">Jednotky stupnice</translation>
+    </message>
+    <message>
+        <source>Scale</source>
+        <translation type="unfinished">Stupnice</translation>
+    </message>
+    <message>
+        <source>Auto-Align</source>
+        <translation type="unfinished">Automatické zarovnání</translation>
+    </message>
+    <message>
+        <source>Linear</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Log</source>
+        <translation type="unfinished">Zápis</translation>
+    </message>
+    <message>
+        <source>MIDI Notes</source>
+        <translation type="unfinished">Noty MIDI</translation>
+    </message>
+    <message>
+        <source>In progress</source>
+        <translation type="unfinished">Probíhá</translation>
+    </message>
+    <message>
+        <source>No local points</source>
+        <translation type="unfinished">Žádné místní body</translation>
+    </message>
+    <message>
+        <source>%1 (%2, %3 Hz)</source>
+        <translation type="unfinished">%1 (%2, %3 Hz)</translation>
+    </message>
+    <message>
+        <source>%1 Hz (%2, %3)</source>
+        <translation type="unfinished">%1 Hz (%2, %3)</translation>
+    </message>
+    <message>
+        <source>%1 %2</source>
+        <translation type="unfinished">%1 %2</translation>
+    </message>
+    <message>
+        <source>Time:	%1
+Pitch:	%2
+Duration:	%3
+No label</source>
+        <translation type="unfinished">Čas:	%1
+Výška:	%2
+Doba trvání:	%3
+Žádný štítek</translation>
+    </message>
+    <message>
+        <source>Time:	%1
+Pitch:	%2
+Duration:	%3
+Label:	%4</source>
+        <translation type="unfinished">Čas:	%1
+Výška:	%2
+Doba trvání:	%3
+Štítek:	%4</translation>
+    </message>
+    <message>
+        <source>Draw Point</source>
+        <translation type="unfinished">Nakreslit bod</translation>
+    </message>
+    <message>
+        <source>Erase Point</source>
+        <translation type="unfinished">Vymazat bod</translation>
+    </message>
+    <message>
+        <source>Drag Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Point</source>
+        <translation type="unfinished">Upravit bod</translation>
+    </message>
+    <message>
+        <source>Relocate Point</source>
+        <translation type="unfinished">Přemístit bod</translation>
+    </message>
+    <message>
+        <source>Change Point Value</source>
+        <translation type="unfinished">Změnit hodnotu bodu</translation>
+    </message>
+    <message>
+        <source>Add Point</source>
+        <translation type="unfinished">Přidat bod</translation>
+    </message>
+    <message>
+        <source>Snap Notes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Merge Notes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Drag Selection</source>
+        <translation type="unfinished">Táhnout výběr</translation>
+    </message>
+    <message>
+        <source>Resize Selection</source>
+        <translation type="unfinished">Změnit velikost výběru</translation>
+    </message>
+    <message>
+        <source>Delete Selected Points</source>
+        <translation type="unfinished">Smazat vybrané body</translation>
+    </message>
+    <message>
+        <source>Re-align pasted items?</source>
+        <translation type="unfinished">Zarovnat vložené položky znovu?</translation>
+    </message>
+    <message>
+        <source>The items you are pasting came from a layer with different source material from this one.  Do you want to re-align them in time, to match the source material for this layer?</source>
+        <translation type="unfinished">Položky, které vkládáte, přišly z vrstvy s odlišným zdrojovým materiálem, než má tento. Chcete je zarovnat znovu v čase, aby se hodily ke zdrojovému materiálu pro tuto vrstvu?</translation>
+    </message>
+    <message>
+        <source>Paste</source>
+        <translation type="unfinished">Vložit</translation>
+    </message>
+    <message>
+        <source>Record FlexiNote</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>FlexiNoteModel</name>
+    <message>
+        <source>FlexiNote</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Time</source>
+        <translation type="unfinished">Čas</translation>
+    </message>
+    <message>
+        <source>Frame</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Pitch</source>
+        <translation type="unfinished">Výška tónu</translation>
+    </message>
+    <message>
+        <source>Duration</source>
+        <translation type="unfinished">Doba trvání</translation>
+    </message>
+    <message>
+        <source>Level</source>
+        <translation type="unfinished">Úroveň</translation>
+    </message>
+    <message>
+        <source>Label</source>
+        <translation type="unfinished">Štítek</translation>
+    </message>
+    <message>
+        <source>Unknown</source>
+        <translation type="unfinished">Neznámý</translation>
+    </message>
+    <message>
+        <source>Edit Data</source>
+        <translation type="unfinished">Upravit data</translation>
     </message>
 </context>
 <context>
@@ -799,7 +1012,7 @@
         <source>Sonic Visualiser session files (*.sv)
 RDF files (%1)
 All files (*.*)</source>
-        <translation>Soubory se sezením programu Sonic Visualiser (*.sv)
+        <translation type="vanished">Soubory se sezením programu Sonic Visualiser (*.sv)
 Soubory RDF (%1)
 Všechny soubory (*.*)</translation>
     </message>
@@ -834,7 +1047,7 @@
 Layer files (%2)
 RDF files (%3)
 All files (*.*)</source>
-        <translation>Všechny podporované soubory (*.sv %1 %2 %3)
+        <translation type="vanished">Všechny podporované soubory (*.sv %1 %2 %3)
 Soubory XML Sonic Visualiser Layer (*.svl)
 Zvukové soubory (%1)
 Soubory Layer (%2)
@@ -913,7 +1126,7 @@
 Audio files (%2)
 RDF files (%1)
 All files (*.*)</source>
-        <translation>Všechny podporované soubory (%1 %2)
+        <translation type="vanished">Všechny podporované soubory (%1 %2)
 Soubory XML Sonic Visualiser Layer (*.svl)
 Zvukové soubory (%2)
 Soubory RDF (%1)
@@ -948,7 +1161,7 @@
     <message>
         <source>Sonic Visualiser session files (*.sv)
 All files (*.*)</source>
-        <translation>Soubory se sezením programu Sonic Visualiser (*.sv)
+        <translation type="vanished">Soubory se sezením programu Sonic Visualiser (*.sv)
 Všechny soubory (*.*)</translation>
     </message>
     <message>
@@ -961,6 +1174,85 @@
         <translation>Zvukové soubory WAV (*.wav)
 Všechny soubory (*.*)</translation>
     </message>
+    <message>
+        <source>%1 session files (*.%1)
+RDF files (%3)
+All files (*.*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>All supported files (%1 %2)
+Comma-separated data files (*.csv)
+Sonic Visualiser Layer XML files (*.svl)
+Space-separated .lab files (*.lab)
+RDF files (%2)
+MIDI files (*.mid)
+Text files (*.txt)
+All files (*.*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>All supported files (%1 %2)
+Comma-separated data files (*.csv)
+Sonic Visualiser Layer XML files (*.svl)
+Space-separated .lab files (*.lab)
+RDF files (%2)
+Text files (*.txt)
+All files (*.*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>All supported files (*.sv %1 %2)
+%3 session files (*.%4)
+Audio files (%2)
+RDF files (%1)
+All files (*.*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Comma-separated data files (*.csv)
+Space-separated .lab files (*.lab)
+Text files (*.txt)
+All files (*.*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>All supported files (*.sv %1 %2 %3)
+%4 session files (*.%5)
+Audio files (%1)
+Layer files (%2)
+RDF files (%3)
+All files (*.*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 session files (*.%2)
+All files (*.*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Comma-separated data files (*.csv)
+Sonic Visualiser Layer XML files (*.svl)
+RDF/Turtle files (%1)
+MIDI files (*.mid)
+Text files (*.txt)
+All files (*.*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Comma-separated data files (*.csv)
+Sonic Visualiser Layer XML files (*.svl)
+RDF/Turtle files (%1)
+Text files (*.txt)
+All files (*.*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Comma-separated data files (*.csv)
+Text files (*.txt)
+All files (*.*)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>ItemEditDialog</name>
@@ -1029,7 +1321,11 @@
     </message>
     <message>
         <source>Sonic Visualiser: Key and Mouse Reference</source>
-        <translation>Sonic Visualiser: Odkaz na klávesy a myš</translation>
+        <translation type="vanished">Sonic Visualiser: Odkaz na klávesy a myš</translation>
+    </message>
+    <message>
+        <source>%1: Key and Mouse Reference</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -1118,7 +1414,7 @@
     </message>
     <message>
         <source>Layer</source>
-        <translation>Vrstva</translation>
+        <translation type="vanished">Vrstva</translation>
     </message>
     <message>
         <source>Notes</source>
@@ -1172,6 +1468,14 @@
         <source>Delete Measurement</source>
         <translation>Smazat měření</translation>
     </message>
+    <message>
+        <source>Flexible Notes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Unknown Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>LayerTreeDialog</name>
@@ -1907,7 +2211,7 @@
     </message>
     <message>
         <source>Playback speed: %1%2%</source>
-        <translation>Rychlost přehrávání: %1%2%</translation>
+        <translation type="vanished">Rychlost přehrávání: %1%2%</translation>
     </message>
     <message>
         <source>Restore &amp;Default Zoom</source>
@@ -2115,7 +2419,7 @@
     </message>
     <message>
         <source>&lt;b&gt;Layer generation failed&lt;/b&gt;&lt;p&gt;Failed to generate derived layer.&lt;p&gt;The layer transform &quot;%1&quot; failed:&lt;p&gt;%2</source>
-        <translation>&lt;b&gt;Vytvoření vrstvy se nezdařilo&lt;/b&gt;&lt;p&gt;Nepodařilo se vytvořit odvozenou vrstvu.&lt;p&gt;Proměna vrstvy &quot;%1&quot; se nezdařila:&lt;p&gt;%2</translation>
+        <translation type="vanished">&lt;b&gt;Vytvoření vrstvy se nezdařilo&lt;/b&gt;&lt;p&gt;Nepodařilo se vytvořit odvozenou vrstvu.&lt;p&gt;Proměna vrstvy &quot;%1&quot; se nezdařila:&lt;p&gt;%2</translation>
     </message>
     <message>
         <source>&lt;br&gt;With MAD mp3 decoder &amp;copy; Underbit Technologies Inc</source>
@@ -2171,7 +2475,7 @@
     </message>
     <message>
         <source>&lt;b&gt;File open failed&lt;/b&gt;&lt;p&gt;Session file &quot;%1&quot; could not be opened</source>
-        <translation>&lt;b&gt;Soubor se nepodařilo otevřít&lt;/b&gt;&lt;p&gt;Soubor se sezením &quot;%1&quot; se nepodařilo otevřít</translation>
+        <translation type="vanished">&lt;b&gt;Soubor se nepodařilo otevřít&lt;/b&gt;&lt;p&gt;Soubor se sezením &quot;%1&quot; se nepodařilo otevřít</translation>
     </message>
     <message>
         <source>&lt;br&gt;With Rubber Band v%1 &amp;copy; Chris Cannam</source>
@@ -2199,7 +2503,7 @@
     </message>
     <message>
         <source>Playback Speedup</source>
-        <translation>Zvýšení rychlosti přehrávání</translation>
+        <translation type="vanished">Zvýšení rychlosti přehrávání</translation>
     </message>
     <message>
         <source>Zoom &amp;Out</source>
@@ -2615,7 +2919,7 @@
     </message>
     <message>
         <source>Ctrl+Shift+Enter</source>
-        <translation>Ctrl+Shift+Enter</translation>
+        <translation type="vanished">Ctrl+Shift+Enter</translation>
     </message>
     <message>
         <source>Audio processing overload</source>
@@ -2703,7 +3007,7 @@
     </message>
     <message>
         <source>Export Annotation Layer...</source>
-        <translation>Vyvést poznámkovou vrstvu...</translation>
+        <translation type="vanished">Vyvést poznámkovou vrstvu...</translation>
     </message>
     <message>
         <source>&amp;Export Audio File...</source>
@@ -2755,7 +3059,7 @@
     </message>
     <message>
         <source>&lt;b&gt;Layer generation failed&lt;/b&gt;&lt;p&gt;Failed to generate a derived layer.&lt;p&gt;The layer transform &quot;%1&quot; failed.&lt;p&gt;No error information is available.</source>
-        <translation>&lt;b&gt;Vytvoření vrstvy se nezdařilo&lt;/b&gt;&lt;p&gt;Nepodařilo se vytvořit odvozenou vrstvu.&lt;p&gt;Proměna vrstvy &quot;%1&quot; se nezdařila.&lt;p&gt;Nejsou dostupné žádné informace o chybě.</translation>
+        <translation type="vanished">&lt;b&gt;Vytvoření vrstvy se nezdařilo&lt;/b&gt;&lt;p&gt;Nepodařilo se vytvořit odvozenou vrstvu.&lt;p&gt;Proměna vrstvy &quot;%1&quot; se nezdařila.&lt;p&gt;Nejsou dostupné žádné informace o chybě.</translation>
     </message>
     <message>
         <source>Editing</source>
@@ -3151,7 +3455,7 @@
     </message>
     <message>
         <source>&lt;h3&gt;Newer version available&lt;/h3&gt;&lt;p&gt;You are using version %1 of Sonic Visualiser, but version %3 is now available.&lt;/p&gt;&lt;p&gt;Please see the &lt;a href=&quot;http://sonicvisualiser.org/&quot;&gt;Sonic Visualiser website&lt;/a&gt; for more information.&lt;/p&gt;</source>
-        <translation>&lt;h3&gt;Je dostupná novější verze&lt;/h3&gt;&lt;p&gt;Používáte verzi %1 programu Sonic Visualiser, ale nyní je dostupná verze %3.&lt;/p&gt;&lt;p&gt;Podívejte se, prosím, na stránky &lt;a href=&quot;http://sonicvisualiser.org/&quot;&gt;projektu Sonic Visualiser&lt;/a&gt;, abyste získal více informací.&lt;/p&gt;</translation>
+        <translation type="vanished">&lt;h3&gt;Je dostupná novější verze&lt;/h3&gt;&lt;p&gt;Používáte verzi %1 programu Sonic Visualiser, ale nyní je dostupná verze %3.&lt;/p&gt;&lt;p&gt;Podívejte se, prosím, na stránky &lt;a href=&quot;http://sonicvisualiser.org/&quot;&gt;projektu Sonic Visualiser&lt;/a&gt;, abyste získal více informací.&lt;/p&gt;</translation>
     </message>
     <message>
         <source>Edit Toolbar</source>
@@ -3263,7 +3567,7 @@
     </message>
     <message>
         <source>%1: %1</source>
-        <translation>%1: %1</translation>
+        <translation type="vanished">%1: %1</translation>
     </message>
     <message>
         <source>&lt;br&gt;With Serd and Sord RDF parser and store &amp;copy; David Robillard</source>
@@ -3274,21 +3578,233 @@
         <translation>&lt;br&gt;Knihovna Dataquay Qt/RDF &amp;copy; Chris Cannam</translation>
     </message>
     <message>
-        <source>&amp;Export Audio Data...</source>
+        <source>Export audio from selection into a data file</source>
+        <translation>Vyvést zvuk z výběru do datového souboru</translation>
+    </message>
+    <message>
+        <source>Export the selected regions into a single file</source>
+        <translation>Vyvést vybrané oblasti do jednoho souboru</translation>
+    </message>
+    <message>
+        <source>Export the whole file</source>
+        <translation>Vyvést celý soubor</translation>
+    </message>
+    <message>
+        <source>Playback Speed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Export audio from selection into a data file</source>
+        <source>Export Audio Data...</source>
+        <translation>&amp;Vyvést zvuková data...</translation>
+    </message>
+    <message>
+        <source>Export Annotation La&amp;yer...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Export the selected regions into a single file</source>
+        <source>Ctrl+Y</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Export the whole file</source>
+        <source>Browse Recorded Audio Folder</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Open the Recorded Audio folder in the system file browser</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Ctrl+Shift+Return</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show &amp;Unit Converter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Open a window of pitch and timing conversion utilities</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Switch to Previous Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>{</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Make the previous layer in the pane current</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Switch to Next Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Make the next layer in the pane current</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Record</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Ctrl+Space</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Record a new audio file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Navigate Tool Mouse Actions</source>
+        <translation type="unfinished">Činnosti nástroje pro navádění prováděné myší</translation>
+    </message>
+    <message>
+        <source>Click left button and drag to move around</source>
+        <translation type="unfinished">Klepněte levým tlačítkem a táhněte pro přesouvání se</translation>
+    </message>
+    <message>
+        <source>Zoom to Area</source>
+        <translation type="unfinished">Přiblížit oblast</translation>
+    </message>
+    <message>
+        <source>Shift-click left button and drag to zoom to a rectangular area</source>
+        <translation type="unfinished">Shift-klepněte levým tlačítkem a táhněte pro přiblížení obdélníkové oblasti</translation>
+    </message>
+    <message>
+        <source>Relocate</source>
+        <translation type="unfinished">Přemístit</translation>
+    </message>
+    <message>
+        <source>Double-Click Left</source>
+        <translation type="unfinished">Dvakrát klepněte levým</translation>
+    </message>
+    <message>
+        <source>Double-click left button to jump to clicked location</source>
+        <translation type="unfinished">Dvakrát klepněte levým tlačítkem pro skok na klepnuté místo</translation>
+    </message>
+    <message>
+        <source>Double-click left button on an item to edit it</source>
+        <translation type="unfinished">Dvakrát klepněte levým tlačítkem na položce pro její upravení</translation>
+    </message>
+    <message>
+        <source>Select Tool Mouse Actions</source>
+        <translation type="unfinished">Činnosti nástroje výběru prováděné myší</translation>
+    </message>
+    <message>
+        <source>Click left button and drag to select region; drag region edge to resize</source>
+        <translation type="unfinished">Klepněte levým tlačítkem a táhněte pro výběr oblasti; táhněte za okraj oblasti pro změnu její velikosti</translation>
+    </message>
+    <message>
+        <source>Multi Select</source>
+        <translation type="unfinished">Vícenásobný výběr</translation>
+    </message>
+    <message>
+        <source>Cmd-click left button and drag to select an additional region</source>
+        <translation type="unfinished">Ctrl-klepněte levým tlačítkem a táhněte pro výběr další oblasti</translation>
+    </message>
+    <message>
+        <source>Ctrl-click left button and drag to select an additional region</source>
+        <translation type="unfinished">Ctrl-klepněte levým tlačítkem a táhněte pro výběr další oblasti</translation>
+    </message>
+    <message>
+        <source>Fine Select</source>
+        <translation type="unfinished">Citlivý výběr</translation>
+    </message>
+    <message>
+        <source>Shift-click left button and drag to select without snapping to items or grid</source>
+        <translation type="unfinished">Shift-klepněte levým tlačítkem a táhněte pro výběr bez zapadávání k položkám nebo mřížce</translation>
+    </message>
+    <message>
+        <source>Edit Tool Mouse Actions</source>
+        <translation type="unfinished">Činnosti nástroje úprav prováděné myší</translation>
+    </message>
+    <message>
+        <source>Move</source>
+        <translation type="unfinished">Posunout</translation>
+    </message>
+    <message>
+        <source>Click left button on an item or selected region and drag to move</source>
+        <translation type="unfinished">Klepněte levým tlačítkem na položku nebo vybranou oblast a táhněte pro její přesun</translation>
+    </message>
+    <message>
+        <source>Draw Tool Mouse Actions</source>
+        <translation type="unfinished">Činnosti nástroje kreslení prováděné myší</translation>
+    </message>
+    <message>
+        <source>Click left button and drag to create new item</source>
+        <translation type="unfinished">Klepněte levým tlačítkem a táhněte pro vytvoření nové položky</translation>
+    </message>
+    <message>
+        <source>Erase Tool Mouse Actions</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Click left button on an item to remove it from the layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Measure Tool Mouse Actions</source>
+        <translation type="unfinished">Činnosti nástroje měření prováděné myší</translation>
+    </message>
+    <message>
+        <source>Measure Area</source>
+        <translation type="unfinished">Oblast měření</translation>
+    </message>
+    <message>
+        <source>Click left button and drag to measure a rectangular area</source>
+        <translation type="unfinished">Klepněte levým tlačítkem a táhněte pro změření obdélníkové oblasti</translation>
+    </message>
+    <message>
+        <source>Measure Item</source>
+        <translation type="unfinished">Položka měření</translation>
+    </message>
+    <message>
+        <source>Click left button and drag to measure extents of an item or shape</source>
+        <translation type="unfinished">Klepněte levým tlačítkem a táhněte pro změření rozsahu položky nebo tvaru</translation>
+    </message>
+    <message>
+        <source>1. %2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1. %2</source>
+        <translation type="unfinished">%1: %2 {1.?}</translation>
+    </message>
+    <message>
+        <source>Multiplex all of the above</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Playback speed: %1% (%2x slower)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Playback speed: %1% (%2x faster)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Problems loading plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&lt;b&gt;Layer generation failed&lt;/b&gt;&lt;p&gt;Failed to generate derived layer.&lt;p&gt;The layer transform %1failed:&lt;p&gt;%2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&lt;b&gt;Layer generation failed&lt;/b&gt;&lt;p&gt;Failed to generate a derived layer.&lt;p&gt;The layer transform %1failed.&lt;p&gt;No error information is available.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&lt;h3&gt;Newer version available&lt;/h3&gt;&lt;p&gt;You are using version %1 of Sonic Visualiser, but version %2 is now available.&lt;/p&gt;&lt;p&gt;Please see the &lt;a href=&quot;http://sonicvisualiser.org/&quot;&gt;Sonic Visualiser website&lt;/a&gt; for more information.&lt;/p&gt;</source>
+        <translation type="unfinished">&lt;h3&gt;Je dostupná novější verze&lt;/h3&gt;&lt;p&gt;Používáte verzi %1 programu Sonic Visualiser, ale nyní je dostupná verze %3.&lt;/p&gt;&lt;p&gt;Podívejte se, prosím, na stránky &lt;a href=&quot;http://sonicvisualiser.org/&quot;&gt;projektu Sonic Visualiser&lt;/a&gt;, abyste získal více informací.&lt;/p&gt; {3&gt;?} {3&gt;?} {1 ?} {2 ?}</translation>
+    </message>
 </context>
 <context>
     <name>MainWindowBase</name>
@@ -3376,7 +3892,7 @@
     </message>
     <message>
         <source>&lt;b&gt;No audio available&lt;/b&gt;&lt;p&gt;Failed to open your preferred audio device (&quot;%1&quot;).&lt;p&gt;Audio playback will not be available during this session.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Žádný zvuk není dostupný&lt;/b&gt;&lt;p&gt; Vámi upřednostňované zvukové zařízení se nepodařilo otevřít (&quot;%1&quot;).&lt;p&gt;Přehrávání zvuku během tohoto sezení nebude dostupné.&lt;/p&gt;</translation>
+        <translation type="vanished">&lt;b&gt;Žádný zvuk není dostupný&lt;/b&gt;&lt;p&gt; Vámi upřednostňované zvukové zařízení se nepodařilo otevřít (&quot;%1&quot;).&lt;p&gt;Přehrávání zvuku během tohoto sezení nebude dostupné.&lt;/p&gt;</translation>
     </message>
     <message>
         <source>Delete Pane</source>
@@ -3446,6 +3962,14 @@
         <source>&lt;b&gt;Failed to import RDF&lt;/b&gt;&lt;p&gt;Importing data from RDF document at &quot;%1&quot; failed: %2&lt;/p&gt;</source>
         <translation>&lt;b&gt;Nepodařilo se zavést RDF&lt;/b&gt;&lt;p&gt;Zavedení dat z dokumentu RDF na &quot;%1&quot; se nepodařilo: %2&lt;/p&gt;</translation>
     </message>
+    <message>
+        <source>Import Recorded Audio</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Recording: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>ModelDataTableDialog</name>
@@ -3541,6 +4065,21 @@
     </message>
 </context>
 <context>
+    <name>NetworkPermissionTester</name>
+    <message>
+        <source>Welcome to Sonic Visualiser</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&lt;h2&gt;Welcome to Sonic Visualiser!&lt;/h2&gt;&lt;p&gt;&lt;img src=&quot;:icons/qm-logo-smaller.png&quot; style=&quot;float:right&quot;&gt;Sonic Visualiser is a program for viewing and exploring audio data for semantic music analysis and annotation.&lt;/p&gt;&lt;p&gt;Developed in the Centre for Digital Music at Queen Mary, University of London, Sonic Visualiser is provided free as open source software under the GNU General Public License.&lt;/p&gt;&lt;p&gt;&lt;hr&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Before we go on...&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Sonic Visualiser would like to make networking connections and open a network port.&lt;/p&gt;&lt;p&gt;This is to:&lt;/p&gt;&lt;ul&gt;&lt;li&gt; Find information about available and installed plugins;&lt;/li&gt;&lt;li&gt; Support the use of Open Sound Control, where configured; and&lt;/li&gt;&lt;li&gt; Tell you when updates are available.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;No personal information will be sent, no tracking is carried out, and all requests happen in the background without interrupting your work.&lt;/p&gt;&lt;p&gt;We recommend that you allow this, because it makes Sonic Visualiser more useful. But if you do not wish to do so, please un-check the box below.&lt;br&gt;&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Allow this</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>NoteLayer</name>
     <message>
         <source>Log</source>
@@ -3740,15 +4279,15 @@
     </message>
     <message>
         <source>Draw</source>
-        <translation>Nakreslit</translation>
+        <translation type="vanished">Nakreslit</translation>
     </message>
     <message>
         <source>Edit</source>
-        <translation>Upravit</translation>
+        <translation type="vanished">Upravit</translation>
     </message>
     <message>
         <source>Left</source>
-        <translation>Levé</translation>
+        <translation type="vanished">Levé</translation>
     </message>
     <message>
         <source>Menu</source>
@@ -3756,7 +4295,7 @@
     </message>
     <message>
         <source>Move</source>
-        <translation>Posunout</translation>
+        <translation type="vanished">Posunout</translation>
     </message>
     <message>
         <source>Zoom</source>
@@ -3764,7 +4303,7 @@
     </message>
     <message>
         <source>Click left button and drag to measure a rectangular area</source>
-        <translation>Klepněte levým tlačítkem a táhněte pro změření obdélníkové oblasti</translation>
+        <translation type="vanished">Klepněte levým tlačítkem a táhněte pro změření obdélníkové oblasti</translation>
     </message>
     <message>
         <source>Double-Click Middle</source>
@@ -3772,11 +4311,11 @@
     </message>
     <message>
         <source>Edit Tool Mouse Actions</source>
-        <translation>Činnosti nástroje úprav prováděné myší</translation>
+        <translation type="vanished">Činnosti nástroje úprav prováděné myší</translation>
     </message>
     <message>
         <source>Draw Tool Mouse Actions</source>
-        <translation>Činnosti nástroje kreslení prováděné myší</translation>
+        <translation type="vanished">Činnosti nástroje kreslení prováděné myší</translation>
     </message>
     <message>
         <source>Right</source>
@@ -3792,7 +4331,7 @@
     </message>
     <message>
         <source>Multi Select</source>
-        <translation>Vícenásobný výběr</translation>
+        <translation type="vanished">Vícenásobný výběr</translation>
     </message>
     <message>
         <source>Zoom In</source>
@@ -3804,7 +4343,7 @@
     </message>
     <message>
         <source>Shift-click left button and drag to zoom to a rectangular area</source>
-        <translation>Shift-klepněte levým tlačítkem a táhněte pro přiblížení obdélníkové oblasti</translation>
+        <translation type="vanished">Shift-klepněte levým tlačítkem a táhněte pro přiblížení obdélníkové oblasti</translation>
     </message>
     <message>
         <source>%1 / %2Hz%3</source>
@@ -3832,7 +4371,7 @@
     </message>
     <message>
         <source>Double-click left button on an item to edit it</source>
-        <translation>Dvakrát klepněte levým tlačítkem na položce pro její upravení</translation>
+        <translation type="vanished">Dvakrát klepněte levým tlačítkem na položce pro její upravení</translation>
     </message>
     <message>
         <source>Scroll rapidly left or right in time axis</source>
@@ -3852,11 +4391,11 @@
     </message>
     <message>
         <source>Select</source>
-        <translation>Vybrat</translation>
+        <translation type="vanished">Vybrat</translation>
     </message>
     <message>
         <source>Fine Select</source>
-        <translation>Citlivý výběr</translation>
+        <translation type="vanished">Citlivý výběr</translation>
     </message>
     <message>
         <source>Zoom in or out in time axis</source>
@@ -3864,7 +4403,7 @@
     </message>
     <message>
         <source>Click left button and drag to measure extents of an item or shape</source>
-        <translation>Klepněte levým tlačítkem a táhněte pro změření rozsahu položky nebo tvaru</translation>
+        <translation type="vanished">Klepněte levým tlačítkem a táhněte pro změření rozsahu položky nebo tvaru</translation>
     </message>
     <message>
         <source>Zoom Out</source>
@@ -3892,7 +4431,7 @@
     </message>
     <message>
         <source>Click left button on an item or selected region and drag to move</source>
-        <translation>Klepněte levým tlačítkem na položku nebo vybranou oblast a táhněte pro její přesun</translation>
+        <translation type="vanished">Klepněte levým tlačítkem na položku nebo vybranou oblast a táhněte pro její přesun</translation>
     </message>
     <message>
         <source>Click and drag to select a range; hold Shift to avoid snapping to items; hold Ctrl for multi-select; middle-click and drag to navigate</source>
@@ -3912,11 +4451,11 @@
     </message>
     <message>
         <source>Click left button and drag to move around</source>
-        <translation>Klepněte levým tlačítkem a táhněte pro přesouvání se</translation>
+        <translation type="vanished">Klepněte levým tlačítkem a táhněte pro přesouvání se</translation>
     </message>
     <message>
         <source>Select Tool Mouse Actions</source>
-        <translation>Činnosti nástroje výběru prováděné myší</translation>
+        <translation type="vanished">Činnosti nástroje výběru prováděné myší</translation>
     </message>
     <message>
         <source>Unaligned</source>
@@ -3944,7 +4483,7 @@
     </message>
     <message>
         <source>Ctrl+Left</source>
-        <translation>Ctrl+šipka vlevo</translation>
+        <translation type="vanished">Ctrl+šipka vlevo</translation>
     </message>
     <message>
         <source>Click and drag to move the selection boundary</source>
@@ -3952,11 +4491,11 @@
     </message>
     <message>
         <source>Measure Tool Mouse Actions</source>
-        <translation>Činnosti nástroje měření prováděné myší</translation>
+        <translation type="vanished">Činnosti nástroje měření prováděné myší</translation>
     </message>
     <message>
         <source>Ctrl-click left button and drag to select an additional region</source>
-        <translation>Ctrl-klepněte levým tlačítkem a táhněte pro výběr další oblasti</translation>
+        <translation type="vanished">Ctrl-klepněte levým tlačítkem a táhněte pro výběr další oblasti</translation>
     </message>
     <message>
         <source>Zoom in or out in the vertical axis</source>
@@ -3980,7 +4519,7 @@
     </message>
     <message>
         <source>Double-Click Left</source>
-        <translation>Dvakrát klepněte levým</translation>
+        <translation type="vanished">Dvakrát klepněte levým</translation>
     </message>
     <message>
         <source>Wheel Down</source>
@@ -3988,7 +4527,7 @@
     </message>
     <message>
         <source>Shift-click left button and drag to select without snapping to items or grid</source>
-        <translation>Shift-klepněte levým tlačítkem a táhněte pro výběr bez zapadávání k položkám nebo mřížce</translation>
+        <translation type="vanished">Shift-klepněte levým tlačítkem a táhněte pro výběr bez zapadávání k položkám nebo mřížce</translation>
     </message>
     <message>
         <source>Relocate</source>
@@ -4000,7 +4539,7 @@
     </message>
     <message>
         <source>Navigate Tool Mouse Actions</source>
-        <translation>Činnosti nástroje pro navádění prováděné myší</translation>
+        <translation type="vanished">Činnosti nástroje pro navádění prováděné myší</translation>
     </message>
     <message>
         <source>Reference</source>
@@ -4012,19 +4551,19 @@
     </message>
     <message>
         <source>Zoom to Area</source>
-        <translation>Přiblížit oblast</translation>
+        <translation type="vanished">Přiblížit oblast</translation>
     </message>
     <message>
         <source>Measure Area</source>
-        <translation>Oblast měření</translation>
+        <translation type="vanished">Oblast měření</translation>
     </message>
     <message>
         <source>Measure Item</source>
-        <translation>Položka měření</translation>
+        <translation type="vanished">Položka měření</translation>
     </message>
     <message>
         <source>Shift+Left</source>
-        <translation>Shift+šipka vlevo</translation>
+        <translation type="vanished">Shift+šipka vlevo</translation>
     </message>
     <message>
         <source>Click and drag to adjust the horizontal zoom level</source>
@@ -4032,7 +4571,7 @@
     </message>
     <message>
         <source>Click left button and drag to select region; drag region edge to resize</source>
-        <translation>Klepněte levým tlačítkem a táhněte pro výběr oblasti; táhněte za okraj oblasti pro změnu její velikosti</translation>
+        <translation type="vanished">Klepněte levým tlačítkem a táhněte pro výběr oblasti; táhněte za okraj oblasti pro změnu její velikosti</translation>
     </message>
     <message>
         <source>Wheel Up</source>
@@ -4060,11 +4599,11 @@
     </message>
     <message>
         <source>Double-click left button to jump to clicked location</source>
-        <translation>Dvakrát klepněte levým tlačítkem pro skok na klepnuté místo</translation>
+        <translation type="vanished">Dvakrát klepněte levým tlačítkem pro skok na klepnuté místo</translation>
     </message>
     <message>
         <source>Click left button and drag to create new item</source>
-        <translation>Klepněte levým tlačítkem a táhněte pro vytvoření nové položky</translation>
+        <translation type="vanished">Klepněte levým tlačítkem a táhněte pro vytvoření nové položky</translation>
     </message>
     <message>
         <source>New vertical display range, from %1 to %2 %4:</source>
@@ -4072,7 +4611,7 @@
     </message>
     <message>
         <source>Cmd-click left button and drag to select an additional region</source>
-        <translation>Ctrl-klepněte levým tlačítkem a táhněte pro výběr další oblasti</translation>
+        <translation type="vanished">Ctrl-klepněte levým tlačítkem a táhněte pro výběr další oblasti</translation>
     </message>
     <message>
         <source>Click and drag to select a range; hold Shift to avoid snapping to items; hold Cmd for multi-select; middle-click and drag to navigate</source>
@@ -4099,7 +4638,7 @@
     </message>
     <message>
         <source>Change Playback Plugin</source>
-        <translation>Změnit přídavný modul přehrávání</translation>
+        <translation type="vanished">Změnit přídavný modul přehrávání</translation>
     </message>
     <message>
         <source>Change Playback Pan</source>
@@ -4107,7 +4646,11 @@
     </message>
     <message>
         <source>Configure Playback Plugin</source>
-        <translation>Nastavit přídavný modul přehrávání</translation>
+        <translation type="vanished">Nastavit přídavný modul přehrávání</translation>
+    </message>
+    <message>
+        <source>Change Playback Sample</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -4371,7 +4914,7 @@
     </message>
     <message>
         <source>Time display format</source>
-        <translation>Formát zobrazení času</translation>
+        <translation type="vanished">Formát zobrazení času</translation>
     </message>
     <message>
         <source>Show boxes for all panes</source>
@@ -4397,6 +4940,42 @@
         <source>4 x Oversampling with interpolation</source>
         <translation>4 x převzorkování s interpolací</translation>
     </message>
+    <message>
+        <source>Normalise audio signal when reading from audio file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Single fixed sample rate to resample all files to</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Time display precision</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Use hours:minutes:seconds format</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Label middle C as</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>C0 - middle of octave scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>C3 - common MIDI sequencer convention</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>C4 - ASA American standard</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>C5 - used in Cakewalk and others</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PreferencesDialog</name>
@@ -4472,30 +5051,50 @@
     </message>
     <message>
         <source>Playback audio device:</source>
-        <translation>Zvukové zařízení pro přehrávání:</translation>
+        <translation type="vanished">Zvukové zařízení pro přehrávání:</translation>
     </message>
     <message>
         <source>Follow system locale</source>
+        <translation>Použít jazyk systému</translation>
+    </message>
+    <message>
+        <source>Russian</source>
+        <translation>Ruština</translation>
+    </message>
+    <message>
+        <source>British English</source>
+        <translation>Britská angličtina</translation>
+    </message>
+    <message>
+        <source>American English</source>
+        <translation>Americká angličtina</translation>
+    </message>
+    <message>
+        <source>Czech</source>
+        <translation>Čeština</translation>
+    </message>
+    <message>
+        <source>User interface language</source>
+        <translation>Jazyk uživatelského rozhraní</translation>
+    </message>
+    <message>
+        <source>Allow network usage</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Russian</source>
+        <source>Draw layers at Retina resolution:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>British English</source>
+        <source>Default spectrogram colour:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>American English</source>
+        <source>Default melodic spectrogram colour:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Czech</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>User interface language</source>
+        <source>Default colour 3D plot colour:</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -4568,6 +5167,10 @@
         <source>Playback Gain</source>
         <translation>Zesílení přehrávání</translation>
     </message>
+    <message>
+        <source>Set playback clip:</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PropertyContainer</name>
@@ -4675,6 +5278,30 @@
     </message>
 </context>
 <context>
+    <name>QObject</name>
+    <message>
+        <source>&lt;b&gt;Failed to load plugins&lt;/b&gt;&lt;p&gt;Failed to load one or more plugin libraries:&lt;/p&gt;
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to load library</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to query plugins from library after loading</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Unknown failure</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Success: internal error?</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>QuickTimeFileReader</name>
     <message>
         <source>Decoding %1...</source>
@@ -4711,6 +5338,13 @@
     </message>
 </context>
 <context>
+    <name>ReadOnlyWaveFileModel</name>
+    <message>
+        <source>Wave File</source>
+        <translation type="unfinished">Soubor Wave</translation>
+    </message>
+</context>
+<context>
     <name>RegionLayer</name>
     <message>
         <source>Log</source>
@@ -4883,7 +5517,7 @@
     <name>ResamplingWavFileReader</name>
     <message>
         <source>Resampling %1...</source>
-        <translation>Převzorkovává se %1...</translation>
+        <translation type="vanished">Převzorkovává se %1...</translation>
     </message>
 </context>
 <context>
@@ -5248,7 +5882,7 @@
     </message>
     <message>
         <source>Normalize Columns</source>
-        <translation>Normalizovat sloupce</translation>
+        <translation type="vanished">Normalizovat sloupce</translation>
     </message>
     <message>
         <source>Time:	%1 - %2
@@ -5304,7 +5938,7 @@
     </message>
     <message>
         <source>Normalize Visible Area</source>
-        <translation>Normalizovat viditelnou oblast</translation>
+        <translation type="vanished">Normalizovat viditelnou oblast</translation>
     </message>
     <message>
         <source>Colour</source>
@@ -5436,6 +6070,10 @@
         <source>Max Frequency</source>
         <translation>Největší kmitočet</translation>
     </message>
+    <message>
+        <source>Normalization</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>SpectrumLayer</name>
@@ -5547,11 +6185,11 @@
     <name>Surveyer</name>
     <message>
         <source>No, thanks</source>
-        <translation type="obsolete">Ne, děkuji</translation>
+        <translation type="unfinished">Ne, děkuji</translation>
     </message>
     <message>
         <source>Yes! Take me to the survey</source>
-        <translation type="obsolete">Ano! Vezmi mě do průzkumu</translation>
+        <translation type="unfinished">Ano! Vezmi mě do průzkumu</translation>
     </message>
 </context>
 <context>
@@ -5838,7 +6476,7 @@
         <source>Time:	%1
 Value:	%2%3
 Label:	%4</source>
-        <translation>Čas:	%1
+        <translation type="vanished">Čas:	%1
 Hodnota:	%2%3
 Štítek:	%4</translation>
     </message>
@@ -5908,7 +6546,7 @@
         <source>Time:	%1
 Value:	%2%3
 No label</source>
-        <translation>Čas:	%1
+        <translation type="vanished">Čas:	%1
 Hodnota:	%2%3
 Žádný štítek</translation>
     </message>
@@ -5952,6 +6590,42 @@
         <source>Draw Segment Division Lines</source>
         <translation>Kreslit čáry rozdělující části</translation>
     </message>
+    <message>
+        <source>Discrete Curves</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 Hz (%2, %3)</source>
+        <translation type="unfinished">%1 Hz (%2, %3)</translation>
+    </message>
+    <message>
+        <source>%1 %2</source>
+        <translation type="unfinished">%1 %2</translation>
+    </message>
+    <message>
+        <source>%1</source>
+        <translation type="unfinished">%1</translation>
+    </message>
+    <message>
+        <source>Time:	%1
+Value:	%2
+No label</source>
+        <translation type="unfinished">Čas:	%1
+Hodnota:	%2%3
+Žádný štítek {1
+?} {2
+?}</translation>
+    </message>
+    <message>
+        <source>Time:	%1
+Value:	%2
+Label:	%4</source>
+        <translation type="unfinished">Čas:	%1
+Hodnota:	%2%3
+Štítek:	%4 {1
+?} {2
+?}</translation>
+    </message>
 </context>
 <context>
     <name>TipDialog</name>
@@ -6179,6 +6853,62 @@
     </message>
 </context>
 <context>
+    <name>UnitConverter</name>
+    <message>
+        <source>Pitch</source>
+        <translation type="unfinished">Výška tónu</translation>
+    </message>
+    <message>
+        <source> cents</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>In 12-tone Equal Temperament:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>=</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Piano note</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>in octave</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>MIDI pitch</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Note that only pitches in the range 0 to 127 are valid in the MIDI protocol.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Tempo</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Beat period</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>at</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>With concert-A tuning frequency at %1 Hz, and middle C residing in octave %2.
+(These can be changed in the application preferences.)</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>View</name>
     <message>
         <source>Off</source>
@@ -6315,12 +7045,16 @@
             <numerusform>Zvětšení na %n vzorků na pixel</numerusform>
         </translation>
     </message>
+    <message>
+        <source>Enter NoteEdit mode</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>WaveFileModel</name>
     <message>
         <source>Wave File</source>
-        <translation>Soubor Wave</translation>
+        <translation type="vanished">Soubor Wave</translation>
     </message>
 </context>
 <context>
Binary file i18n/sonic-visualiser_en_GB.qm has changed
--- a/i18n/sonic-visualiser_en_GB.ts	Wed Jul 15 12:27:40 2015 +0100
+++ b/i18n/sonic-visualiser_en_GB.ts	Wed Apr 20 12:06:28 2016 +0100
@@ -1,20 +1,20 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE TS>
-<TS version="2.0" language="en">
+<TS version="2.1" language="en">
 <context>
     <name>ActivityLog</name>
     <message>
-        <location filename="../../svgui/widgets/ActivityLog.cpp" line="30"/>
+        <location filename="../svgui/widgets/ActivityLog.cpp" line="37"/>
         <source>Activity Log</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ActivityLog.cpp" line="35"/>
+        <location filename="../svgui/widgets/ActivityLog.cpp" line="42"/>
         <source>&lt;p&gt;Activity Log lists your interactions and other events within %1.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ActivityLog.cpp" line="63"/>
+        <location filename="../svgui/widgets/ActivityLog.cpp" line="77"/>
         <source>%1: %2</source>
         <translation type="unfinished"></translation>
     </message>
@@ -22,7 +22,7 @@
 <context>
     <name>AddLayerCommand</name>
     <message>
-        <location filename="../../svapp/framework/Document.cpp" line="956"/>
+        <location filename="../svapp/framework/Document.cpp" line="1179"/>
         <source>Add %1 Layer</source>
         <translation type="unfinished"></translation>
     </message>
@@ -30,7 +30,7 @@
 <context>
     <name>AggregateWaveModel</name>
     <message>
-        <location filename="../../svcore/data/model/AggregateWaveModel.h" line="45"/>
+        <location filename="../svcore/data/model/AggregateWaveModel.h" line="45"/>
         <source>Aggregate Wave</source>
         <translation type="unfinished"></translation>
     </message>
@@ -38,7 +38,7 @@
 <context>
     <name>AlignmentModel</name>
     <message>
-        <location filename="../../svcore/data/model/AlignmentModel.h" line="47"/>
+        <location filename="../svcore/data/model/AlignmentModel.h" line="46"/>
         <source>Alignment</source>
         <translation type="unfinished"></translation>
     </message>
@@ -46,17 +46,17 @@
 <context>
     <name>AudioCallbackPlaySource</name>
     <message>
-        <location filename="../../svapp/audioio/AudioCallbackPlaySource.cpp" line="459"/>
+        <location filename="../svapp/audio/AudioCallbackPlaySource.cpp" line="499"/>
         <source>Play from %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/audioio/AudioCallbackPlaySource.cpp" line="482"/>
+        <location filename="../svapp/audio/AudioCallbackPlaySource.cpp" line="522"/>
         <source>Stop at %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/audioio/AudioCallbackPlaySource.cpp" line="1071"/>
+        <location filename="../svapp/audio/AudioCallbackPlaySource.cpp" line="1105"/>
         <source>Change time-stretch factor to %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -64,140 +64,112 @@
 <context>
     <name>AudioDial</name>
     <message>
-        <location filename="../../svgui/widgets/AudioDial.cpp" line="416"/>
+        <location filename="../svgui/widgets/AudioDial.cpp" line="416"/>
         <source>%1: %2%3</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/AudioDial.cpp" line="418"/>
+        <location filename="../svgui/widgets/AudioDial.cpp" line="418"/>
         <source>%2%3</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/AudioDial.cpp" line="481"/>
+        <location filename="../svgui/widgets/AudioDial.cpp" line="481"/>
         <source>New value for %1, from %2 to %3 %4:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/AudioDial.cpp" line="484"/>
+        <location filename="../svgui/widgets/AudioDial.cpp" line="484"/>
         <source>New value for %1, from %2 to %3:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/AudioDial.cpp" line="489"/>
+        <location filename="../svgui/widgets/AudioDial.cpp" line="489"/>
         <source>Enter a new value from %1 to %2 %3:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/AudioDial.cpp" line="492"/>
-        <location filename="../../svgui/widgets/AudioDial.cpp" line="516"/>
+        <location filename="../svgui/widgets/AudioDial.cpp" line="492"/>
+        <location filename="../svgui/widgets/AudioDial.cpp" line="516"/>
         <source>Enter a new value from %1 to %2:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/AudioDial.cpp" line="499"/>
-        <location filename="../../svgui/widgets/AudioDial.cpp" line="515"/>
+        <location filename="../svgui/widgets/AudioDial.cpp" line="499"/>
+        <location filename="../svgui/widgets/AudioDial.cpp" line="515"/>
         <source>Enter new value</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>AudioTargetFactory</name>
-    <message>
-        <location filename="../../svapp/audioio/AudioTargetFactory.cpp" line="72"/>
-        <source>(auto)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svapp/audioio/AudioTargetFactory.cpp" line="76"/>
-        <source>JACK Audio Connection Kit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svapp/audioio/AudioTargetFactory.cpp" line="80"/>
-        <source>PulseAudio Server</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svapp/audioio/AudioTargetFactory.cpp" line="84"/>
-        <source>Core Audio Device</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svapp/audioio/AudioTargetFactory.cpp" line="88"/>
-        <source>Default Soundcard Device</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>BZipFileDevice</name>
     <message>
-        <location filename="../../svcore/data/fileio/BZipFileDevice.cpp" line="49"/>
+        <location filename="../svcore/data/fileio/BZipFileDevice.cpp" line="51"/>
         <source>File is already open</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/BZipFileDevice.cpp" line="54"/>
+        <location filename="../svcore/data/fileio/BZipFileDevice.cpp" line="56"/>
         <source>Append mode not supported</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/BZipFileDevice.cpp" line="60"/>
+        <location filename="../svcore/data/fileio/BZipFileDevice.cpp" line="62"/>
         <source>File access mode not specified</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/BZipFileDevice.cpp" line="66"/>
+        <location filename="../svcore/data/fileio/BZipFileDevice.cpp" line="68"/>
         <source>Read and write modes both specified</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/BZipFileDevice.cpp" line="75"/>
+        <location filename="../svcore/data/fileio/BZipFileDevice.cpp" line="77"/>
         <source>Failed to open file for writing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/BZipFileDevice.cpp" line="86"/>
+        <location filename="../svcore/data/fileio/BZipFileDevice.cpp" line="88"/>
         <source>Failed to open bzip2 stream for writing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/BZipFileDevice.cpp" line="102"/>
+        <location filename="../svcore/data/fileio/BZipFileDevice.cpp" line="104"/>
         <source>Failed to open file for reading</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/BZipFileDevice.cpp" line="113"/>
+        <location filename="../svcore/data/fileio/BZipFileDevice.cpp" line="115"/>
         <source>Failed to open bzip2 stream for reading</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/BZipFileDevice.cpp" line="127"/>
+        <location filename="../svcore/data/fileio/BZipFileDevice.cpp" line="129"/>
         <source>Internal error (open for neither read nor write)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/BZipFileDevice.cpp" line="136"/>
+        <location filename="../svcore/data/fileio/BZipFileDevice.cpp" line="138"/>
         <source>File not open</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/BZipFileDevice.cpp" line="148"/>
+        <location filename="../svcore/data/fileio/BZipFileDevice.cpp" line="150"/>
         <source>bzip2 stream write close error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/BZipFileDevice.cpp" line="160"/>
+        <location filename="../svcore/data/fileio/BZipFileDevice.cpp" line="162"/>
         <source>bzip2 stream read close error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/BZipFileDevice.cpp" line="169"/>
+        <location filename="../svcore/data/fileio/BZipFileDevice.cpp" line="171"/>
         <source>Internal error (close for neither read nor write)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/BZipFileDevice.cpp" line="186"/>
+        <location filename="../svcore/data/fileio/BZipFileDevice.cpp" line="188"/>
         <source>bzip2 stream read error</source>
         <translation type="unfinished"></translation>
     </message>
@@ -205,7 +177,7 @@
 <context>
     <name>BundleCommand</name>
     <message numerus="yes">
-        <location filename="../../svcore/base/Command.cpp" line="98"/>
+        <location filename="../svcore/base/Command.cpp" line="98"/>
         <source>%1 (%n change(s))</source>
         <translation type="unfinished">
             <numerusform>%1 (%n change)</numerusform>
@@ -216,7 +188,8 @@
 <context>
     <name>CSVFileWriter</name>
     <message>
-        <location filename="../../svcore/data/fileio/CSVFileWriter.cpp" line="62"/>
+        <location filename="../svcore/data/fileio/CSVFileWriter.cpp" line="67"/>
+        <location filename="../svcore/data/fileio/CSVFileWriter.cpp" line="92"/>
         <source>Failed to open file %1 for writing</source>
         <translation type="unfinished"></translation>
     </message>
@@ -224,88 +197,98 @@
 <context>
     <name>CSVFormatDialog</name>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="40"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="45"/>
         <source>Select Data Format</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="46"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="51"/>
         <source>Please select the correct data format for this file.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="78"/>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="88"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="83"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="93"/>
         <source>&lt;ignore&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="79"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="84"/>
         <source>Values</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="82"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="87"/>
         <source>(%1 more)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="89"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="94"/>
         <source>Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="90"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="95"/>
         <source>End time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="91"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="96"/>
         <source>Duration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="92"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="97"/>
         <source>Value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="93"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="98"/>
+        <source>Pitch</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="99"/>
         <source>Label</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="111"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="121"/>
         <source>Timing is specified:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="114"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="126"/>
         <source>Explicitly, in seconds</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="115"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="127"/>
+        <source>Explicitly, in milliseconds</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="128"/>
         <source>Explicitly, in audio sample frames</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="116"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="129"/>
         <source>Implicitly: rows are equally spaced in time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="124"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="156"/>
         <source>Audio sample rate (Hz):</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="147"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="179"/>
         <source>Frame increment between rows:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="215"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="249"/>
         <source>Data will be displayed in a %1 layer.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -313,91 +296,91 @@
 <context>
     <name>Colour3DPlotLayer</name>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="170"/>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="216"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="177"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="223"/>
         <source>Colour</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="171"/>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="211"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="178"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="218"/>
         <source>Scale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="172"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="179"/>
         <source>Normalize Columns</source>
         <translation type="unfinished">Normalise Columns</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="173"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="180"/>
         <source>Normalize Visible Area</source>
         <translation type="unfinished">Normalise Visible Area</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="174"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="181"/>
         <source>Invert Vertical Scale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="175"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="182"/>
         <source>Gain</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="176"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="183"/>
         <source>Always Opaque</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="177"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="184"/>
         <source>Smooth</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="178"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="185"/>
         <source>Bin Scale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="213"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="220"/>
         <source>Bins</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="309"/>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="318"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="316"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="325"/>
         <source>Linear</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="310"/>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="319"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="317"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="326"/>
         <source>Log</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="311"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="318"/>
         <source>+/-1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="312"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="319"/>
         <source>Absolute</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="322"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="329"/>
         <source>&lt;unknown&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="329"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="336"/>
         <source>dB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="698"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="750"/>
         <source>Time:	%1 - %2
 Bin:	%3
 Value:	%4</source>
@@ -407,68 +390,68 @@
 <context>
     <name>ColourMapper</name>
     <message>
-        <location filename="../../svgui/layer/ColourMapper.cpp" line="48"/>
-        <location filename="../../svgui/layer/ColourMapper.cpp" line="66"/>
+        <location filename="../svgui/layer/ColourMapper.cpp" line="88"/>
+        <location filename="../svgui/layer/ColourMapper.cpp" line="106"/>
         <source>&lt;unknown&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ColourMapper.cpp" line="52"/>
-        <source>Default</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/layer/ColourMapper.cpp" line="53"/>
+        <location filename="../svgui/layer/ColourMapper.cpp" line="93"/>
         <source>White on Black</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ColourMapper.cpp" line="54"/>
+        <location filename="../svgui/layer/ColourMapper.cpp" line="94"/>
         <source>Black on White</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ColourMapper.cpp" line="55"/>
-        <source>Red on Blue</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/layer/ColourMapper.cpp" line="56"/>
-        <source>Yellow on Black</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/layer/ColourMapper.cpp" line="57"/>
-        <source>Blue on Black</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/layer/ColourMapper.cpp" line="58"/>
+        <location filename="../svgui/layer/ColourMapper.cpp" line="92"/>
+        <source>Green</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/ColourMapper.cpp" line="95"/>
+        <source>Cherry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/ColourMapper.cpp" line="96"/>
+        <source>Wasp</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/ColourMapper.cpp" line="97"/>
+        <source>Ice</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/ColourMapper.cpp" line="98"/>
         <source>Sunset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ColourMapper.cpp" line="59"/>
+        <location filename="../svgui/layer/ColourMapper.cpp" line="99"/>
         <source>Fruit Salad</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ColourMapper.cpp" line="60"/>
+        <location filename="../svgui/layer/ColourMapper.cpp" line="100"/>
         <source>Banded</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ColourMapper.cpp" line="61"/>
+        <location filename="../svgui/layer/ColourMapper.cpp" line="101"/>
         <source>Highlight</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ColourMapper.cpp" line="62"/>
+        <location filename="../svgui/layer/ColourMapper.cpp" line="102"/>
         <source>Printer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ColourMapper.cpp" line="63"/>
+        <location filename="../svgui/layer/ColourMapper.cpp" line="103"/>
         <source>High Gain</source>
         <translation type="unfinished"></translation>
     </message>
@@ -476,68 +459,67 @@
 <context>
     <name>CommandHistory</name>
     <message>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="56"/>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="61"/>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="64"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="67"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="70"/>
         <source>&amp;Undo</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="57"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="63"/>
         <source>Ctrl+Z</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="58"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="64"/>
         <source>Undo the last editing operation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="69"/>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="74"/>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="77"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="75"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="80"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="83"/>
         <source>Re&amp;do</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="70"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="76"/>
         <source>Ctrl+Shift+Z</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="71"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="77"/>
         <source>Redo the last operation that was undone</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="341"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="357"/>
         <source>Undo %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="367"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="383"/>
         <source>Redo %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="500"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="516"/>
         <source>Nothing to undo</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="500"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="516"/>
         <source>Nothing to redo</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="516"/>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="538"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="532"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="554"/>
         <source>&amp;Undo %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="516"/>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="539"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="532"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="555"/>
         <source>Re&amp;do %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -545,7 +527,15 @@
 <context>
     <name>CoreAudioFileReader</name>
     <message>
-        <location filename="../../svcore/data/fileio/CoreAudioFileReader.cpp" line="156"/>
+        <location filename="../svcore/data/fileio/CoreAudioFileReader.cpp" line="162"/>
+        <source>Decoding %1...</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>DecodingWavFileReader</name>
+    <message>
+        <location filename="../svcore/data/fileio/DecodingWavFileReader.cpp" line="66"/>
         <source>Decoding %1...</source>
         <translation type="unfinished"></translation>
     </message>
@@ -553,7 +543,7 @@
 <context>
     <name>Dense3DModelPeakCache</name>
     <message>
-        <location filename="../../svcore/data/model/Dense3DModelPeakCache.h" line="86"/>
+        <location filename="../svcore/data/model/Dense3DModelPeakCache.h" line="79"/>
         <source>Dense 3-D Peak Cache</source>
         <translation type="unfinished"></translation>
     </message>
@@ -561,17 +551,17 @@
 <context>
     <name>DenseThreeDimensionalModel</name>
     <message>
-        <location filename="../../svcore/data/model/DenseThreeDimensionalModel.h" line="110"/>
+        <location filename="../svcore/data/model/DenseThreeDimensionalModel.h" line="120"/>
         <source>Dense 3-D</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/DenseThreeDimensionalModel.h" line="127"/>
+        <location filename="../svcore/data/model/DenseThreeDimensionalModel.h" line="137"/>
         <source>Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/DenseThreeDimensionalModel.h" line="128"/>
+        <location filename="../svcore/data/model/DenseThreeDimensionalModel.h" line="138"/>
         <source>Frame</source>
         <translation type="unfinished"></translation>
     </message>
@@ -579,7 +569,7 @@
 <context>
     <name>DenseTimeValueModel</name>
     <message>
-        <location filename="../../svcore/data/model/DenseTimeValueModel.h" line="89"/>
+        <location filename="../svcore/data/model/DenseTimeValueModel.h" line="82"/>
         <source>Dense Time-Value</source>
         <translation type="unfinished"></translation>
     </message>
@@ -587,12 +577,12 @@
 <context>
     <name>Document</name>
     <message>
-        <location filename="../../svapp/framework/Document.cpp" line="270"/>
+        <location filename="../svapp/framework/Document.cpp" line="415"/>
         <source>Set main model to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/Document.cpp" line="272"/>
+        <location filename="../svapp/framework/Document.cpp" line="417"/>
         <source>Clear main model</source>
         <translation type="unfinished"></translation>
     </message>
@@ -600,7 +590,7 @@
 <context>
     <name>EditableDenseThreeDimensionalModel</name>
     <message>
-        <location filename="../../svcore/data/model/EditableDenseThreeDimensionalModel.h" line="139"/>
+        <location filename="../svcore/data/model/EditableDenseThreeDimensionalModel.h" line="182"/>
         <source>Editable Dense 3-D</source>
         <translation type="unfinished"></translation>
     </message>
@@ -608,12 +598,12 @@
 <context>
     <name>FFTModel</name>
     <message>
-        <location filename="../../svcore/data/model/FFTModel.h" line="188"/>
+        <location filename="../svcore/data/model/FFTModel.h" line="138"/>
         <source>FFT</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/FFTModel.cpp" line="203"/>
+        <location filename="../svcore/data/model/FFTModel.cpp" line="92"/>
         <source>%1 Hz</source>
         <translation type="unfinished"></translation>
     </message>
@@ -621,22 +611,22 @@
 <context>
     <name>Fader</name>
     <message>
-        <location filename="../../svgui/widgets/Fader.cpp" line="141"/>
+        <location filename="../svgui/widgets/Fader.cpp" line="143"/>
         <source>Enter new fader level</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/Fader.cpp" line="142"/>
+        <location filename="../svgui/widgets/Fader.cpp" line="144"/>
         <source>New fader level, from %1 to %2 dBFS:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/Fader.cpp" line="217"/>
+        <location filename="../svgui/widgets/Fader.cpp" line="219"/>
         <source>Level: Off</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/Fader.cpp" line="219"/>
+        <location filename="../svgui/widgets/Fader.cpp" line="221"/>
         <source>Level: %1%2.%3%4 dB</source>
         <translation type="unfinished"></translation>
     </message>
@@ -644,48 +634,53 @@
 <context>
     <name>FeatureExtractionModelTransformer</name>
     <message>
-        <location filename="../../svcore/transform/FeatureExtractionModelTransformer.cpp" line="54"/>
+        <location filename="../svcore/transform/FeatureExtractionModelTransformer.cpp" line="84"/>
+        <source>Transforms supplied to a single FeatureExtractionModelTransformer instance must be similar in every respect except plugin output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/transform/FeatureExtractionModelTransformer.cpp" line="97"/>
         <source>No factory available for feature extraction plugin id &quot;%1&quot; (unknown plugin type, or internal error?)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/FeatureExtractionModelTransformer.cpp" line="60"/>
+        <location filename="../svcore/transform/FeatureExtractionModelTransformer.cpp" line="103"/>
         <source>Input model for feature extraction plugin &quot;%1&quot; is of wrong type (internal error?)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/FeatureExtractionModelTransformer.cpp" line="66"/>
+        <location filename="../svcore/transform/FeatureExtractionModelTransformer.cpp" line="109"/>
         <source>Failed to instantiate plugin &quot;%1&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/FeatureExtractionModelTransformer.cpp" line="81"/>
+        <location filename="../svcore/transform/FeatureExtractionModelTransformer.cpp" line="124"/>
         <source>Cannot provide enough channels to feature extraction plugin &quot;%1&quot; (plugin min is %2, max %3; input model has %4)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/FeatureExtractionModelTransformer.cpp" line="112"/>
-        <location filename="../../svcore/transform/FeatureExtractionModelTransformer.cpp" line="127"/>
+        <location filename="../svcore/transform/FeatureExtractionModelTransformer.cpp" line="156"/>
+        <location filename="../svcore/transform/FeatureExtractionModelTransformer.cpp" line="171"/>
         <source>Failed to initialise feature extraction plugin &quot;%1&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/FeatureExtractionModelTransformer.cpp" line="117"/>
+        <location filename="../svcore/transform/FeatureExtractionModelTransformer.cpp" line="161"/>
         <source>Feature extraction plugin &quot;%1&quot; rejected the given step and block sizes (%2 and %3); using plugin defaults (%4 and %5) instead</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/FeatureExtractionModelTransformer.cpp" line="135"/>
+        <location filename="../svcore/transform/FeatureExtractionModelTransformer.cpp" line="179"/>
         <source>Transform was configured for version %1 of plugin &quot;%2&quot;, but the plugin being used is version %3</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/FeatureExtractionModelTransformer.cpp" line="150"/>
+        <location filename="../svcore/transform/FeatureExtractionModelTransformer.cpp" line="194"/>
         <source>Plugin &quot;%1&quot; has no outputs</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/FeatureExtractionModelTransformer.cpp" line="165"/>
+        <location filename="../svcore/transform/FeatureExtractionModelTransformer.cpp" line="212"/>
         <source>Plugin &quot;%1&quot; has no output named &quot;%2&quot;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -693,57 +688,255 @@
 <context>
     <name>FileSource</name>
     <message>
-        <location filename="../../svcore/data/fileio/FileSource.cpp" line="102"/>
-        <location filename="../../svcore/data/fileio/FileSource.cpp" line="181"/>
-        <location filename="../../svcore/data/fileio/FileSource.cpp" line="214"/>
+        <location filename="../svcore/data/fileio/FileSource.cpp" line="124"/>
+        <location filename="../svcore/data/fileio/FileSource.cpp" line="206"/>
+        <location filename="../svcore/data/fileio/FileSource.cpp" line="239"/>
         <source>Unsupported scheme in URL</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/FileSource.cpp" line="424"/>
+        <location filename="../svcore/data/fileio/FileSource.cpp" line="452"/>
         <source>Downloading %1...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/FileSource.cpp" line="764"/>
-        <source>Failed to connect to FTP server</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svcore/data/fileio/FileSource.cpp" line="766"/>
-        <source>Login failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svcore/data/fileio/FileSource.cpp" line="768"/>
-        <source>Failed to change to correct directory</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svcore/data/fileio/FileSource.cpp" line="770"/>
-        <source>FTP download aborted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svcore/data/fileio/FileSource.cpp" line="790"/>
+        <location filename="../svcore/data/fileio/FileSource.cpp" line="746"/>
         <source>Download cancelled</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/FileSource.cpp" line="821"/>
+        <location filename="../svcore/data/fileio/FileSource.cpp" line="774"/>
         <source>Failed to create local file %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/FileSource.cpp" line="824"/>
+        <location filename="../svcore/data/fileio/FileSource.cpp" line="777"/>
         <source>File contains no data!</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
+    <name>FlexiNoteLayer</name>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="69"/>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="70"/>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="971"/>
+        <source>New Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="107"/>
+        <source>Vertical Scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="108"/>
+        <source>Scale Units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="124"/>
+        <source>Scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="173"/>
+        <source>Auto-Align</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="174"/>
+        <source>Linear</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="175"/>
+        <source>Log</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="176"/>
+        <source>MIDI Notes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="518"/>
+        <source>In progress</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="520"/>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="544"/>
+        <source>No local points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="558"/>
+        <source>%1 (%2, %3 Hz)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="565"/>
+        <source>%1 Hz (%2, %3)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="571"/>
+        <source>%1 %2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="578"/>
+        <source>Time:	%1
+Pitch:	%2
+Duration:	%3
+No label</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="583"/>
+        <source>Time:	%1
+Pitch:	%2
+Duration:	%3
+Label:	%4</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="976"/>
+        <source>Draw Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1052"/>
+        <source>Erase Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1133"/>
+        <source>Drag Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1215"/>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1288"/>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1608"/>
+        <source>Edit Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1217"/>
+        <source>Relocate Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1220"/>
+        <source>Change Point Value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1352"/>
+        <source>Add Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1392"/>
+        <source>Snap Notes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1441"/>
+        <source>Merge Notes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1624"/>
+        <source>Drag Selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1649"/>
+        <source>Resize Selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1688"/>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1710"/>
+        <source>Delete Selected Points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1759"/>
+        <source>Re-align pasted items?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1760"/>
+        <source>The items you are pasting came from a layer with different source material from this one.  Do you want to re-align them in time, to match the source material for this layer?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1774"/>
+        <source>Paste</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1845"/>
+        <source>Record FlexiNote</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>FlexiNoteModel</name>
+    <message>
+        <location filename="../svcore/data/model/FlexiNoteModel.h" line="136"/>
+        <source>FlexiNote</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/data/model/FlexiNoteModel.h" line="171"/>
+        <source>Time</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/data/model/FlexiNoteModel.h" line="172"/>
+        <source>Frame</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/data/model/FlexiNoteModel.h" line="173"/>
+        <source>Pitch</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/data/model/FlexiNoteModel.h" line="174"/>
+        <source>Duration</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/data/model/FlexiNoteModel.h" line="175"/>
+        <source>Level</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/data/model/FlexiNoteModel.h" line="176"/>
+        <source>Label</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/data/model/FlexiNoteModel.h" line="177"/>
+        <source>Unknown</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/data/model/FlexiNoteModel.h" line="207"/>
+        <source>Edit Data</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>I</name>
     <message>
-        <location filename="../../svcore/data/model/IntervalModel.h" line="103"/>
+        <location filename="../svcore/data/model/IntervalModel.h" line="103"/>
         <source>Edit Data</source>
         <translation type="unfinished"></translation>
     </message>
@@ -751,52 +944,52 @@
 <context>
     <name>ImageDialog</name>
     <message>
-        <location filename="../../svgui/widgets/ImageDialog.cpp" line="49"/>
+        <location filename="../svgui/widgets/ImageDialog.cpp" line="49"/>
         <source>Image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ImageDialog.cpp" line="56"/>
+        <location filename="../svgui/widgets/ImageDialog.cpp" line="56"/>
         <source>Label:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ImageDialog.cpp" line="63"/>
+        <location filename="../svgui/widgets/ImageDialog.cpp" line="63"/>
         <source>File or URL:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ImageDialog.cpp" line="73"/>
+        <location filename="../svgui/widgets/ImageDialog.cpp" line="73"/>
         <source>Browse...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ImageDialog.cpp" line="79"/>
+        <location filename="../svgui/widgets/ImageDialog.cpp" line="79"/>
         <source>Preview</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ImageDialog.cpp" line="187"/>
+        <location filename="../svgui/widgets/ImageDialog.cpp" line="187"/>
         <source>Unsupported scheme in URL</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ImageDialog.cpp" line="188"/>
+        <location filename="../svgui/widgets/ImageDialog.cpp" line="188"/>
         <source>The URL scheme &quot;%1&quot; is not supported</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ImageDialog.cpp" line="192"/>
+        <location filename="../svgui/widgets/ImageDialog.cpp" line="192"/>
         <source>Opening image URL...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ImageDialog.cpp" line="196"/>
+        <location filename="../svgui/widgets/ImageDialog.cpp" line="196"/>
         <source>File download failed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ImageDialog.cpp" line="197"/>
+        <location filename="../svgui/widgets/ImageDialog.cpp" line="197"/>
         <source>Failed to download URL &quot;%1&quot;: %2</source>
         <translation type="unfinished"></translation>
     </message>
@@ -804,58 +997,58 @@
 <context>
     <name>ImageLayer</name>
     <message>
-        <location filename="../../svgui/layer/ImageLayer.cpp" line="182"/>
+        <location filename="../svgui/layer/ImageLayer.cpp" line="182"/>
         <source>In progress</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ImageLayer.cpp" line="606"/>
-        <location filename="../../svgui/layer/ImageLayer.cpp" line="711"/>
+        <location filename="../svgui/layer/ImageLayer.cpp" line="602"/>
+        <location filename="../svgui/layer/ImageLayer.cpp" line="707"/>
         <source>Select image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ImageLayer.cpp" line="678"/>
+        <location filename="../svgui/layer/ImageLayer.cpp" line="674"/>
         <source>Move Image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ImageLayer.cpp" line="735"/>
+        <location filename="../svgui/layer/ImageLayer.cpp" line="731"/>
         <source>Drag Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ImageLayer.cpp" line="760"/>
+        <location filename="../svgui/layer/ImageLayer.cpp" line="756"/>
         <source>Resize Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ImageLayer.cpp" line="794"/>
+        <location filename="../svgui/layer/ImageLayer.cpp" line="790"/>
         <source>Delete Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ImageLayer.cpp" line="837"/>
+        <location filename="../svgui/layer/ImageLayer.cpp" line="833"/>
         <source>Re-align pasted items?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ImageLayer.cpp" line="838"/>
+        <location filename="../svgui/layer/ImageLayer.cpp" line="834"/>
         <source>The items you are pasting came from a layer with different source material from this one.  Do you want to re-align them in time, to match the source material for this layer?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ImageLayer.cpp" line="852"/>
+        <location filename="../svgui/layer/ImageLayer.cpp" line="848"/>
         <source>Paste</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ImageLayer.cpp" line="884"/>
+        <location filename="../svgui/layer/ImageLayer.cpp" line="880"/>
         <source>New Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ImageLayer.cpp" line="915"/>
+        <location filename="../svgui/layer/ImageLayer.cpp" line="911"/>
         <source>Opening image URL...</source>
         <translation type="unfinished"></translation>
     </message>
@@ -863,38 +1056,38 @@
 <context>
     <name>ImageModel</name>
     <message>
-        <location filename="../../svcore/data/model/ImageModel.h" line="96"/>
-        <location filename="../../svcore/data/model/ImageModel.h" line="154"/>
+        <location filename="../svcore/data/model/ImageModel.h" line="96"/>
+        <location filename="../svcore/data/model/ImageModel.h" line="154"/>
         <source>Image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/ImageModel.h" line="124"/>
+        <location filename="../svcore/data/model/ImageModel.h" line="124"/>
         <source>Edit Image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/ImageModel.h" line="152"/>
+        <location filename="../svcore/data/model/ImageModel.h" line="152"/>
         <source>Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/ImageModel.h" line="153"/>
+        <location filename="../svcore/data/model/ImageModel.h" line="153"/>
         <source>Frame</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/ImageModel.h" line="155"/>
+        <location filename="../svcore/data/model/ImageModel.h" line="155"/>
         <source>Label</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/ImageModel.h" line="156"/>
+        <location filename="../svcore/data/model/ImageModel.h" line="156"/>
         <source>Unknown</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/ImageModel.h" line="187"/>
+        <location filename="../svcore/data/model/ImageModel.h" line="187"/>
         <source>Edit Data</source>
         <translation type="unfinished"></translation>
     </message>
@@ -902,38 +1095,31 @@
 <context>
     <name>InteractiveFileFinder</name>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="52"/>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="192"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="66"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="233"/>
         <source>Select file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="53"/>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="193"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="67"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="234"/>
         <source>All files (*.*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="59"/>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="199"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="73"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="240"/>
         <source>Select a session file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="60"/>
-        <source>Sonic Visualiser session files (*.sv)
-RDF files (%1)
-All files (*.*)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="66"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="83"/>
         <source>Audio files (%1)
 All files (*.*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="72"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="89"/>
         <source>All supported files (%1 %2)
 Sonic Visualiser Layer XML files (*.svl)
 Comma-separated data files (*.csv)
@@ -945,7 +1131,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="79"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="96"/>
         <source>All supported files (%1 %2)
 Sonic Visualiser Layer XML files (*.svl)
 Comma-separated data files (*.csv)
@@ -956,24 +1142,114 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="86"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="134"/>
+        <source>Image files (%1)
+All files (*.*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="188"/>
+        <source>File does not exist</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="189"/>
+        <source>&lt;b&gt;File not found&lt;/b&gt;&lt;p&gt;File &quot;%1&quot; does not exist</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="194"/>
+        <source>File is not readable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="195"/>
+        <source>&lt;b&gt;File is not readable&lt;/b&gt;&lt;p&gt;File &quot;%1&quot; can not be read</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="200"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="389"/>
+        <source>Directory selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="201"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="390"/>
+        <source>&lt;b&gt;Directory selected&lt;/b&gt;&lt;p&gt;File &quot;%1&quot; is a directory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="206"/>
+        <source>Non-file selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="207"/>
+        <source>&lt;b&gt;Not a file&lt;/b&gt;&lt;p&gt;Path &quot;%1&quot; is not a file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="212"/>
+        <source>File is empty</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="213"/>
+        <source>&lt;b&gt;File is empty&lt;/b&gt;&lt;p&gt;File &quot;%1&quot; is empty</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="74"/>
+        <source>%1 session files (*.%1)
+RDF files (%3)
+All files (*.*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="103"/>
+        <source>All supported files (%1 %2)
+Comma-separated data files (*.csv)
+Sonic Visualiser Layer XML files (*.svl)
+Space-separated .lab files (*.lab)
+RDF files (%2)
+MIDI files (*.mid)
+Text files (*.txt)
+All files (*.*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="110"/>
+        <source>All supported files (%1 %2)
+Comma-separated data files (*.csv)
+Sonic Visualiser Layer XML files (*.svl)
+Space-separated .lab files (*.lab)
+RDF files (%2)
+Text files (*.txt)
+All files (*.*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="117"/>
         <source>All supported files (*.sv %1 %2)
-Sonic Visualiser session files (*.sv)
+%3 session files (*.%4)
 Audio files (%2)
 RDF files (%1)
 All files (*.*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="101"/>
-        <source>Image files (%1)
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="140"/>
+        <source>Comma-separated data files (*.csv)
+Space-separated .lab files (*.lab)
+Text files (*.txt)
 All files (*.*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="107"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="145"/>
         <source>All supported files (*.sv %1 %2 %3)
-Sonic Visualiser session files (*.sv)
+%4 session files (*.%5)
 Audio files (%1)
 Layer files (%2)
 RDF files (%3)
@@ -981,79 +1257,30 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="148"/>
-        <source>File does not exist</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="149"/>
-        <source>&lt;b&gt;File not found&lt;/b&gt;&lt;p&gt;File &quot;%1&quot; does not exist</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="154"/>
-        <source>File is not readable</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="155"/>
-        <source>&lt;b&gt;File is not readable&lt;/b&gt;&lt;p&gt;File &quot;%1&quot; can not be read</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="160"/>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="312"/>
-        <source>Directory selected</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="161"/>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="313"/>
-        <source>&lt;b&gt;Directory selected&lt;/b&gt;&lt;p&gt;File &quot;%1&quot; is a directory</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="166"/>
-        <source>Non-file selected</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="167"/>
-        <source>&lt;b&gt;Not a file&lt;/b&gt;&lt;p&gt;Path &quot;%1&quot; is not a file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="172"/>
-        <source>File is empty</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="173"/>
-        <source>&lt;b&gt;File is empty&lt;/b&gt;&lt;p&gt;File &quot;%1&quot; is empty</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="200"/>
-        <source>Sonic Visualiser session files (*.sv)
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="241"/>
+        <source>%1 session files (*.%2)
 All files (*.*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="206"/>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="212"/>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="218"/>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="228"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="248"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="254"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="260"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="266"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="272"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="282"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="288"/>
         <source>Select a file to export to</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="207"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="249"/>
         <source>WAV audio files (*.wav)
 All files (*.*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="213"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="255"/>
         <source>Sonic Visualiser Layer XML files (*.svl)
 Comma-separated data files (*.csv)
 RDF/Turtle files (%1)
@@ -1063,7 +1290,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="219"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="261"/>
         <source>Sonic Visualiser Layer XML files (*.svl)
 Comma-separated data files (*.csv)
 RDF/Turtle files (%1)
@@ -1072,71 +1299,97 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="229"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="267"/>
+        <source>Comma-separated data files (*.csv)
+Sonic Visualiser Layer XML files (*.svl)
+RDF/Turtle files (%1)
+MIDI files (*.mid)
+Text files (*.txt)
+All files (*.*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="273"/>
+        <source>Comma-separated data files (*.csv)
+Sonic Visualiser Layer XML files (*.svl)
+RDF/Turtle files (%1)
+Text files (*.txt)
+All files (*.*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="283"/>
         <source>Portable Network Graphics files (*.png)
 All files (*.*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="318"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="289"/>
+        <source>Comma-separated data files (*.csv)
+Text files (*.txt)
+All files (*.*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="395"/>
         <source>File exists</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="319"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="396"/>
         <source>&lt;b&gt;File exists&lt;/b&gt;&lt;p&gt;The file &quot;%1&quot; already exists.
 Do you want to overwrite it?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="451"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="544"/>
         <source>&lt;b&gt;File not found&lt;/b&gt;&lt;p&gt;Audio file &quot;%1&quot; could not be opened.
 Do you want to locate it?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="453"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="546"/>
         <source>&lt;b&gt;File not found&lt;/b&gt;&lt;p&gt;File &quot;%1&quot; could not be opened.
 Do you want to locate it?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="463"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="556"/>
         <source>Failed to open file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="465"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="558"/>
         <source>Locate file...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="466"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="559"/>
         <source>Use URL...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="467"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="560"/>
         <source>Cancel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="486"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="579"/>
         <source>Use URL</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="487"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="580"/>
         <source>Please enter the URL to use for this file:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="495"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="588"/>
         <source>Failed to open location</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="496"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="589"/>
         <source>&lt;b&gt;Failed to open location&lt;/b&gt;&lt;p&gt;URL &quot;%1&quot; could not be opened</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1144,65 +1397,65 @@
 <context>
     <name>ItemEditDialog</name>
     <message>
-        <location filename="../../svgui/widgets/ItemEditDialog.cpp" line="58"/>
+        <location filename="../svgui/widgets/ItemEditDialog.cpp" line="61"/>
         <source>Timing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ItemEditDialog.cpp" line="69"/>
+        <location filename="../svgui/widgets/ItemEditDialog.cpp" line="72"/>
         <source>Time:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ItemEditDialog.cpp" line="73"/>
-        <location filename="../../svgui/widgets/ItemEditDialog.cpp" line="104"/>
+        <location filename="../svgui/widgets/ItemEditDialog.cpp" line="76"/>
+        <location filename="../svgui/widgets/ItemEditDialog.cpp" line="107"/>
         <source> frames</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ItemEditDialog.cpp" line="82"/>
-        <location filename="../../svgui/widgets/ItemEditDialog.cpp" line="113"/>
+        <location filename="../svgui/widgets/ItemEditDialog.cpp" line="85"/>
+        <location filename="../svgui/widgets/ItemEditDialog.cpp" line="116"/>
         <source> sec</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ItemEditDialog.cpp" line="89"/>
-        <location filename="../../svgui/widgets/ItemEditDialog.cpp" line="120"/>
+        <location filename="../svgui/widgets/ItemEditDialog.cpp" line="92"/>
+        <location filename="../svgui/widgets/ItemEditDialog.cpp" line="123"/>
         <source> usec</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ItemEditDialog.cpp" line="100"/>
+        <location filename="../svgui/widgets/ItemEditDialog.cpp" line="103"/>
         <source>Duration:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ItemEditDialog.cpp" line="132"/>
+        <location filename="../svgui/widgets/ItemEditDialog.cpp" line="135"/>
         <source>Properties</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ItemEditDialog.cpp" line="145"/>
+        <location filename="../svgui/widgets/ItemEditDialog.cpp" line="148"/>
         <source>Value:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ItemEditDialog.cpp" line="161"/>
+        <location filename="../svgui/widgets/ItemEditDialog.cpp" line="164"/>
         <source>Text:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ItemEditDialog.cpp" line="180"/>
+        <location filename="../svgui/widgets/ItemEditDialog.cpp" line="183"/>
         <source>OK</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ItemEditDialog.cpp" line="181"/>
+        <location filename="../svgui/widgets/ItemEditDialog.cpp" line="184"/>
         <source>Reset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ItemEditDialog.cpp" line="182"/>
+        <location filename="../svgui/widgets/ItemEditDialog.cpp" line="185"/>
         <source>Cancel</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1210,41 +1463,41 @@
 <context>
     <name>KeyReference</name>
     <message>
-        <location filename="../../svgui/widgets/KeyReference.cpp" line="61"/>
-        <location filename="../../svgui/widgets/KeyReference.cpp" line="92"/>
+        <location filename="../svgui/widgets/KeyReference.cpp" line="62"/>
+        <location filename="../svgui/widgets/KeyReference.cpp" line="100"/>
         <source>&amp;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/KeyReference.cpp" line="145"/>
+        <location filename="../svgui/widgets/KeyReference.cpp" line="159"/>
         <source>&lt;i&gt;or&lt;/i&gt;&amp;nbsp;&lt;b&gt;%1&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/KeyReference.cpp" line="147"/>
+        <location filename="../svgui/widgets/KeyReference.cpp" line="161"/>
         <source>&lt;/b&gt;&amp;nbsp;(%1)&lt;b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/KeyReference.cpp" line="162"/>
-        <source>Sonic Visualiser: Key and Mouse Reference</source>
+        <location filename="../svgui/widgets/KeyReference.cpp" line="176"/>
+        <source>%1: Key and Mouse Reference</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>LabelCounterInputDialog</name>
     <message>
-        <location filename="../../svgui/widgets/LabelCounterInputDialog.cpp" line="29"/>
+        <location filename="../svgui/widgets/LabelCounterInputDialog.cpp" line="29"/>
         <source>Set Counters</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/LabelCounterInputDialog.cpp" line="33"/>
+        <location filename="../svgui/widgets/LabelCounterInputDialog.cpp" line="33"/>
         <source>Fine counter (beats):</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/LabelCounterInputDialog.cpp" line="36"/>
+        <location filename="../svgui/widgets/LabelCounterInputDialog.cpp" line="36"/>
         <source>Coarse counter (bars):</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1252,77 +1505,77 @@
 <context>
     <name>Labeller</name>
     <message>
-        <location filename="../../svcore/data/model/Labeller.h" line="89"/>
+        <location filename="../svcore/data/model/Labeller.h" line="89"/>
         <source>No numbering</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/Labeller.h" line="91"/>
+        <location filename="../svcore/data/model/Labeller.h" line="91"/>
         <source>Simple counter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/Labeller.h" line="93"/>
+        <location filename="../svcore/data/model/Labeller.h" line="93"/>
         <source>Cyclical counter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/Labeller.h" line="95"/>
+        <location filename="../svcore/data/model/Labeller.h" line="95"/>
         <source>Cyclical two-level counter (bar/beat)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/Labeller.h" line="97"/>
+        <location filename="../svcore/data/model/Labeller.h" line="97"/>
         <source>Audio sample frame number</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/Labeller.h" line="99"/>
+        <location filename="../svcore/data/model/Labeller.h" line="99"/>
         <source>Time in seconds</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/Labeller.h" line="101"/>
+        <location filename="../svcore/data/model/Labeller.h" line="101"/>
         <source>Duration to the following item</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/Labeller.h" line="103"/>
+        <location filename="../svcore/data/model/Labeller.h" line="103"/>
         <source>Tempo (bpm) based on duration to following item</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/Labeller.h" line="105"/>
+        <location filename="../svcore/data/model/Labeller.h" line="105"/>
         <source>Duration since the previous item</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/Labeller.h" line="107"/>
+        <location filename="../svcore/data/model/Labeller.h" line="107"/>
         <source>Tempo (bpm) based on duration since previous item</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/Labeller.h" line="109"/>
+        <location filename="../svcore/data/model/Labeller.h" line="109"/>
         <source>Same as the nearest previous item</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/Labeller.h" line="111"/>
+        <location filename="../svcore/data/model/Labeller.h" line="111"/>
         <source>Value extracted from the item&apos;s label (where possible)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/Labeller.h" line="153"/>
+        <location filename="../svcore/data/model/Labeller.h" line="159"/>
         <source>%1.%2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/Labeller.h" line="157"/>
+        <location filename="../svcore/data/model/Labeller.h" line="163"/>
         <source>%1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/Labeller.h" line="176"/>
+        <location filename="../svcore/data/model/Labeller.h" line="182"/>
         <source>Label Points</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1330,79 +1583,84 @@
 <context>
     <name>Layer</name>
     <message>
-        <location filename="../../svgui/layer/LayerFactory.cpp" line="70"/>
+        <location filename="../svgui/layer/LayerFactory.cpp" line="72"/>
         <source>Waveform</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/LayerFactory.cpp" line="71"/>
-        <location filename="../../svgui/layer/LayerFactory.cpp" line="87"/>
-        <location filename="../../svgui/layer/LayerFactory.cpp" line="91"/>
+        <location filename="../svgui/layer/LayerFactory.cpp" line="73"/>
+        <location filename="../svgui/layer/LayerFactory.cpp" line="90"/>
+        <location filename="../svgui/layer/LayerFactory.cpp" line="94"/>
         <source>Spectrogram</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/LayerFactory.cpp" line="72"/>
+        <location filename="../svgui/layer/LayerFactory.cpp" line="74"/>
         <source>Ruler</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/LayerFactory.cpp" line="73"/>
+        <location filename="../svgui/layer/LayerFactory.cpp" line="75"/>
         <source>Time Instants</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/LayerFactory.cpp" line="74"/>
+        <location filename="../svgui/layer/LayerFactory.cpp" line="76"/>
         <source>Time Values</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/LayerFactory.cpp" line="75"/>
+        <location filename="../svgui/layer/LayerFactory.cpp" line="77"/>
         <source>Notes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/LayerFactory.cpp" line="76"/>
+        <location filename="../svgui/layer/LayerFactory.cpp" line="78"/>
+        <source>Flexible Notes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/LayerFactory.cpp" line="79"/>
         <source>Regions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/LayerFactory.cpp" line="77"/>
+        <location filename="../svgui/layer/LayerFactory.cpp" line="80"/>
         <source>Text</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/LayerFactory.cpp" line="78"/>
+        <location filename="../svgui/layer/LayerFactory.cpp" line="81"/>
         <source>Images</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/LayerFactory.cpp" line="79"/>
+        <location filename="../svgui/layer/LayerFactory.cpp" line="82"/>
         <source>Colour 3D Plot</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/LayerFactory.cpp" line="80"/>
+        <location filename="../svgui/layer/LayerFactory.cpp" line="83"/>
         <source>Spectrum</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/LayerFactory.cpp" line="81"/>
+        <location filename="../svgui/layer/LayerFactory.cpp" line="84"/>
         <source>Time Slice</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/LayerFactory.cpp" line="96"/>
-        <source>Layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/layer/Layer.cpp" line="340"/>
+        <location filename="../svgui/layer/LayerFactory.cpp" line="99"/>
+        <source>Unknown Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/Layer.cpp" line="340"/>
         <source>Make Measurement</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/Layer.cpp" line="358"/>
+        <location filename="../svgui/layer/Layer.cpp" line="358"/>
         <source>Delete Measurement</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1410,17 +1668,17 @@
 <context>
     <name>LayerTreeDialog</name>
     <message>
-        <location filename="../../svgui/widgets/LayerTreeDialog.cpp" line="34"/>
+        <location filename="../svgui/widgets/LayerTreeDialog.cpp" line="34"/>
         <source>Layer Summary</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/LayerTreeDialog.cpp" line="40"/>
+        <location filename="../svgui/widgets/LayerTreeDialog.cpp" line="40"/>
         <source>Audio Data Sources</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/LayerTreeDialog.cpp" line="61"/>
+        <location filename="../svgui/widgets/LayerTreeDialog.cpp" line="65"/>
         <source>Panes and Layers</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1428,22 +1686,22 @@
 <context>
     <name>LayerTreeModel</name>
     <message>
-        <location filename="../../svgui/widgets/LayerTree.cpp" line="514"/>
+        <location filename="../svgui/widgets/LayerTree.cpp" line="514"/>
         <source>Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/LayerTree.cpp" line="515"/>
+        <location filename="../svgui/widgets/LayerTree.cpp" line="515"/>
         <source>Shown</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/LayerTree.cpp" line="516"/>
+        <location filename="../svgui/widgets/LayerTree.cpp" line="516"/>
         <source>Played</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/LayerTree.cpp" line="517"/>
+        <location filename="../svgui/widgets/LayerTree.cpp" line="517"/>
         <source>Model</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1451,27 +1709,27 @@
 <context>
     <name>MIDIFileImportDialog</name>
     <message>
-        <location filename="../../svgui/widgets/MIDIFileImportDialog.cpp" line="32"/>
+        <location filename="../svgui/widgets/MIDIFileImportDialog.cpp" line="32"/>
         <source>Merge all tracks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/MIDIFileImportDialog.cpp" line="33"/>
+        <location filename="../svgui/widgets/MIDIFileImportDialog.cpp" line="33"/>
         <source>Merge all non-percussion tracks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/MIDIFileImportDialog.cpp" line="50"/>
+        <location filename="../svgui/widgets/MIDIFileImportDialog.cpp" line="50"/>
         <source>Select track or tracks to import</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/MIDIFileImportDialog.cpp" line="51"/>
+        <location filename="../svgui/widgets/MIDIFileImportDialog.cpp" line="51"/>
         <source>&lt;b&gt;Select track to import&lt;/b&gt;&lt;p&gt;You can only import this file as a single annotation layer, but the file contains more than one track, or notes on more than one channel.&lt;p&gt;Please select the track or merged tracks you wish to import:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/MIDIFileImportDialog.cpp" line="70"/>
+        <location filename="../svgui/widgets/MIDIFileImportDialog.cpp" line="70"/>
         <source>Error in MIDI file import</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1479,89 +1737,89 @@
 <context>
     <name>MIDIFileReader</name>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="112"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="113"/>
         <source>Wrong length for long data in MIDI stream (%1, should be %2)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="127"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="128"/>
         <source>Wrong length for int data in MIDI stream (%1, should be %2)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="144"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="145"/>
         <source>getMIDIByte called but no MIDI file open</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="148"/>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="177"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="149"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="178"/>
         <source>End of MIDI file encountered while reading</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="152"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="153"/>
         <source>Attempt to get more bytes than expected on Track</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="161"/>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="197"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="162"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="198"/>
         <source>Attempt to read past MIDI file end</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="173"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="174"/>
         <source>getMIDIBytes called but no MIDI file open</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="181"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="182"/>
         <source>Attempt to get more bytes than available on Track (%1, only have %2)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="214"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="215"/>
         <source>getNumberFromMIDIBytes called but no MIDI file open</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="248"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="249"/>
         <source>skipToNextTrack called but no MIDI file open</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="479"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="482"/>
         <source>Invalid event code %1 found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="494"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="497"/>
         <source>Running status used for first event in track</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="812"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="808"/>
         <source>MIDI file &quot;%1&quot; has no notes in any track</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="835"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="831"/>
         <source> - uses GM percussion channel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="839"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="835"/>
         <source>Track %1 (%2)%3</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="843"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="839"/>
         <source>Track %1 (untitled)%3</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="1028"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="1024"/>
         <source>%1 - vel %2</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1569,7 +1827,7 @@
 <context>
     <name>MIDIInput</name>
     <message>
-        <location filename="../../svcore/data/midi/MIDIInput.cpp" line="30"/>
+        <location filename="../svcore/data/midi/MIDIInput.cpp" line="30"/>
         <source>Input</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1577,7 +1835,7 @@
 <context>
     <name>MP3FileReader</name>
     <message>
-        <location filename="../../svcore/data/fileio/MP3FileReader.cpp" line="115"/>
+        <location filename="../svcore/data/fileio/MP3FileReader.cpp" line="116"/>
         <source>Decoding %1...</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1585,2387 +1843,2636 @@
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="../main/MainWindow.cpp" line="178"/>
+        <location filename="../main/MainWindow.cpp" line="183"/>
         <source>Black</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="179"/>
+        <location filename="../main/MainWindow.cpp" line="184"/>
         <source>Red</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="180"/>
+        <location filename="../main/MainWindow.cpp" line="185"/>
         <source>Blue</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="181"/>
-        <location filename="../main/MainWindow.cpp" line="227"/>
-        <location filename="../main/MainWindow.cpp" line="3336"/>
+        <location filename="../main/MainWindow.cpp" line="186"/>
+        <location filename="../main/MainWindow.cpp" line="232"/>
+        <location filename="../main/MainWindow.cpp" line="3469"/>
         <source>Green</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="182"/>
+        <location filename="../main/MainWindow.cpp" line="187"/>
         <source>Purple</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="183"/>
+        <location filename="../main/MainWindow.cpp" line="188"/>
         <source>Orange</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="184"/>
+        <location filename="../main/MainWindow.cpp" line="189"/>
         <source>White</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="185"/>
+        <location filename="../main/MainWindow.cpp" line="190"/>
         <source>Bright Red</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="186"/>
+        <location filename="../main/MainWindow.cpp" line="191"/>
         <source>Bright Blue</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="187"/>
-        <location filename="../main/MainWindow.cpp" line="224"/>
-        <location filename="../main/MainWindow.cpp" line="3333"/>
+        <location filename="../main/MainWindow.cpp" line="192"/>
+        <location filename="../main/MainWindow.cpp" line="229"/>
+        <location filename="../main/MainWindow.cpp" line="3466"/>
         <source>Bright Green</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="188"/>
+        <location filename="../main/MainWindow.cpp" line="193"/>
         <source>Bright Purple</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="189"/>
+        <location filename="../main/MainWindow.cpp" line="194"/>
         <source>Bright Orange</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="242"/>
-        <source>Playback Speedup</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="356"/>
-        <location filename="../main/MainWindow.cpp" line="1030"/>
+        <location filename="../main/MainWindow.cpp" line="391"/>
+        <location filename="../main/MainWindow.cpp" line="1078"/>
+        <location filename="../main/MainWindow.cpp" line="1085"/>
+        <source>&amp;Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="380"/>
+        <location filename="../main/MainWindow.cpp" line="1486"/>
+        <source>&amp;Transform</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="461"/>
+        <source>&amp;File</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="463"/>
+        <source>File Toolbar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="465"/>
+        <source>File and Session Management</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="470"/>
+        <source>&amp;New Session</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="471"/>
+        <source>Ctrl+N</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="480"/>
+        <source>Ctrl+O</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="479"/>
+        <source>&amp;Open...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="481"/>
+        <source>Open a session file, audio file, or layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="519"/>
+        <source>&amp;Save Session</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="520"/>
+        <source>Ctrl+S</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="529"/>
+        <source>Save Session &amp;As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="530"/>
+        <source>Ctrl+Shift+S</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="490"/>
+        <source>Ctrl+I</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="554"/>
+        <source>&amp;Export Audio File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="555"/>
+        <source>Export selection as an audio file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="568"/>
+        <source>Import Annotation &amp;Layer...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="569"/>
+        <source>Ctrl+L</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="570"/>
+        <source>Import layer data from an existing file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="578"/>
+        <source>Export layer data to a file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="586"/>
+        <source>Export Image File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="587"/>
+        <source>Export a single pane to an image file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="503"/>
+        <source>Open Lo&amp;cation...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="247"/>
+        <source>Playback Speed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="504"/>
+        <source>Ctrl+Shift+O</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="505"/>
+        <source>Open or import a file from a remote URL</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="560"/>
+        <source>Export Audio Data...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="623"/>
+        <source>&amp;Preferences...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="624"/>
+        <source>Adjust the application preferences</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="630"/>
+        <source>&amp;Quit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="631"/>
+        <source>Ctrl+Q</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="643"/>
+        <source>&amp;Edit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="647"/>
+        <source>Editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="654"/>
+        <source>Cu&amp;t</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="655"/>
+        <source>Ctrl+X</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="656"/>
+        <source>Cut the selection from the current layer to the clipboard</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="664"/>
+        <source>&amp;Copy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="665"/>
+        <source>Ctrl+C</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="666"/>
+        <source>Copy the selection from the current layer to the clipboard</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="674"/>
+        <source>&amp;Paste</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="675"/>
+        <source>Ctrl+V</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="676"/>
+        <source>Paste from the clipboard to the current layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="683"/>
+        <source>Paste at Playback Position</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="684"/>
+        <source>Ctrl+Shift+V</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="685"/>
+        <source>Paste from the clipboard to the current layer, placing the first item at the playback position</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="692"/>
+        <location filename="../main/MainWindow.cpp" line="2342"/>
+        <source>&amp;Delete Selected Items</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="693"/>
+        <source>Del</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="694"/>
+        <location filename="../main/MainWindow.cpp" line="2343"/>
+        <source>Delete items in current selection from the current layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="704"/>
+        <source>Selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="706"/>
+        <source>Select &amp;All</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="707"/>
+        <source>Ctrl+A</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="708"/>
+        <source>Select the whole duration of the current session</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="715"/>
+        <source>Select &amp;Visible Range</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="716"/>
+        <source>Ctrl+Shift+A</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="717"/>
+        <source>Select the time range corresponding to the current window width</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="723"/>
+        <source>Select to &amp;Start</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="724"/>
+        <location filename="../main/MainWindow.cpp" line="2158"/>
+        <location filename="../main/MainWindow.cpp" line="2193"/>
+        <location filename="../main/MainWindow.cpp" line="2273"/>
+        <source>Shift+Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="725"/>
+        <source>Select from the start of the session to the current playback position</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="731"/>
+        <source>Select to &amp;End</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="732"/>
+        <source>Shift+Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="733"/>
+        <source>Select from the current playback position to the end of the session</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="739"/>
+        <source>C&amp;lear Selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="740"/>
+        <source>Esc</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="741"/>
+        <source>Clear the selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="750"/>
+        <source>Tapping Time Instants</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="752"/>
+        <source>&amp;Insert Instant at Playback Position</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="753"/>
+        <source>Enter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="754"/>
+        <source>Insert a new time instant at the current playback position, in a new layer if necessary</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="761"/>
+        <source>;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="766"/>
+        <source>Insert Instants at Selection &amp;Boundaries</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="767"/>
+        <source>Shift+Enter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="768"/>
+        <source>Insert new time instants at the start and end of the current selected regions, in a new layer if necessary</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="774"/>
+        <source>Insert Item at Selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="776"/>
+        <source>Insert a new note or region item corresponding to the current selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="784"/>
+        <source>Number New Instants with</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="804"/>
+        <source>Cycle size</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="825"/>
+        <source>Reset Numbering Counters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="826"/>
+        <source>Reset to 1 all the counters used for counter-based labelling</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="831"/>
+        <source>Set Numbering Counters...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="832"/>
+        <source>Set the counters used for counter-based labelling</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="836"/>
+        <source>Renumber Selected Instants</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="837"/>
+        <source>Renumber the selected instants using the current labelling scheme</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="853"/>
+        <source>Panning and Navigation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="855"/>
+        <source>&amp;View</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="857"/>
+        <source>Scroll &amp;Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="858"/>
+        <location filename="../main/MainWindow.cpp" line="2155"/>
+        <location filename="../main/MainWindow.cpp" line="2181"/>
+        <location filename="../main/MainWindow.cpp" line="2211"/>
+        <location filename="../main/MainWindow.cpp" line="2232"/>
+        <location filename="../main/MainWindow.cpp" line="2250"/>
+        <location filename="../main/MainWindow.cpp" line="2267"/>
+        <source>Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="859"/>
+        <source>Scroll the current pane to the left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="865"/>
+        <source>Scroll &amp;Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="866"/>
+        <source>Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="867"/>
+        <source>Scroll the current pane to the right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="873"/>
+        <source>&amp;Jump Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="874"/>
+        <location filename="../main/MainWindow.cpp" line="2185"/>
+        <location filename="../main/MainWindow.cpp" line="2189"/>
+        <source>Ctrl+Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="875"/>
+        <source>Scroll the current pane a big step to the left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="881"/>
+        <source>J&amp;ump Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="882"/>
+        <source>Ctrl+Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="883"/>
+        <source>Scroll the current pane a big step to the right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="889"/>
+        <source>Peek Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="890"/>
+        <source>Alt+Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="891"/>
+        <source>Scroll the current pane to the left without moving the playback cursor or other panes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="897"/>
+        <source>Peek Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="898"/>
+        <source>Alt+Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="899"/>
+        <source>Scroll the current pane to the right without moving the playback cursor or other panes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="907"/>
+        <source>Zoom</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="910"/>
+        <source>Zoom &amp;In</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="911"/>
+        <source>Up</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="912"/>
+        <source>Increase the zoom level</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="919"/>
+        <source>Zoom &amp;Out</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="920"/>
+        <source>Down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="921"/>
+        <source>Decrease the zoom level</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="927"/>
+        <source>Restore &amp;Default Zoom</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="928"/>
+        <source>Restore the zoom level to the default</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="934"/>
+        <source>Zoom to &amp;Fit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="935"/>
+        <source>F</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="936"/>
+        <source>Zoom to show the whole file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="944"/>
+        <source>Display Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="946"/>
+        <source>Show &amp;Centre Line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="947"/>
+        <source>&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="948"/>
+        <source>Show or hide the centre line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="955"/>
+        <source>Toggle All Time Rulers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="968"/>
+        <source>Show &amp;No Overlays</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="969"/>
+        <source>0</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="978"/>
+        <source>Show &amp;Minimal Overlays</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="979"/>
+        <source>9</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="989"/>
+        <source>8</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="988"/>
+        <source>Show &amp;All Overlays</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="561"/>
+        <source>Export audio from selection into a data file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="576"/>
+        <source>Export Annotation La&amp;yer...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="577"/>
+        <source>Ctrl+Y</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="594"/>
+        <source>Browse Recorded Audio Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="595"/>
+        <source>Open the Recorded Audio folder in the system file browser</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="775"/>
+        <source>Ctrl+Shift+Return</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="956"/>
+        <source>#</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="957"/>
+        <source>Show or hide all time rulers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="970"/>
+        <source>Hide times, layer names, and scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="980"/>
+        <source>Show times and basic scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="990"/>
+        <source>Show times, layer names, and scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1000"/>
+        <source>Show &amp;Zoom Wheels</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1001"/>
+        <source>Z</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1002"/>
+        <source>Show thumbwheels for zooming horizontally and vertically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1009"/>
+        <source>Show Property Bo&amp;xes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1010"/>
+        <source>X</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1011"/>
+        <source>Show the layer property boxes at the side of the main window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1018"/>
+        <source>Show Status &amp;Bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1019"/>
+        <source>Show context help information in the status bar at the bottom of the window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1036"/>
+        <source>Show La&amp;yer Summary</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../main/MainWindow.cpp" line="1037"/>
-        <source>&amp;Layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="345"/>
-        <location filename="../main/MainWindow.cpp" line="1432"/>
-        <source>&amp;Transform</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="426"/>
-        <source>&amp;File</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="428"/>
-        <source>File Toolbar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="430"/>
-        <source>File and Session Management</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="436"/>
-        <source>&amp;New Session</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="437"/>
-        <source>Ctrl+N</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="447"/>
-        <source>Ctrl+O</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="446"/>
-        <source>&amp;Open...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="448"/>
-        <source>Open a session file, audio file, or layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="486"/>
-        <source>&amp;Save Session</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="487"/>
-        <source>Ctrl+S</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="497"/>
-        <source>Save Session &amp;As...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="498"/>
-        <source>Ctrl+Shift+S</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="456"/>
-        <source>Ctrl+I</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="522"/>
-        <source>&amp;Export Audio File...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="523"/>
-        <source>Export selection as an audio file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="536"/>
-        <source>Import Annotation &amp;Layer...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="537"/>
-        <source>Ctrl+L</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="538"/>
-        <source>Import layer data from an existing file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="544"/>
-        <source>Export Annotation Layer...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="545"/>
-        <source>Export layer data to a file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="552"/>
-        <source>Export Image File...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="553"/>
-        <source>Export a single pane to an image file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="469"/>
-        <source>Open Lo&amp;cation...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="470"/>
-        <source>Ctrl+Shift+O</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="471"/>
-        <source>Open or import a file from a remote URL</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="582"/>
-        <source>&amp;Preferences...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="583"/>
-        <source>Adjust the application preferences</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="589"/>
-        <source>&amp;Quit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="590"/>
-        <source>Ctrl+Q</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="602"/>
-        <source>&amp;Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="606"/>
-        <source>Editing</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="613"/>
-        <source>Cu&amp;t</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="614"/>
-        <source>Ctrl+X</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="615"/>
-        <source>Cut the selection from the current layer to the clipboard</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="623"/>
-        <source>&amp;Copy</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="624"/>
-        <source>Ctrl+C</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="625"/>
-        <source>Copy the selection from the current layer to the clipboard</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="633"/>
-        <source>&amp;Paste</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="634"/>
-        <source>Ctrl+V</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="635"/>
-        <source>Paste from the clipboard to the current layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="642"/>
-        <source>Paste at Playback Position</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="643"/>
-        <source>Ctrl+Shift+V</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="644"/>
-        <source>Paste from the clipboard to the current layer, placing the first item at the playback position</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="651"/>
+        <source>Y</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1038"/>
+        <source>Open a window displaying the hierarchy of panes and layers in this session</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1043"/>
+        <source>Show Acti&amp;vity Log</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1044"/>
+        <source>Open a window listing interactions and other events</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1048"/>
+        <source>Show &amp;Unit Converter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1049"/>
+        <source>Open a window of pitch and timing conversion utilities</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1055"/>
+        <source>Go Full-Screen</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1056"/>
+        <source>F11</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1057"/>
+        <source>Expand the pane area to the whole screen</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1070"/>
+        <source>&amp;Pane</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1094"/>
+        <source>Managing Panes and Layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1096"/>
+        <source>Add &amp;New Pane</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1097"/>
+        <source>N</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1098"/>
+        <source>Add a new pane containing only a time ruler</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1124"/>
+        <source>Add New %1 Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1125"/>
+        <source>Add a new empty layer of type %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1131"/>
+        <source>T</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1186"/>
+        <source>Add &amp;Waveform</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1188"/>
+        <source>W</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1189"/>
+        <source>Add a new pane showing a waveform view</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1191"/>
+        <source>Shift+W</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1192"/>
+        <source>Add a new layer showing a waveform view</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1199"/>
+        <source>Add Spectro&amp;gram</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1201"/>
+        <source>G</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1202"/>
+        <source>Add a new pane showing a spectrogram</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1204"/>
+        <source>Shift+G</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1205"/>
+        <source>Add a new layer showing a spectrogram</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1211"/>
+        <source>Add &amp;Melodic Range Spectrogram</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1213"/>
+        <source>M</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1214"/>
+        <source>Add a new pane showing a spectrogram set up for an overview of note pitches</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1216"/>
+        <source>Shift+M</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1217"/>
+        <source>Add a new layer showing a spectrogram set up for an overview of note pitches</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1223"/>
+        <source>Add Pea&amp;k Frequency Spectrogram</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1225"/>
+        <source>K</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1226"/>
+        <source>Add a new pane showing a spectrogram set up for tracking frequencies</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1228"/>
+        <source>Shift+K</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1229"/>
+        <source>Add a new layer showing a spectrogram set up for tracking frequencies</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1235"/>
+        <source>Add Spectr&amp;um</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1237"/>
+        <source>U</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1238"/>
+        <source>Add a new pane showing a frequency spectrum</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1240"/>
+        <source>Shift+U</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1241"/>
+        <source>Add a new layer showing a frequency spectrum</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1311"/>
+        <source>&amp;All Channels Mixed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1313"/>
+        <source>&amp;All Channels</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1316"/>
+        <source>Channel &amp;%1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1320"/>
+        <location filename="../main/MainWindow.cpp" line="3447"/>
+        <source>%1: %2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1379"/>
+        <source>Switch to Previous Pane</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1380"/>
+        <source>[</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1381"/>
+        <source>Make the next pane up in the pane stack current</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1387"/>
+        <source>Switch to Next Pane</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1388"/>
+        <source>]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1389"/>
+        <source>Make the next pane down in the pane stack current</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1397"/>
+        <source>&amp;Delete Pane</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1398"/>
+        <source>Ctrl+Shift+D</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1399"/>
+        <source>Delete the currently active pane</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1407"/>
+        <source>Add &amp;Time Ruler</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1408"/>
+        <source>Add a new layer showing a time ruler</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1416"/>
+        <source>Add &amp;Existing Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1420"/>
+        <source>Add S&amp;lice of Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1428"/>
+        <source>Switch to Previous Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1429"/>
+        <source>{</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1430"/>
+        <source>Make the previous layer in the pane current</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1436"/>
+        <source>Switch to Next Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1437"/>
+        <source>}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1438"/>
+        <source>Make the next layer in the pane current</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1447"/>
+        <source>&amp;Rename Layer...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1448"/>
+        <source>R</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1449"/>
+        <source>Rename the currently active layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1455"/>
+        <source>Edit Layer Data</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1456"/>
+        <source>E</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1457"/>
+        <source>Edit the currently active layer as a data grid</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1463"/>
+        <source>&amp;Delete Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1464"/>
+        <source>Ctrl+D</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1465"/>
+        <source>Delete the currently active layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1504"/>
+        <source>&amp;Recent Transforms</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1521"/>
+        <source>%1 by Category</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1536"/>
+        <location filename="../main/MainWindow.cpp" line="1624"/>
+        <source>Unclassified</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1567"/>
+        <source>%1 by Plugin Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1575"/>
+        <source>%1 by Maker</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1589"/>
+        <location filename="../main/MainWindow.cpp" line="1627"/>
+        <source>Unknown</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1590"/>
+        <location filename="../main/MainWindow.cpp" line="1628"/>
+        <source> [\(&lt;].*$</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1643"/>
+        <location filename="../main/MainWindow.cpp" line="1669"/>
+        <source>%1...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1708"/>
+        <source>Find a Transform...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1709"/>
+        <source>Search for a transform from the installed plugins, by name or description</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1710"/>
+        <source>Ctrl+M</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1723"/>
+        <source>&amp;Help</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1726"/>
+        <source>Help</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1733"/>
+        <source>&amp;Help Reference</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1734"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1740"/>
+        <source>&amp;Key and Mouse Reference</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1741"/>
+        <source>F2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1767"/>
+        <source>Ctrl+R</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1769"/>
+        <source>Re-open</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1771"/>
+        <source>Re-open the current or most recently opened file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1782"/>
+        <source>Standard Waveform</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1818"/>
+        <source>Choose Default Template...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1843"/>
+        <source>Ctrl+T</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1845"/>
+        <source>Repeat Transform</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1847"/>
+        <source>Re-select the most recently run transform</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1937"/>
+        <source>Playback and Transport Controls</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1941"/>
+        <source>Play&amp;back</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1944"/>
+        <source>Playback</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1946"/>
+        <source>Playback Toolbar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1949"/>
+        <source>Rewind to Start</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1950"/>
+        <source>Home</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1951"/>
+        <source>Rewind to the start</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1955"/>
+        <location filename="../main/MainWindow.cpp" line="2360"/>
+        <location filename="../main/MainWindow.cpp" line="2361"/>
+        <source>Rewind</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1956"/>
+        <source>PgUp</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1957"/>
+        <source>Rewind to the previous time instant or time ruler notch</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1961"/>
+        <source>Rewind to Similar Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1962"/>
+        <source>Shift+PgUp</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1963"/>
+        <source>Rewind to the previous similarly valued time instant</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1968"/>
+        <source>Play / Pause</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1970"/>
+        <source>Space</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1971"/>
+        <source>Start or stop playback from the current position</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1980"/>
+        <location filename="../main/MainWindow.cpp" line="2358"/>
+        <source>Fast Forward</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1981"/>
+        <source>PgDown</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1982"/>
+        <source>Fast-forward to the next time instant or time ruler notch</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1986"/>
+        <source>Fast Forward to Similar Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1987"/>
+        <source>Shift+PgDown</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1988"/>
+        <source>Fast-forward to the next similarly valued time instant</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1993"/>
+        <source>Fast Forward to End</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1994"/>
+        <source>End</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1995"/>
+        <source>Fast-forward to the end</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2000"/>
+        <source>Record</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2002"/>
+        <source>Ctrl+Space</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2003"/>
+        <source>Record a new audio file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2010"/>
+        <source>Play Mode Toolbar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2013"/>
+        <source>Constrain Playback to Selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2016"/>
+        <source>s</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2017"/>
+        <source>Constrain playback to the selected regions</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2024"/>
+        <source>Loop Playback</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2027"/>
+        <source>l</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2028"/>
+        <source>Loop playback</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2035"/>
+        <source>Solo Current Pane</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2039"/>
+        <source>o</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2040"/>
+        <source>Solo the current pane during playback</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2049"/>
+        <source>Align File Timelines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2052"/>
+        <source>Treat multiple audio files as versions of the same work, and align their timelines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2107"/>
+        <source>Speed Up</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2108"/>
+        <source>Ctrl+PgUp</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2109"/>
+        <source>Time-stretch playback to speed it up without changing pitch</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2113"/>
+        <source>Slow Down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2114"/>
+        <source>Ctrl+PgDown</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2115"/>
+        <source>Time-stretch playback to slow it down without changing pitch</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2119"/>
+        <source>Restore Normal Speed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2120"/>
+        <source>Ctrl+Home</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2121"/>
+        <source>Restore non-time-stretched playback</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2133"/>
+        <source>Edit Toolbar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2139"/>
+        <location filename="../main/MainWindow.cpp" line="2167"/>
+        <location filename="../main/MainWindow.cpp" line="2196"/>
+        <location filename="../main/MainWindow.cpp" line="2217"/>
+        <location filename="../main/MainWindow.cpp" line="2235"/>
+        <location filename="../main/MainWindow.cpp" line="2253"/>
+        <source>Tool Selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="3937"/>
+        <source>Playback speed: %1% (%2x slower)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="3943"/>
+        <source>Playback speed: %1% (%2x faster)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="4377"/>
+        <source>&lt;b&gt;Layer generation failed&lt;/b&gt;&lt;p&gt;Failed to generate derived layer.&lt;p&gt;The layer transform %1failed:&lt;p&gt;%2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="4384"/>
+        <source>&lt;b&gt;Layer generation failed&lt;/b&gt;&lt;p&gt;Failed to generate a derived layer.&lt;p&gt;The layer transform %1failed.&lt;p&gt;No error information is available.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="4697"/>
+        <source>&lt;h3&gt;Newer version available&lt;/h3&gt;&lt;p&gt;You are using version %1 of Sonic Visualiser, but version %2 is now available.&lt;/p&gt;&lt;p&gt;Please see the &lt;a href=&quot;http://sonicvisualiser.org/&quot;&gt;Sonic Visualiser website&lt;/a&gt; for more information.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2136"/>
+        <source>Tools Toolbar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2141"/>
+        <location filename="../main/MainWindow.cpp" line="2145"/>
+        <location filename="../main/MainWindow.cpp" line="2155"/>
+        <source>Navigate</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2144"/>
+        <source>1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2169"/>
+        <location filename="../main/MainWindow.cpp" line="2181"/>
+        <source>Select</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2171"/>
+        <source>2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2172"/>
+        <source>Select ranges</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2164"/>
+        <location filename="../main/MainWindow.cpp" line="2198"/>
+        <location filename="../main/MainWindow.cpp" line="2214"/>
+        <source>Edit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2153"/>
+        <source>Navigate Tool Mouse Actions</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2156"/>
+        <source>Click left button and drag to move around</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2158"/>
+        <location filename="../main/MainWindow.cpp" line="2273"/>
+        <source>Zoom to Area</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2159"/>
+        <location filename="../main/MainWindow.cpp" line="2274"/>
+        <source>Shift-click left button and drag to zoom to a rectangular area</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2161"/>
+        <source>Relocate</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2161"/>
+        <location filename="../main/MainWindow.cpp" line="2164"/>
+        <location filename="../main/MainWindow.cpp" line="2214"/>
+        <location filename="../main/MainWindow.cpp" line="2270"/>
+        <source>Double-Click Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2162"/>
+        <source>Double-click left button to jump to clicked location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2165"/>
+        <location filename="../main/MainWindow.cpp" line="2215"/>
+        <source>Double-click left button on an item to edit it</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2179"/>
+        <source>Select Tool Mouse Actions</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2182"/>
+        <source>Click left button and drag to select region; drag region edge to resize</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2185"/>
+        <location filename="../main/MainWindow.cpp" line="2189"/>
+        <source>Multi Select</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2186"/>
+        <source>Cmd-click left button and drag to select an additional region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2190"/>
+        <source>Ctrl-click left button and drag to select an additional region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2193"/>
+        <source>Fine Select</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2194"/>
+        <source>Shift-click left button and drag to select without snapping to items or grid</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../main/MainWindow.cpp" line="2200"/>
-        <source>&amp;Delete Selected Items</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="652"/>
-        <source>Del</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="653"/>
+        <source>3</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../main/MainWindow.cpp" line="2201"/>
-        <source>Delete items in current selection from the current layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="663"/>
-        <source>Selection</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="665"/>
-        <source>Select &amp;All</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="666"/>
-        <source>Ctrl+A</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="667"/>
-        <source>Select the whole duration of the current session</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="674"/>
-        <source>Select &amp;Visible Range</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="675"/>
-        <source>Ctrl+Shift+A</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="676"/>
-        <source>Select the time range corresponding to the current window width</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="682"/>
-        <source>Select to &amp;Start</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="683"/>
-        <source>Shift+Left</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="684"/>
-        <source>Select from the start of the session to the current playback position</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="690"/>
-        <source>Select to &amp;End</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="691"/>
-        <source>Shift+Right</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="692"/>
-        <source>Select from the current playback position to the end of the session</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="698"/>
-        <source>C&amp;lear Selection</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="699"/>
-        <source>Esc</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="700"/>
-        <source>Clear the selection</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="709"/>
-        <source>Tapping Time Instants</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="711"/>
-        <source>&amp;Insert Instant at Playback Position</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="712"/>
-        <source>Enter</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="713"/>
-        <source>Insert a new time instant at the current playback position, in a new layer if necessary</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="720"/>
-        <source>;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="725"/>
-        <source>Insert Instants at Selection &amp;Boundaries</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="726"/>
-        <source>Shift+Enter</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="727"/>
-        <source>Insert new time instants at the start and end of the current selected regions, in a new layer if necessary</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="733"/>
-        <source>Insert Item at Selection</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="734"/>
-        <source>Ctrl+Shift+Enter</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="735"/>
-        <source>Insert a new note or region item corresponding to the current selection</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="743"/>
-        <source>Number New Instants with</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="763"/>
-        <source>Cycle size</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="784"/>
-        <source>Reset Numbering Counters</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="785"/>
-        <source>Reset to 1 all the counters used for counter-based labelling</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="790"/>
-        <source>Set Numbering Counters...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="791"/>
-        <source>Set the counters used for counter-based labelling</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="795"/>
-        <source>Renumber Selected Instants</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="796"/>
-        <source>Renumber the selected instants using the current labelling scheme</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="812"/>
-        <source>Panning and Navigation</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="814"/>
-        <source>&amp;View</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="816"/>
-        <source>Scroll &amp;Left</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="817"/>
-        <source>Left</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="818"/>
-        <source>Scroll the current pane to the left</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="824"/>
-        <source>Scroll &amp;Right</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="825"/>
-        <source>Right</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="826"/>
-        <source>Scroll the current pane to the right</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="832"/>
-        <source>&amp;Jump Left</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="833"/>
-        <source>Ctrl+Left</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="834"/>
-        <source>Scroll the current pane a big step to the left</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="840"/>
-        <source>J&amp;ump Right</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="841"/>
-        <source>Ctrl+Right</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="842"/>
-        <source>Scroll the current pane a big step to the right</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="848"/>
-        <source>Peek Left</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="849"/>
-        <source>Alt+Left</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="850"/>
-        <source>Scroll the current pane to the left without moving the playback cursor or other panes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="856"/>
-        <source>Peek Right</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="857"/>
-        <source>Alt+Right</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="858"/>
-        <source>Scroll the current pane to the right without moving the playback cursor or other panes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="866"/>
-        <source>Zoom</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="869"/>
-        <source>Zoom &amp;In</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="870"/>
-        <source>Up</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="871"/>
-        <source>Increase the zoom level</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="878"/>
-        <source>Zoom &amp;Out</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="879"/>
-        <source>Down</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="880"/>
-        <source>Decrease the zoom level</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="886"/>
-        <source>Restore &amp;Default Zoom</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="887"/>
-        <source>Restore the zoom level to the default</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="893"/>
-        <source>Zoom to &amp;Fit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="894"/>
-        <source>F</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="895"/>
-        <source>Zoom to show the whole file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="903"/>
-        <source>Display Features</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="905"/>
-        <source>Show &amp;Centre Line</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="906"/>
-        <source>&apos;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="907"/>
-        <source>Show or hide the centre line</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="914"/>
-        <source>Toggle All Time Rulers</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="925"/>
-        <source>Show &amp;No Overlays</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="926"/>
-        <source>0</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="935"/>
-        <source>Show &amp;Minimal Overlays</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="936"/>
-        <source>9</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="946"/>
-        <source>8</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="945"/>
-        <source>Show &amp;All Overlays</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="528"/>
-        <source>&amp;Export Audio Data...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="529"/>
-        <source>Export audio from selection into a data file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="915"/>
-        <source>#</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="916"/>
-        <source>Show or hide all time rulers</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="927"/>
-        <source>Hide times, layer names, and scale</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="937"/>
-        <source>Show times and basic scale</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="947"/>
-        <source>Show times, layer names, and scale</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="957"/>
-        <source>Show &amp;Zoom Wheels</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="958"/>
-        <source>Z</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="959"/>
-        <source>Show thumbwheels for zooming horizontally and vertically</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="966"/>
-        <source>Show Property Bo&amp;xes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="967"/>
-        <source>X</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="968"/>
-        <source>Show the layer property boxes at the side of the main window</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="975"/>
-        <source>Show Status &amp;Bar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="976"/>
-        <source>Show context help information in the status bar at the bottom of the window</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="993"/>
-        <source>Show La&amp;yer Summary</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="994"/>
-        <source>Y</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="995"/>
-        <source>Open a window displaying the hierarchy of panes and layers in this session</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1000"/>
-        <source>Show Acti&amp;vity Log</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1001"/>
-        <source>Open a window listing interactions and other events</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1007"/>
-        <source>Go Full-Screen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1008"/>
-        <source>F11</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1009"/>
-        <source>Expand the pane area to the whole screen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1022"/>
-        <source>&amp;Pane</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1046"/>
-        <source>Managing Panes and Layers</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1048"/>
-        <source>Add &amp;New Pane</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1049"/>
-        <source>N</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1050"/>
-        <source>Add a new pane containing only a time ruler</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1076"/>
-        <source>Add New %1 Layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1077"/>
-        <source>Add a new empty layer of type %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1083"/>
-        <source>T</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1133"/>
-        <source>Add &amp;Waveform</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1135"/>
-        <source>W</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1136"/>
-        <source>Add a new pane showing a waveform view</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1138"/>
-        <source>Shift+W</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1139"/>
-        <source>Add a new layer showing a waveform view</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1146"/>
-        <source>Add Spectro&amp;gram</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1148"/>
-        <source>G</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1149"/>
-        <source>Add a new pane showing a spectrogram</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1151"/>
-        <source>Shift+G</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1152"/>
-        <source>Add a new layer showing a spectrogram</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1158"/>
-        <source>Add &amp;Melodic Range Spectrogram</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1160"/>
-        <source>M</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1161"/>
-        <source>Add a new pane showing a spectrogram set up for an overview of note pitches</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1163"/>
-        <source>Shift+M</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1164"/>
-        <source>Add a new layer showing a spectrogram set up for an overview of note pitches</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1170"/>
-        <source>Add Pea&amp;k Frequency Spectrogram</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1172"/>
-        <source>K</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1173"/>
-        <source>Add a new pane showing a spectrogram set up for tracking frequencies</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1175"/>
-        <source>Shift+K</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1176"/>
-        <source>Add a new layer showing a spectrogram set up for tracking frequencies</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1182"/>
-        <source>Add Spectr&amp;um</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1184"/>
-        <source>U</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1185"/>
-        <source>Add a new pane showing a frequency spectrum</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1187"/>
-        <source>Shift+U</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1188"/>
-        <source>Add a new layer showing a frequency spectrum</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1258"/>
-        <source>&amp;All Channels Mixed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1260"/>
-        <source>&amp;All Channels</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1263"/>
-        <source>Channel &amp;%1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1267"/>
-        <source>%1: %2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1326"/>
-        <source>Switch to Previous Pane</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1327"/>
-        <source>[</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1328"/>
-        <source>Make the next pane up in the pane stack current</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1334"/>
-        <source>Switch to Next Pane</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1335"/>
-        <source>]</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1336"/>
-        <source>Make the next pane down in the pane stack current</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1344"/>
-        <source>&amp;Delete Pane</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1345"/>
-        <source>Ctrl+Shift+D</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1346"/>
-        <source>Delete the currently active pane</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1354"/>
-        <source>Add &amp;Time Ruler</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1355"/>
-        <source>Add a new layer showing a time ruler</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1363"/>
-        <source>Add &amp;Existing Layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1367"/>
-        <source>Add S&amp;lice of Layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1395"/>
-        <source>&amp;Rename Layer...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1396"/>
-        <source>R</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1397"/>
-        <source>Rename the currently active layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1403"/>
-        <source>Edit Layer Data</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1404"/>
-        <source>E</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1405"/>
-        <source>Edit the currently active layer as a data grid</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1411"/>
-        <source>&amp;Delete Layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1412"/>
-        <source>Ctrl+D</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1413"/>
-        <source>Delete the currently active layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1450"/>
-        <source>&amp;Recent Transforms</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1467"/>
-        <source>%1 by Category</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1482"/>
-        <location filename="../main/MainWindow.cpp" line="1570"/>
-        <source>Unclassified</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1513"/>
-        <source>%1 by Plugin Name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1521"/>
-        <source>%1 by Maker</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1535"/>
-        <location filename="../main/MainWindow.cpp" line="1573"/>
-        <source>Unknown</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1536"/>
-        <location filename="../main/MainWindow.cpp" line="1574"/>
-        <source> [\(&lt;].*$</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1589"/>
-        <location filename="../main/MainWindow.cpp" line="1615"/>
-        <source>%1...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1654"/>
-        <source>Find a Transform...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1655"/>
-        <source>Search for a transform from the installed plugins, by name or description</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1656"/>
-        <source>Ctrl+M</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1669"/>
-        <source>&amp;Help</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1672"/>
-        <source>Help</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1679"/>
-        <source>&amp;Help Reference</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1680"/>
-        <source>F1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1686"/>
-        <source>&amp;Key and Mouse Reference</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1687"/>
-        <source>F2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1713"/>
-        <source>Ctrl+R</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1715"/>
-        <source>Re-open</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1717"/>
-        <source>Re-open the current or most recently opened file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1728"/>
-        <source>Standard Waveform</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1764"/>
-        <source>Choose Default Template...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1789"/>
-        <source>Ctrl+T</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1791"/>
-        <source>Repeat Transform</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1793"/>
-        <source>Re-select the most recently run transform</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1883"/>
-        <source>Playback and Transport Controls</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1887"/>
-        <source>Play&amp;back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1890"/>
-        <source>Playback</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1892"/>
-        <source>Playback Toolbar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1895"/>
-        <source>Rewind to Start</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1896"/>
-        <source>Home</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1897"/>
-        <source>Rewind to the start</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1901"/>
-        <location filename="../main/MainWindow.cpp" line="2218"/>
+        <source>Edit items in layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2209"/>
+        <source>Edit Tool Mouse Actions</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2211"/>
+        <source>Move</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2212"/>
+        <source>Click left button on an item or selected region and drag to move</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../main/MainWindow.cpp" line="2219"/>
-        <source>Rewind</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1902"/>
-        <source>PgUp</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1903"/>
-        <source>Rewind to the previous time instant or time ruler notch</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1907"/>
-        <source>Rewind to Similar Point</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1908"/>
-        <source>Shift+PgUp</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1909"/>
-        <source>Rewind to the previous similarly valued time instant</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1914"/>
-        <source>Play / Pause</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1916"/>
-        <source>Space</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1917"/>
-        <source>Start or stop playback from the current position</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1926"/>
-        <location filename="../main/MainWindow.cpp" line="2216"/>
-        <source>Fast Forward</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1927"/>
-        <source>PgDown</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1928"/>
-        <source>Fast-forward to the next time instant or time ruler notch</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1932"/>
-        <source>Fast Forward to Similar Point</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1933"/>
-        <source>Shift+PgDown</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1934"/>
-        <source>Fast-forward to the next similarly valued time instant</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1939"/>
-        <source>Fast Forward to End</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1940"/>
-        <source>End</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1941"/>
-        <source>Fast-forward to the end</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1945"/>
-        <source>Play Mode Toolbar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1948"/>
-        <source>Constrain Playback to Selection</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1951"/>
-        <source>s</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1952"/>
-        <source>Constrain playback to the selected regions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1959"/>
-        <source>Loop Playback</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1962"/>
-        <source>l</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1963"/>
-        <source>Loop playback</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1970"/>
-        <source>Solo Current Pane</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1974"/>
-        <source>o</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1975"/>
-        <source>Solo the current pane during playback</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1984"/>
-        <source>Align File Timelines</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1987"/>
-        <source>Treat multiple audio files as versions of the same work, and align their timelines</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2035"/>
-        <source>Speed Up</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2036"/>
-        <source>Ctrl+PgUp</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2037"/>
-        <source>Time-stretch playback to speed it up without changing pitch</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2041"/>
-        <source>Slow Down</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2042"/>
-        <source>Ctrl+PgDown</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2043"/>
-        <source>Time-stretch playback to slow it down without changing pitch</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2047"/>
-        <source>Restore Normal Speed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2048"/>
-        <source>Ctrl+Home</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2049"/>
-        <source>Restore non-time-stretched playback</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2061"/>
-        <source>Edit Toolbar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2064"/>
-        <source>Tool Selection</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2066"/>
-        <source>Tools Toolbar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2070"/>
-        <location filename="../main/MainWindow.cpp" line="2074"/>
-        <source>Navigate</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2073"/>
-        <source>1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2082"/>
-        <source>Select</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2084"/>
-        <source>2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2085"/>
-        <source>Select ranges</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2092"/>
-        <source>Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2094"/>
-        <source>3</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2095"/>
-        <source>Edit items in layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2103"/>
+        <location filename="../main/MainWindow.cpp" line="2232"/>
         <source>Draw</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2105"/>
+        <location filename="../main/MainWindow.cpp" line="2221"/>
         <source>4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2106"/>
+        <location filename="../main/MainWindow.cpp" line="2222"/>
         <source>Draw new items in layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2114"/>
+        <location filename="../main/MainWindow.cpp" line="2230"/>
+        <source>Draw Tool Mouse Actions</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2233"/>
+        <source>Click left button and drag to create new item</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2237"/>
+        <location filename="../main/MainWindow.cpp" line="2250"/>
         <source>Erase</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2116"/>
+        <location filename="../main/MainWindow.cpp" line="2239"/>
         <source>5</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2117"/>
+        <location filename="../main/MainWindow.cpp" line="2240"/>
         <source>Erase items from layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2124"/>
+        <location filename="../main/MainWindow.cpp" line="2248"/>
+        <source>Erase Tool Mouse Actions</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2251"/>
+        <source>Click left button on an item to remove it from the layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2254"/>
         <source>Measure</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2126"/>
+        <location filename="../main/MainWindow.cpp" line="2256"/>
         <source>6</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2127"/>
+        <location filename="../main/MainWindow.cpp" line="2257"/>
         <source>Make measurements in layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2196"/>
+        <location filename="../main/MainWindow.cpp" line="2265"/>
+        <source>Measure Tool Mouse Actions</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2267"/>
+        <source>Measure Area</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2268"/>
+        <source>Click left button and drag to measure a rectangular area</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2270"/>
+        <source>Measure Item</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2271"/>
+        <source>Click left button and drag to measure extents of an item or shape</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2338"/>
         <source>&amp;Delete Current Measurement</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2197"/>
+        <location filename="../main/MainWindow.cpp" line="2339"/>
         <source>Delete the measurement currently under the mouse pointer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2206"/>
+        <location filename="../main/MainWindow.cpp" line="2348"/>
         <source>Fast Forward to Next Instant</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2207"/>
+        <location filename="../main/MainWindow.cpp" line="2349"/>
         <source>Fast forward to the next time instant in the current layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2208"/>
+        <location filename="../main/MainWindow.cpp" line="2350"/>
         <source>Rewind to Previous Instant</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2209"/>
+        <location filename="../main/MainWindow.cpp" line="2351"/>
         <source>Rewind to the previous time instant in the current layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2211"/>
+        <location filename="../main/MainWindow.cpp" line="2353"/>
         <source>Fast Forward to Next Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2212"/>
+        <location filename="../main/MainWindow.cpp" line="2354"/>
         <source>Fast forward to the next point in the current layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2213"/>
+        <location filename="../main/MainWindow.cpp" line="2355"/>
         <source>Rewind to Previous Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2214"/>
+        <location filename="../main/MainWindow.cpp" line="2356"/>
         <source>Rewind to the previous point in the current layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2217"/>
+        <location filename="../main/MainWindow.cpp" line="2359"/>
         <source>Fast forward</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2228"/>
+        <location filename="../main/MainWindow.cpp" line="2370"/>
         <source>No audio file loaded.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2239"/>
+        <location filename="../main/MainWindow.cpp" line="2381"/>
         <source>%1Hz (resampling to %2Hz)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2310"/>
-        <location filename="../main/MainWindow.cpp" line="2324"/>
-        <location filename="../main/MainWindow.cpp" line="2338"/>
-        <location filename="../main/MainWindow.cpp" line="2577"/>
-        <location filename="../main/MainWindow.cpp" line="2582"/>
-        <location filename="../main/MainWindow.cpp" line="2878"/>
-        <location filename="../main/MainWindow.cpp" line="2898"/>
-        <location filename="../main/MainWindow.cpp" line="2902"/>
+        <location filename="../main/MainWindow.cpp" line="2452"/>
+        <location filename="../main/MainWindow.cpp" line="2466"/>
+        <location filename="../main/MainWindow.cpp" line="2480"/>
+        <location filename="../main/MainWindow.cpp" line="2717"/>
+        <location filename="../main/MainWindow.cpp" line="2722"/>
+        <location filename="../main/MainWindow.cpp" line="3031"/>
+        <location filename="../main/MainWindow.cpp" line="3035"/>
         <source>Failed to open file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2311"/>
-        <location filename="../main/MainWindow.cpp" line="2325"/>
-        <location filename="../main/MainWindow.cpp" line="2339"/>
+        <location filename="../main/MainWindow.cpp" line="2453"/>
+        <location filename="../main/MainWindow.cpp" line="2467"/>
+        <location filename="../main/MainWindow.cpp" line="2481"/>
         <source>&lt;b&gt;File open failed&lt;/b&gt;&lt;p&gt;Audio file &quot;%1&quot; could not be opened</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2407"/>
+        <location filename="../main/MainWindow.cpp" line="2529"/>
+        <source>1. %2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2536"/>
+        <source>%1. %2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2549"/>
         <source>Select audio file to export</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2408"/>
+        <location filename="../main/MainWindow.cpp" line="2550"/>
         <source>Which audio file do you want to export from?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2441"/>
+        <location filename="../main/MainWindow.cpp" line="2583"/>
         <source>Export the selected region only</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2442"/>
+        <location filename="../main/MainWindow.cpp" line="2584"/>
         <source>Export the whole audio file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2446"/>
-        <location filename="../main/MainWindow.cpp" line="2466"/>
-        <location filename="../main/MainWindow.cpp" line="2731"/>
+        <location filename="../main/MainWindow.cpp" line="2588"/>
+        <location filename="../main/MainWindow.cpp" line="2606"/>
+        <location filename="../main/MainWindow.cpp" line="2872"/>
         <source>Select region to export</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2447"/>
+        <location filename="../main/MainWindow.cpp" line="2589"/>
         <source>Which region from the original audio file do you want to export?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2462"/>
+        <location filename="../main/MainWindow.cpp" line="2602"/>
         <source>Export the selected regions into separate files</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2467"/>
+        <location filename="../main/MainWindow.cpp" line="2607"/>
         <source>Multiple regions of the original audio file are selected.
 What do you want to export?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2498"/>
+        <location filename="../main/MainWindow.cpp" line="2638"/>
         <source>Fragment file %1 already exists, aborting</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2542"/>
+        <location filename="../main/MainWindow.cpp" line="2682"/>
         <source>Export multiple audio files</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2544"/>
+        <location filename="../main/MainWindow.cpp" line="2684"/>
         <source>Export audio to &quot;%1&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2548"/>
-        <location filename="../main/MainWindow.cpp" line="2675"/>
+        <location filename="../main/MainWindow.cpp" line="2688"/>
+        <location filename="../main/MainWindow.cpp" line="2816"/>
         <source>Failed to write file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2578"/>
+        <location filename="../main/MainWindow.cpp" line="2718"/>
         <source>&lt;b&gt;File open failed&lt;/b&gt;&lt;p&gt;Layer file %1 could not be opened.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2583"/>
-        <location filename="../main/MainWindow.cpp" line="2903"/>
-        <location filename="../main/MainWindow.cpp" line="2935"/>
-        <location filename="../main/MainWindow.cpp" line="2963"/>
+        <location filename="../main/MainWindow.cpp" line="2723"/>
+        <location filename="../main/MainWindow.cpp" line="3036"/>
+        <location filename="../main/MainWindow.cpp" line="3068"/>
+        <location filename="../main/MainWindow.cpp" line="3096"/>
+        <location filename="../main/MainWindow.cpp" line="3228"/>
+        <source>&lt;b&gt;Audio required&lt;/b&gt;&lt;p&gt;Unable to load layer data from &quot;%1&quot; without an audio file.&lt;br&gt;Please load at least one audio file before importing annotations.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2795"/>
+        <source>Sorry, cannot export this layer type to RDF (supported types are: region, note, text, time instants, time values)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="3135"/>
+        <source>Enter template name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="3140"/>
+        <source>Please enter a name for the saved template:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="3144"/>
+        <source>Set as default template for future audio files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="3164"/>
+        <source>Template file exists</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="3165"/>
+        <source>&lt;b&gt;Template file exists&lt;/b&gt;&lt;p&gt;The template &quot;%1&quot; already exists.&lt;br&gt;Overwrite it?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="4543"/>
+        <source>http://www.sonicvisualiser.org/doc/reference/%1/en/</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="4648"/>
+        <source>&lt;br&gt;With Serd and Sord RDF parser and store &amp;copy; David Robillard</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="4649"/>
+        <source>&lt;br&gt;With Dataquay Qt/RDF library &amp;copy; Chris Cannam</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="4696"/>
+        <source>Newer version available</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2758"/>
+        <source>Failed to open file %1 for writing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="472"/>
+        <source>Abandon the current %1 session and start a new one</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="489"/>
+        <source>&amp;Import More Audio...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="491"/>
+        <source>Import an extra audio file into a new pane</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="498"/>
+        <source>Replace &amp;Main Audio...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="499"/>
+        <source>Replace the main audio file of the session with a different file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="510"/>
+        <source>Open &amp;Recent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="521"/>
+        <source>Save the current session into a %1 session file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="531"/>
+        <source>Save the current session into a new %1 session file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="601"/>
+        <source>Apply Session Template</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="610"/>
+        <source>Export Session as Template...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="617"/>
+        <source>Manage Exported Templates</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="632"/>
+        <source>Exit %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1735"/>
+        <source>Open the %1 reference manual</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1742"/>
+        <source>Open a window showing the keystrokes you can use in %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1747"/>
+        <source>%1 on the &amp;Web</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1748"/>
+        <source>Open the %1 website</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1752"/>
+        <source>&amp;About %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1753"/>
+        <source>Show information about %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2601"/>
+        <source>Export the selected regions into a single file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2603"/>
+        <source>Export the whole file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2783"/>
+        <source>Can&apos;t export non-note layers to MIDI</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2819"/>
+        <source>Export layer to &quot;%1&quot;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2854"/>
+        <source>Export the whole pane (%1x%2 pixels)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2856"/>
+        <source>Export the visible area only (%1x%2 pixels)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2859"/>
+        <source>Export the selection extent (%1x%2 pixels)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2862"/>
+        <source>Export the selection extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2873"/>
+        <source>Which region of the current pane do you want to export as an image?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2881"/>
+        <source>Note: the whole pane is too wide to be exported as a single image.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2906"/>
+        <source>Failed to save image file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2907"/>
+        <source>Failed to save image file %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="3032"/>
+        <source>&lt;b&gt;File open failed&lt;/b&gt;&lt;p&gt;File &quot;%1&quot; could not be opened</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="3049"/>
+        <source>Open Location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="3050"/>
+        <source>Please enter the URL of the location to open:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="3063"/>
+        <location filename="../main/MainWindow.cpp" line="3067"/>
+        <location filename="../main/MainWindow.cpp" line="3091"/>
         <location filename="../main/MainWindow.cpp" line="3095"/>
-        <source>&lt;b&gt;Audio required&lt;/b&gt;&lt;p&gt;Unable to load layer data from &quot;%1&quot; without an audio file.&lt;br&gt;Please load at least one audio file before importing annotations.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2654"/>
-        <source>Sorry, cannot export this layer type to RDF (supported types are: region, note, text, time instants, time values)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="3002"/>
-        <source>Enter template name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="3007"/>
-        <source>Please enter a name for the saved template:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="3011"/>
-        <source>Set as default template for future audio files</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="3031"/>
-        <source>Template file exists</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="3032"/>
-        <source>&lt;b&gt;Template file exists&lt;/b&gt;&lt;p&gt;The template &quot;%1&quot; already exists.&lt;br&gt;Overwrite it?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="3314"/>
-        <source>%1: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="4286"/>
-        <source>http://www.sonicvisualiser.org/doc/reference/%1/en/</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="4391"/>
-        <source>&lt;br&gt;With Serd and Sord RDF parser and store &amp;copy; David Robillard</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="4392"/>
-        <source>&lt;br&gt;With Dataquay Qt/RDF library &amp;copy; Chris Cannam</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="4439"/>
-        <source>Newer version available</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="4440"/>
-        <source>&lt;h3&gt;Newer version available&lt;/h3&gt;&lt;p&gt;You are using version %1 of Sonic Visualiser, but version %3 is now available.&lt;/p&gt;&lt;p&gt;Please see the &lt;a href=&quot;http://sonicvisualiser.org/&quot;&gt;Sonic Visualiser website&lt;/a&gt; for more information.&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2618"/>
-        <source>Failed to open file %1 for writing</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="438"/>
-        <source>Abandon the current %1 session and start a new one</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="455"/>
-        <source>&amp;Import More Audio...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="457"/>
-        <source>Import an extra audio file into a new pane</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="464"/>
-        <source>Replace &amp;Main Audio...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="465"/>
-        <source>Replace the main audio file of the session with a different file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="476"/>
-        <source>Open &amp;Recent</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="488"/>
-        <source>Save the current session into a %1 session file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="499"/>
-        <source>Save the current session into a new %1 session file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="560"/>
-        <source>Apply Session Template</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="569"/>
-        <source>Export Session as Template...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="576"/>
-        <source>Manage Exported Templates</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="591"/>
-        <source>Exit %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1681"/>
-        <source>Open the %1 reference manual</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1688"/>
-        <source>Open a window showing the keystrokes you can use in %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1693"/>
-        <source>%1 on the &amp;Web</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1694"/>
-        <source>Open the %1 website</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1698"/>
-        <source>&amp;About %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1699"/>
-        <source>Show information about %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2461"/>
-        <source>Export the selected regions into a single file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2463"/>
-        <source>Export the whole file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2642"/>
-        <source>Can&apos;t export non-note layers to MIDI</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2678"/>
-        <source>Export layer to &quot;%1&quot;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2713"/>
-        <source>Export the whole pane (%1x%2 pixels)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2715"/>
-        <source>Export the visible area only (%1x%2 pixels)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2718"/>
-        <source>Export the selection extent (%1x%2 pixels)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2721"/>
-        <source>Export the selection extent</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2732"/>
-        <source>Which region of the current pane do you want to export as an image?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2740"/>
-        <source>Note: the whole pane is too wide to be exported as a single image.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2765"/>
-        <source>Failed to save image file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2766"/>
-        <source>Failed to save image file %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2879"/>
-        <source>&lt;b&gt;File open failed&lt;/b&gt;&lt;p&gt;Session file &quot;%1&quot; could not be opened</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2899"/>
-        <source>&lt;b&gt;File open failed&lt;/b&gt;&lt;p&gt;File &quot;%1&quot; could not be opened</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2916"/>
-        <source>Open Location</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2917"/>
-        <source>Please enter the URL of the location to open:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2930"/>
-        <location filename="../main/MainWindow.cpp" line="2934"/>
-        <location filename="../main/MainWindow.cpp" line="2958"/>
-        <location filename="../main/MainWindow.cpp" line="2962"/>
         <source>Failed to open location</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2931"/>
+        <location filename="../main/MainWindow.cpp" line="3064"/>
         <source>&lt;b&gt;Open failed&lt;/b&gt;&lt;p&gt;URL &quot;%1&quot; could not be opened</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2959"/>
+        <location filename="../main/MainWindow.cpp" line="3092"/>
         <source>&lt;b&gt;Open failed&lt;/b&gt;&lt;p&gt;File or URL &quot;%1&quot; could not be opened</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3089"/>
-        <location filename="../main/MainWindow.cpp" line="3094"/>
+        <location filename="../main/MainWindow.cpp" line="3222"/>
+        <location filename="../main/MainWindow.cpp" line="3227"/>
         <source>Failed to open dropped URL</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3090"/>
+        <location filename="../main/MainWindow.cpp" line="3223"/>
         <source>&lt;b&gt;Open failed&lt;/b&gt;&lt;p&gt;Dropped URL &quot;%1&quot; could not be opened</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3205"/>
+        <location filename="../main/MainWindow.cpp" line="3338"/>
         <source>Export image to &quot;%1&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3226"/>
+        <location filename="../main/MainWindow.cpp" line="3359"/>
         <source>Session modified</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3227"/>
+        <location filename="../main/MainWindow.cpp" line="3360"/>
         <source>&lt;b&gt;Session modified&lt;/b&gt;&lt;p&gt;The current session has been modified.&lt;br&gt;Do you want to save it?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3260"/>
+        <location filename="../main/MainWindow.cpp" line="3393"/>
         <source>Close the current session and create a new one</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3261"/>
+        <location filename="../main/MainWindow.cpp" line="3394"/>
         <source>Add this data to the current session</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3265"/>
+        <location filename="../main/MainWindow.cpp" line="3398"/>
         <source>Select target for import</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3266"/>
+        <location filename="../main/MainWindow.cpp" line="3399"/>
         <source>&lt;b&gt;Select a target for import&lt;/b&gt;&lt;p&gt;This RDF document refers to one or more audio files.&lt;br&gt;You already have an audio waveform loaded.&lt;br&gt;What would you like to do with the new data?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3288"/>
-        <location filename="../main/MainWindow.cpp" line="3311"/>
+        <location filename="../main/MainWindow.cpp" line="3421"/>
+        <location filename="../main/MainWindow.cpp" line="3444"/>
         <source>Failed to save file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3289"/>
-        <location filename="../main/MainWindow.cpp" line="3312"/>
+        <location filename="../main/MainWindow.cpp" line="3422"/>
+        <location filename="../main/MainWindow.cpp" line="3445"/>
         <source>&lt;b&gt;Save failed&lt;/b&gt;&lt;p&gt;Session file &quot;%1&quot; could not be saved.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3321"/>
+        <location filename="../main/MainWindow.cpp" line="3454"/>
         <source>Save session as &quot;%1&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3673"/>
+        <location filename="../main/MainWindow.cpp" line="3788"/>
+        <source>Multiplex all of the above</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="3837"/>
         <source>Rename Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3674"/>
+        <location filename="../main/MainWindow.cpp" line="3838"/>
         <source>New name for this layer:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3765"/>
+        <location filename="../main/MainWindow.cpp" line="3933"/>
         <source>Playback speed: Normal</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3767"/>
-        <source>Playback speed: %1%2%</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="3863"/>
+        <location filename="../main/MainWindow.cpp" line="4062"/>
         <source>Selection: %1 to %2 (duration %3)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3866"/>
+        <location filename="../main/MainWindow.cpp" line="4065"/>
         <source>Visible: %1 to %2 (duration %3)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3914"/>
+        <location filename="../main/MainWindow.cpp" line="4116"/>
         <source>Sample rate mismatch</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3915"/>
+        <location filename="../main/MainWindow.cpp" line="4117"/>
         <source>&lt;b&gt;Wrong sample rate&lt;/b&gt;&lt;p&gt;The sample rate of this audio file (%1 Hz) does not match
 the current playback rate (%2 Hz).&lt;p&gt;The file will play at the wrong speed and pitch.&lt;p&gt;Change the &lt;i&gt;Resample mismatching files on import&lt;/i&gt; option under &lt;i&gt;File&lt;/i&gt; -&gt; &lt;i&gt;Preferences&lt;/i&gt; if you want to alter this behaviour.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3926"/>
-        <location filename="../main/MainWindow.cpp" line="3936"/>
+        <location filename="../main/MainWindow.cpp" line="4128"/>
+        <location filename="../main/MainWindow.cpp" line="4138"/>
         <source>Audio processing overload</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3927"/>
+        <location filename="../main/MainWindow.cpp" line="4129"/>
         <source>&lt;b&gt;Overloaded&lt;/b&gt;&lt;p&gt;Audio effects plugin auditioning has been disabled due to a processing overload.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3937"/>
+        <location filename="../main/MainWindow.cpp" line="4139"/>
         <source>&lt;b&gt;Overloaded&lt;/b&gt;&lt;p&gt;Audio playback speed processing has been reduced to a single channel, due to a processing overload.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4007"/>
+        <location filename="../main/MainWindow.cpp" line="4146"/>
+        <source>Problems loading plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="4224"/>
         <source>Add Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4108"/>
+        <location filename="../main/MainWindow.cpp" line="4352"/>
         <source>Reset Counters</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4127"/>
-        <location filename="../main/MainWindow.cpp" line="4134"/>
+        <location filename="../main/MainWindow.cpp" line="4376"/>
+        <location filename="../main/MainWindow.cpp" line="4383"/>
         <source>Failed to generate layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4128"/>
-        <source>&lt;b&gt;Layer generation failed&lt;/b&gt;&lt;p&gt;Failed to generate derived layer.&lt;p&gt;The layer transform &quot;%1&quot; failed:&lt;p&gt;%2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="4135"/>
-        <source>&lt;b&gt;Layer generation failed&lt;/b&gt;&lt;p&gt;Failed to generate a derived layer.&lt;p&gt;The layer transform &quot;%1&quot; failed.&lt;p&gt;No error information is available.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="4147"/>
-        <location filename="../main/MainWindow.cpp" line="4181"/>
+        <location filename="../main/MainWindow.cpp" line="4396"/>
+        <location filename="../main/MainWindow.cpp" line="4431"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4160"/>
-        <location filename="../main/MainWindow.cpp" line="4167"/>
+        <location filename="../main/MainWindow.cpp" line="4409"/>
+        <location filename="../main/MainWindow.cpp" line="4416"/>
         <source>Failed to regenerate layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4161"/>
+        <location filename="../main/MainWindow.cpp" line="4410"/>
         <source>&lt;b&gt;Layer generation failed&lt;/b&gt;&lt;p&gt;Failed to regenerate derived layer &quot;%1&quot; using new data model as input.&lt;p&gt;The layer transform &quot;%2&quot; failed:&lt;p&gt;%3</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4168"/>
+        <location filename="../main/MainWindow.cpp" line="4417"/>
         <source>&lt;b&gt;Layer generation failed&lt;/b&gt;&lt;p&gt;Failed to regenerate derived layer &quot;%1&quot; using new data model as input.&lt;p&gt;The layer transform &quot;%2&quot; failed.&lt;p&gt;No error information is available.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4181"/>
+        <location filename="../main/MainWindow.cpp" line="4431"/>
         <source>&lt;b&gt;Warning when regenerating layer&lt;/b&gt;&lt;p&gt;When regenerating the derived layer &quot;%1&quot; using new data model as input:&lt;p&gt;%2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4191"/>
+        <location filename="../main/MainWindow.cpp" line="4441"/>
         <source>Failed to calculate alignment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4192"/>
+        <location filename="../main/MainWindow.cpp" line="4442"/>
         <source>&lt;b&gt;Alignment calculation failed&lt;/b&gt;&lt;p&gt;Failed to calculate an audio alignment using transform &quot;%1&quot;:&lt;p&gt;%2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4265"/>
+        <location filename="../main/MainWindow.cpp" line="4522"/>
         <source>Adjust the master playback level</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4267"/>
+        <location filename="../main/MainWindow.cpp" line="4524"/>
         <source>Adjust the master playback speed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4280"/>
+        <location filename="../main/MainWindow.cpp" line="4537"/>
         <source>http://www.sonicvisualiser.org/</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4300"/>
+        <location filename="../main/MainWindow.cpp" line="4557"/>
         <source>Release %1 : Revision %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4302"/>
+        <location filename="../main/MainWindow.cpp" line="4559"/>
         <source>Release %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4306"/>
+        <location filename="../main/MainWindow.cpp" line="4563"/>
         <source>Unreleased : Revision %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4312"/>
+        <location filename="../main/MainWindow.cpp" line="4569"/>
         <source>&lt;h3&gt;About Sonic Visualiser&lt;/h3&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4313"/>
+        <location filename="../main/MainWindow.cpp" line="4570"/>
         <source>&lt;p&gt;Sonic Visualiser is a program for viewing and exploring audio data for semantic music analysis and annotation.&lt;br&gt;&lt;a href=&quot;http://www.sonicvisualiser.org/&quot;&gt;http://www.sonicvisualiser.org/&lt;/a&gt;&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4314"/>
+        <location filename="../main/MainWindow.cpp" line="4571"/>
         <source>&lt;p&gt;&lt;small&gt;%1 : %2 configuration&lt;/small&gt;&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4316"/>
+        <location filename="../main/MainWindow.cpp" line="4573"/>
         <source>Debug</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4316"/>
+        <location filename="../main/MainWindow.cpp" line="4573"/>
         <source>Release</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4320"/>
+        <location filename="../main/MainWindow.cpp" line="4577"/>
         <source>With Qt v%1 &amp;copy; Nokia Corporation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4324"/>
+        <location filename="../main/MainWindow.cpp" line="4581"/>
         <source>&lt;br&gt;With JACK audio output library v%1 &amp;copy; Paul Davis and Jack O&apos;Quin</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4326"/>
+        <location filename="../main/MainWindow.cpp" line="4583"/>
         <source>&lt;br&gt;With JACK audio output library &amp;copy; Paul Davis and Jack O&apos;Quin</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4330"/>
+        <location filename="../main/MainWindow.cpp" line="4587"/>
         <source>&lt;br&gt;With PortAudio audio output library &amp;copy; Ross Bencina and Phil Burk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4334"/>
+        <location filename="../main/MainWindow.cpp" line="4591"/>
         <source>&lt;br&gt;With PulseAudio audio output library v%1 &amp;copy; Lennart Poettering and Pierre Ossman</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4336"/>
+        <location filename="../main/MainWindow.cpp" line="4593"/>
         <source>&lt;br&gt;With PulseAudio audio output library &amp;copy; Lennart Poettering and Pierre Ossman</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4341"/>
+        <location filename="../main/MainWindow.cpp" line="4598"/>
         <source>&lt;br&gt;With Ogg file decoder (oggz v%1, fishsound v%2) &amp;copy; CSIRO Australia</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4343"/>
+        <location filename="../main/MainWindow.cpp" line="4600"/>
         <source>&lt;br&gt;With Ogg file decoder &amp;copy; CSIRO Australia</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4348"/>
+        <location filename="../main/MainWindow.cpp" line="4605"/>
         <source>&lt;br&gt;With MAD mp3 decoder v%1 &amp;copy; Underbit Technologies Inc</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4350"/>
+        <location filename="../main/MainWindow.cpp" line="4607"/>
         <source>&lt;br&gt;With MAD mp3 decoder &amp;copy; Underbit Technologies Inc</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4355"/>
+        <location filename="../main/MainWindow.cpp" line="4612"/>
         <source>&lt;br&gt;With libsamplerate v%1 &amp;copy; Erik de Castro Lopo</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4357"/>
+        <location filename="../main/MainWindow.cpp" line="4614"/>
         <source>&lt;br&gt;With libsamplerate &amp;copy; Erik de Castro Lopo</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4362"/>
+        <location filename="../main/MainWindow.cpp" line="4619"/>
         <source>&lt;br&gt;With libsndfile v%1 &amp;copy; Erik de Castro Lopo</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4364"/>
+        <location filename="../main/MainWindow.cpp" line="4621"/>
         <source>&lt;br&gt;With libsndfile &amp;copy; Erik de Castro Lopo</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4369"/>
+        <location filename="../main/MainWindow.cpp" line="4626"/>
         <source>&lt;br&gt;With FFTW3 v%1 &amp;copy; Matteo Frigo and MIT</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4371"/>
+        <location filename="../main/MainWindow.cpp" line="4628"/>
         <source>&lt;br&gt;With FFTW3 &amp;copy; Matteo Frigo and MIT</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4376"/>
+        <location filename="../main/MainWindow.cpp" line="4633"/>
         <source>&lt;br&gt;With Rubber Band v%1 &amp;copy; Chris Cannam</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4378"/>
+        <location filename="../main/MainWindow.cpp" line="4635"/>
         <source>&lt;br&gt;With Rubber Band &amp;copy; Chris Cannam</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4382"/>
+        <location filename="../main/MainWindow.cpp" line="4639"/>
         <source>&lt;br&gt;With Vamp plugin support (API v%1, host SDK v%2) &amp;copy; Chris Cannam</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4384"/>
+        <location filename="../main/MainWindow.cpp" line="4641"/>
         <source>&lt;br&gt;With LADSPA plugin support (API v%1) &amp;copy; Richard Furse, Paul Davis, Stefan Westerfeld</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4385"/>
+        <location filename="../main/MainWindow.cpp" line="4642"/>
         <source>&lt;br&gt;With DSSI plugin support (API v%1) &amp;copy; Chris Cannam, Steve Harris, Sean Bolton</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4387"/>
+        <location filename="../main/MainWindow.cpp" line="4644"/>
         <source>&lt;br&gt;With Redland RDF datastore v%1 &amp;copy; Dave Beckett and the University of Bristol</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4389"/>
+        <location filename="../main/MainWindow.cpp" line="4646"/>
         <source>&lt;br&gt;With Redland RDF datastore &amp;copy; Dave Beckett and the University of Bristol</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4394"/>
+        <location filename="../main/MainWindow.cpp" line="4651"/>
         <source>&lt;br&gt;With RtMidi &amp;copy; Gary P. Scavone</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4398"/>
+        <location filename="../main/MainWindow.cpp" line="4655"/>
         <source>&lt;br&gt;With liblo Lite OSC library v%1 &amp;copy; Steve Harris</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4400"/>
+        <location filename="../main/MainWindow.cpp" line="4657"/>
         <source>&lt;br&gt;With liblo Lite OSC library &amp;copy; Steve Harris</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4404"/>
+        <location filename="../main/MainWindow.cpp" line="4661"/>
         <source>&lt;/small&gt;&lt;p&gt;&lt;small&gt;The OSC URL for this instance is: &quot;%1&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4411"/>
+        <location filename="../main/MainWindow.cpp" line="4668"/>
         <source>With </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4411"/>
+        <location filename="../main/MainWindow.cpp" line="4668"/>
         <source>Using </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4423"/>
+        <location filename="../main/MainWindow.cpp" line="4680"/>
         <source>About Sonic Visualiser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/OSCHandler.cpp" line="318"/>
+        <location filename="../main/OSCHandler.cpp" line="319"/>
         <source>Add %1 Pane</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3973,208 +4480,215 @@
 <context>
     <name>MainWindowBase</name>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="481"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="645"/>
         <source>%1 (modified)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="496"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="660"/>
         <source> (modified)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="694"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="858"/>
         <source>Cut</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="765"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="929"/>
         <source>Paste</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="869"/>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="892"/>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="982"/>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1001"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1035"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1058"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1148"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1167"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1186"/>
         <source>Add Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="923"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1089"/>
         <source>Add Point at %1 s</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="966"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1132"/>
         <source>Add Item at %1 s</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1042"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1227"/>
         <source>Opening file or URL...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1169"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1366"/>
         <source>Select target for import</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1268"/>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1687"/>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1814"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1468"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1892"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2022"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2763"/>
         <source>%1: %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1275"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1475"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2770"/>
         <source>%1: %2 [%3]</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1290"/>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1331"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1490"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1531"/>
         <source>Import &quot;%1&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1385"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1587"/>
         <source>Opening playlist...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1831"/>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1855"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2041"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2065"/>
         <source>Importing from RDF...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1590"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1792"/>
         <source>Opening session...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1163"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1360"/>
         <source>Close the current session and start a new one</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1164"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1361"/>
         <source>Replace the main audio file in this session</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1165"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1362"/>
         <source>Add the audio file to this session</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1170"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1367"/>
         <source>&lt;b&gt;Select a target for import&lt;/b&gt;&lt;p&gt;You already have an audio file loaded.&lt;br&gt;What would you like to do with the new audio file?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1249"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1449"/>
         <source>Import audio file &quot;%1&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1471"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1673"/>
         <source>Import layer XML file &quot;%1&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1505"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1707"/>
         <source>Import MIDI file &quot;%1&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1672"/>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1770"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1877"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1976"/>
         <source>SV XML file read error:
 %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1685"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1890"/>
         <source>Import session file &quot;%1&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1782"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1988"/>
         <source>Open session template &quot;%1&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1846"/>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1859"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2056"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2069"/>
         <source>Failed to import RDF</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1847"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2057"/>
         <source>&lt;b&gt;Failed to import RDF&lt;/b&gt;&lt;p&gt;Importing data from RDF document at &quot;%1&quot; failed: %2&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1860"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2070"/>
         <source>&lt;b&gt;Failed to import RDF&lt;/b&gt;&lt;p&gt;No suitable data models found for import from RDF document at &quot;%1&quot;&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1864"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2074"/>
         <source>Import RDF document &quot;%1&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1992"/>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1997"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2217"/>
         <source>Couldn&apos;t open audio device</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1993"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2218"/>
         <source>&lt;b&gt;No audio available&lt;/b&gt;&lt;p&gt;Could not open an audio device for playback.&lt;p&gt;Automatic audio device detection failed. Audio playback will not be available during this session.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1998"/>
-        <source>&lt;b&gt;No audio available&lt;/b&gt;&lt;p&gt;Failed to open your preferred audio device (&quot;%1&quot;).&lt;p&gt;Audio playback will not be available during this session.&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="2079"/>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="2092"/>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="2129"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="3392"/>
+        <source>Recording: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2308"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2321"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2359"/>
         <source>Failed to write file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="2080"/>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="2093"/>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="2130"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2309"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2322"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2360"/>
         <source>&lt;b&gt;Save failed&lt;/b&gt;&lt;p&gt;Failed to write to file &quot;%1&quot;: %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="2678"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2783"/>
+        <source>Import Recorded Audio</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="3075"/>
         <source>Add Pane</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="2723"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="3121"/>
         <source>Remove Pane</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="2746"/>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="3127"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="3144"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="3561"/>
         <source>Delete Pane</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="2960"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="3380"/>
         <source>Playing: %1 of %2 (%3 remaining)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4182,77 +4696,77 @@
 <context>
     <name>ModelDataTableDialog</name>
     <message>
-        <location filename="../../svgui/widgets/ModelDataTableDialog.cpp" line="45"/>
+        <location filename="../svgui/widgets/ModelDataTableDialog.cpp" line="45"/>
         <source>Data Editor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ModelDataTableDialog.cpp" line="49"/>
+        <location filename="../svgui/widgets/ModelDataTableDialog.cpp" line="49"/>
         <source>Playback Toolbar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ModelDataTableDialog.cpp" line="51"/>
+        <location filename="../svgui/widgets/ModelDataTableDialog.cpp" line="51"/>
         <source>Play Mode Toolbar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ModelDataTableDialog.cpp" line="55"/>
+        <location filename="../svgui/widgets/ModelDataTableDialog.cpp" line="55"/>
         <source>Track Playback</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ModelDataTableDialog.cpp" line="56"/>
+        <location filename="../svgui/widgets/ModelDataTableDialog.cpp" line="56"/>
         <source>Toggle tracking of playback position</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ModelDataTableDialog.cpp" line="62"/>
+        <location filename="../svgui/widgets/ModelDataTableDialog.cpp" line="62"/>
         <source>Edit Toolbar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ModelDataTableDialog.cpp" line="64"/>
+        <location filename="../svgui/widgets/ModelDataTableDialog.cpp" line="64"/>
         <source>Insert New Item</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ModelDataTableDialog.cpp" line="65"/>
+        <location filename="../svgui/widgets/ModelDataTableDialog.cpp" line="65"/>
         <source>Insert</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ModelDataTableDialog.cpp" line="66"/>
+        <location filename="../svgui/widgets/ModelDataTableDialog.cpp" line="66"/>
         <source>Insert a new item</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ModelDataTableDialog.cpp" line="70"/>
+        <location filename="../svgui/widgets/ModelDataTableDialog.cpp" line="70"/>
         <source>Delete Selected Items</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ModelDataTableDialog.cpp" line="71"/>
+        <location filename="../svgui/widgets/ModelDataTableDialog.cpp" line="71"/>
         <source>Delete</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ModelDataTableDialog.cpp" line="72"/>
+        <location filename="../svgui/widgets/ModelDataTableDialog.cpp" line="72"/>
         <source>Delete the selected item or items</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ModelDataTableDialog.cpp" line="96"/>
+        <location filename="../svgui/widgets/ModelDataTableDialog.cpp" line="96"/>
         <source>Data in Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ModelDataTableDialog.cpp" line="107"/>
+        <location filename="../svgui/widgets/ModelDataTableDialog.cpp" line="107"/>
         <source>Find:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ModelDataTableDialog.cpp" line="108"/>
+        <location filename="../svgui/widgets/ModelDataTableDialog.cpp" line="108"/>
         <source> </source>
         <translation type="unfinished"></translation>
     </message>
@@ -4260,22 +4774,22 @@
 <context>
     <name>ModelMetadataModel</name>
     <message>
-        <location filename="../../svgui/widgets/LayerTree.cpp" line="227"/>
+        <location filename="../svgui/widgets/LayerTree.cpp" line="227"/>
         <source>Type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/LayerTree.cpp" line="228"/>
+        <location filename="../svgui/widgets/LayerTree.cpp" line="228"/>
         <source>Name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/LayerTree.cpp" line="229"/>
+        <location filename="../svgui/widgets/LayerTree.cpp" line="229"/>
         <source>Maker</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/LayerTree.cpp" line="230"/>
+        <location filename="../svgui/widgets/LayerTree.cpp" line="230"/>
         <source>Source</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4283,88 +4797,106 @@
 <context>
     <name>ModelTransformerFactory</name>
     <message>
-        <location filename="../../svcore/transform/ModelTransformerFactory.cpp" line="76"/>
+        <location filename="../svcore/transform/ModelTransformerFactory.cpp" line="78"/>
         <source>%1 &lt;%2&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/ModelTransformerFactory.cpp" line="217"/>
+        <location filename="../svcore/transform/ModelTransformerFactory.cpp" line="239"/>
         <source>%1: %2</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
+    <name>NetworkPermissionTester</name>
+    <message>
+        <location filename="../main/NetworkPermissionTester.cpp" line="44"/>
+        <source>Welcome to Sonic Visualiser</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/NetworkPermissionTester.cpp" line="53"/>
+        <source>&lt;h2&gt;Welcome to Sonic Visualiser!&lt;/h2&gt;&lt;p&gt;&lt;img src=&quot;:icons/qm-logo-smaller.png&quot; style=&quot;float:right&quot;&gt;Sonic Visualiser is a program for viewing and exploring audio data for semantic music analysis and annotation.&lt;/p&gt;&lt;p&gt;Developed in the Centre for Digital Music at Queen Mary, University of London, Sonic Visualiser is provided free as open source software under the GNU General Public License.&lt;/p&gt;&lt;p&gt;&lt;hr&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Before we go on...&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Sonic Visualiser would like to make networking connections and open a network port.&lt;/p&gt;&lt;p&gt;This is to:&lt;/p&gt;&lt;ul&gt;&lt;li&gt; Find information about available and installed plugins;&lt;/li&gt;&lt;li&gt; Support the use of Open Sound Control, where configured; and&lt;/li&gt;&lt;li&gt; Tell you when updates are available.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;No personal information will be sent, no tracking is carried out, and all requests happen in the background without interrupting your work.&lt;/p&gt;&lt;p&gt;We recommend that you allow this, because it makes Sonic Visualiser more useful. But if you do not wish to do so, please un-check the box below.&lt;br&gt;&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/NetworkPermissionTester.cpp" line="69"/>
+        <source>Allow this</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>NoteLayer</name>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="45"/>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="46"/>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="807"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="56"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="57"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="897"/>
         <source>New Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="83"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="94"/>
         <source>Vertical Scale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="84"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="95"/>
         <source>Scale Units</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="100"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="111"/>
         <source>Scale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="142"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="160"/>
         <source>Auto-Align</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="143"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="161"/>
         <source>Linear</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="144"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="162"/>
         <source>Log</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="145"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="163"/>
         <source>MIDI Notes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="447"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="473"/>
         <source>In progress</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="449"/>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="472"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="475"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="498"/>
         <source>No local points</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="486"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="512"/>
         <source>%1 (%2, %3 Hz)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="493"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="519"/>
         <source>%1 Hz (%2, %3)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="499"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="525"/>
         <source>%1 %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="506"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="532"/>
         <source>Time:	%1
 Pitch:	%2
 Duration:	%3
@@ -4372,7 +4904,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="511"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="537"/>
         <source>Time:	%1
 Pitch:	%2
 Duration:	%3
@@ -4380,68 +4912,68 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="812"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="902"/>
         <source>Draw Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="888"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="978"/>
         <source>Erase Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="940"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="1030"/>
         <source>Drag Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="961"/>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="1009"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="1051"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="1099"/>
         <source>Edit Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="963"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="1053"/>
         <source>Relocate Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="966"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="1056"/>
         <source>Change Point Value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="1025"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="1115"/>
         <source>Drag Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="1050"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="1140"/>
         <source>Resize Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="1089"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="1179"/>
         <source>Delete Selected Points</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="1135"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="1225"/>
         <source>Re-align pasted items?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="1136"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="1226"/>
         <source>The items you are pasting came from a layer with different source material from this one.  Do you want to re-align them in time, to match the source material for this layer?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="1150"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="1240"/>
         <source>Paste</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="1221"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="1311"/>
         <source>Record Note</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4449,47 +4981,47 @@
 <context>
     <name>NoteModel</name>
     <message>
-        <location filename="../../svcore/data/model/NoteModel.h" line="126"/>
+        <location filename="../svcore/data/model/NoteModel.h" line="129"/>
         <source>Note</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/NoteModel.h" line="166"/>
+        <location filename="../svcore/data/model/NoteModel.h" line="164"/>
         <source>Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/NoteModel.h" line="167"/>
+        <location filename="../svcore/data/model/NoteModel.h" line="165"/>
         <source>Frame</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/NoteModel.h" line="168"/>
+        <location filename="../svcore/data/model/NoteModel.h" line="166"/>
         <source>Pitch</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/NoteModel.h" line="169"/>
+        <location filename="../svcore/data/model/NoteModel.h" line="167"/>
         <source>Duration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/NoteModel.h" line="170"/>
+        <location filename="../svcore/data/model/NoteModel.h" line="168"/>
         <source>Level</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/NoteModel.h" line="171"/>
+        <location filename="../svcore/data/model/NoteModel.h" line="169"/>
         <source>Label</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/NoteModel.h" line="172"/>
+        <location filename="../svcore/data/model/NoteModel.h" line="170"/>
         <source>Unknown</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/NoteModel.h" line="202"/>
+        <location filename="../svcore/data/model/NoteModel.h" line="200"/>
         <source>Edit Data</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4497,7 +5029,7 @@
 <context>
     <name>OggVorbisFileReader</name>
     <message>
-        <location filename="../../svcore/data/fileio/OggVorbisFileReader.cpp" line="76"/>
+        <location filename="../svcore/data/fileio/OggVorbisFileReader.cpp" line="77"/>
         <source>Decoding %1...</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4505,12 +5037,12 @@
 <context>
     <name>Overview</name>
     <message>
-        <location filename="../../svgui/view/Overview.cpp" line="32"/>
+        <location filename="../svgui/view/Overview.cpp" line="33"/>
         <source>Overview</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Overview.cpp" line="278"/>
+        <location filename="../svgui/view/Overview.cpp" line="362"/>
         <source>Click and drag to navigate; double-click to jump</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4518,465 +5050,300 @@
 <context>
     <name>Pane</name>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="128"/>
+        <location filename="../svgui/view/Pane.cpp" line="141"/>
         <source>Horizontal Zoom</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="154"/>
+        <location filename="../svgui/view/Pane.cpp" line="167"/>
         <source>Vertical Zoom</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="175"/>
+        <location filename="../svgui/view/Pane.cpp" line="188"/>
         <source>Reset zoom to default</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="657"/>
+        <location filename="../svgui/view/Pane.cpp" line="675"/>
         <source>Some lengthy prefix:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="787"/>
+        <location filename="../svgui/view/Pane.cpp" line="836"/>
         <source>Reference</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="789"/>
-        <location filename="../../svgui/view/Pane.cpp" line="793"/>
+        <location filename="../svgui/view/Pane.cpp" line="838"/>
+        <location filename="../svgui/view/Pane.cpp" line="842"/>
         <source>Unaligned</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="795"/>
+        <location filename="../svgui/view/Pane.cpp" line="844"/>
         <source>Aligning: %1%</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="797"/>
+        <location filename="../svgui/view/Pane.cpp" line="846"/>
         <source>Aligned</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="839"/>
+        <location filename="../svgui/view/Pane.cpp" line="888"/>
         <source>%1 - %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="949"/>
-        <location filename="../../svgui/view/Pane.cpp" line="965"/>
+        <location filename="../svgui/view/Pane.cpp" line="998"/>
+        <location filename="../svgui/view/Pane.cpp" line="1014"/>
         <source>+%1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1015"/>
+        <location filename="../svgui/view/Pane.cpp" line="1064"/>
         <source>(R)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1018"/>
+        <location filename="../svgui/view/Pane.cpp" line="1067"/>
         <source>(X)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1022"/>
+        <location filename="../svgui/view/Pane.cpp" line="1071"/>
         <source>%1 / %2Hz%3</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1209"/>
-        <location filename="../../svgui/view/Pane.cpp" line="1215"/>
+        <location filename="../svgui/view/Pane.cpp" line="1255"/>
+        <location filename="../svgui/view/Pane.cpp" line="1261"/>
         <source>Zoom</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1210"/>
+        <location filename="../svgui/view/Pane.cpp" line="1256"/>
         <source>Zoom In</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1210"/>
+        <location filename="../svgui/view/Pane.cpp" line="1256"/>
         <source>Wheel Up</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1211"/>
+        <location filename="../svgui/view/Pane.cpp" line="1257"/>
         <source>Zoom Out</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1211"/>
+        <location filename="../svgui/view/Pane.cpp" line="1257"/>
         <source>Wheel Down</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1213"/>
+        <location filename="../svgui/view/Pane.cpp" line="1259"/>
         <source>General Pane Mouse Actions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1215"/>
+        <location filename="../svgui/view/Pane.cpp" line="1261"/>
         <source>Wheel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1216"/>
+        <location filename="../svgui/view/Pane.cpp" line="1262"/>
         <source>Zoom in or out in time axis</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1217"/>
+        <location filename="../svgui/view/Pane.cpp" line="1263"/>
         <source>Scroll</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1217"/>
+        <location filename="../svgui/view/Pane.cpp" line="1263"/>
         <source>Ctrl+Wheel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1218"/>
+        <location filename="../svgui/view/Pane.cpp" line="1264"/>
         <source>Scroll rapidly left or right in time axis</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1219"/>
+        <location filename="../svgui/view/Pane.cpp" line="1265"/>
         <source>Zoom Vertically</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1219"/>
+        <location filename="../svgui/view/Pane.cpp" line="1265"/>
         <source>Shift+Wheel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1220"/>
+        <location filename="../svgui/view/Pane.cpp" line="1266"/>
         <source>Zoom in or out in the vertical axis</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1221"/>
+        <location filename="../svgui/view/Pane.cpp" line="1267"/>
         <source>Scroll Vertically</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1221"/>
+        <location filename="../svgui/view/Pane.cpp" line="1267"/>
         <source>Alt+Wheel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1222"/>
+        <location filename="../svgui/view/Pane.cpp" line="1268"/>
         <source>Scroll up or down in the vertical axis</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1223"/>
-        <location filename="../../svgui/view/Pane.cpp" line="1232"/>
+        <location filename="../svgui/view/Pane.cpp" line="1269"/>
         <source>Navigate</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1223"/>
+        <location filename="../svgui/view/Pane.cpp" line="1269"/>
         <source>Middle</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1224"/>
+        <location filename="../svgui/view/Pane.cpp" line="1270"/>
         <source>Click middle button and drag to navigate with any tool</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1225"/>
-        <location filename="../../svgui/view/Pane.cpp" line="1236"/>
+        <location filename="../svgui/view/Pane.cpp" line="1271"/>
         <source>Relocate</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1225"/>
+        <location filename="../svgui/view/Pane.cpp" line="1271"/>
         <source>Double-Click Middle</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1226"/>
+        <location filename="../svgui/view/Pane.cpp" line="1272"/>
         <source>Double-click middle button to relocate with any tool</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1227"/>
+        <location filename="../svgui/view/Pane.cpp" line="1273"/>
         <source>Menu</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1227"/>
+        <location filename="../svgui/view/Pane.cpp" line="1273"/>
         <source>Right</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1228"/>
+        <location filename="../svgui/view/Pane.cpp" line="1274"/>
         <source>Show pane context menu</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1230"/>
-        <source>Navigate Tool Mouse Actions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1232"/>
-        <location filename="../../svgui/view/Pane.cpp" line="1242"/>
-        <location filename="../../svgui/view/Pane.cpp" line="1254"/>
-        <location filename="../../svgui/view/Pane.cpp" line="1260"/>
-        <location filename="../../svgui/view/Pane.cpp" line="1264"/>
-        <source>Left</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1233"/>
-        <source>Click left button and drag to move around</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1234"/>
-        <location filename="../../svgui/view/Pane.cpp" line="1268"/>
-        <source>Zoom to Area</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1234"/>
-        <location filename="../../svgui/view/Pane.cpp" line="1250"/>
-        <location filename="../../svgui/view/Pane.cpp" line="1268"/>
-        <source>Shift+Left</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1235"/>
-        <location filename="../../svgui/view/Pane.cpp" line="1269"/>
-        <source>Shift-click left button and drag to zoom to a rectangular area</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1236"/>
-        <location filename="../../svgui/view/Pane.cpp" line="1238"/>
-        <location filename="../../svgui/view/Pane.cpp" line="1256"/>
-        <location filename="../../svgui/view/Pane.cpp" line="1266"/>
-        <source>Double-Click Left</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1237"/>
-        <source>Double-click left button to jump to clicked location</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1238"/>
-        <location filename="../../svgui/view/Pane.cpp" line="1256"/>
-        <source>Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1239"/>
-        <location filename="../../svgui/view/Pane.cpp" line="1257"/>
-        <source>Double-click left button on an item to edit it</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1241"/>
-        <source>Select Tool Mouse Actions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1242"/>
-        <source>Select</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1243"/>
-        <source>Click left button and drag to select region; drag region edge to resize</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1244"/>
-        <source>Multi Select</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1244"/>
-        <source>Ctrl+Left</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1246"/>
-        <source>Cmd-click left button and drag to select an additional region</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1248"/>
-        <source>Ctrl-click left button and drag to select an additional region</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1250"/>
-        <source>Fine Select</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1251"/>
-        <source>Shift-click left button and drag to select without snapping to items or grid</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1253"/>
-        <source>Edit Tool Mouse Actions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1254"/>
-        <source>Move</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1255"/>
-        <source>Click left button on an item or selected region and drag to move</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1259"/>
-        <source>Draw Tool Mouse Actions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1260"/>
-        <source>Draw</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1261"/>
-        <source>Click left button and drag to create new item</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1263"/>
-        <source>Measure Tool Mouse Actions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1264"/>
-        <source>Measure Area</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1265"/>
-        <source>Click left button and drag to measure a rectangular area</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1266"/>
-        <source>Measure Item</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1267"/>
-        <source>Click left button and drag to measure extents of an item or shape</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2234"/>
+        <location filename="../svgui/view/Pane.cpp" line="2508"/>
         <source>Enter new range</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2235"/>
+        <location filename="../svgui/view/Pane.cpp" line="2509"/>
         <source>New vertical display range, from %1 to %2 %4:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2354"/>
+        <location filename="../svgui/view/Pane.cpp" line="2631"/>
         <source>Drag Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2361"/>
+        <location filename="../svgui/view/Pane.cpp" line="2638"/>
         <source>Resize Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2520"/>
+        <location filename="../svgui/view/Pane.cpp" line="2802"/>
         <source>Click and drag to navigate</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2531"/>
+        <location filename="../svgui/view/Pane.cpp" line="2813"/>
         <source>Click and drag to select a range; hold Shift to avoid snapping to items; hold Cmd for multi-select; middle-click and drag to navigate</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2533"/>
+        <location filename="../svgui/view/Pane.cpp" line="2815"/>
         <source>Click and drag to select a range; hold Cmd for multi-select; middle-click and drag to navigate</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2537"/>
+        <location filename="../svgui/view/Pane.cpp" line="2819"/>
         <source>Click and drag to select a range; hold Shift to avoid snapping to items; hold Ctrl for multi-select; middle-click and drag to navigate</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2539"/>
+        <location filename="../svgui/view/Pane.cpp" line="2821"/>
         <source>Click and drag to select a range; hold Ctrl for multi-select; middle-click and drag to navigate</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2548"/>
+        <location filename="../svgui/view/Pane.cpp" line="2830"/>
         <source>Click and drag to move the selection boundary</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2553"/>
+        <location filename="../svgui/view/Pane.cpp" line="2835"/>
         <source>Click and drag to select a range; hold Shift to avoid snapping to items; middle-click to navigate</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2555"/>
+        <location filename="../svgui/view/Pane.cpp" line="2837"/>
         <source>Click and drag to select a range; middle-click and drag to navigate</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2563"/>
+        <location filename="../svgui/view/Pane.cpp" line="2845"/>
         <source>Click to add a new item in the active layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2570"/>
+        <location filename="../svgui/view/Pane.cpp" line="2852"/>
         <source>Click to erase an item from the active layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2577"/>
+        <location filename="../svgui/view/Pane.cpp" line="2859"/>
         <source>Click and drag an item in the active layer to move it; hold Shift to override initial resistance</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2582"/>
+        <location filename="../svgui/view/Pane.cpp" line="2864"/>
         <source>Click and drag to move all items in the selected range</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2598"/>
+        <location filename="../svgui/view/Pane.cpp" line="2880"/>
         <source>Click and drag to adjust the visible range of the vertical scale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2600"/>
+        <location filename="../svgui/view/Pane.cpp" line="2882"/>
         <source>Click and drag to adjust the vertical zoom level</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2602"/>
+        <location filename="../svgui/view/Pane.cpp" line="2884"/>
         <source>Click and drag to adjust the horizontal zoom level</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2604"/>
+        <location filename="../svgui/view/Pane.cpp" line="2886"/>
         <source>Reset horizontal and vertical zoom levels to their defaults</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4984,45 +5351,40 @@
 <context>
     <name>PlayParameterRepository</name>
     <message>
-        <location filename="../../svcore/base/PlayParameterRepository.cpp" line="206"/>
+        <location filename="../svcore/base/PlayParameterRepository.cpp" line="182"/>
         <source>Adjust Playback Parameters</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/PlayParameterRepository.cpp" line="211"/>
+        <location filename="../svcore/base/PlayParameterRepository.cpp" line="187"/>
         <source>Change Playback Mute State</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/PlayParameterRepository.cpp" line="216"/>
+        <location filename="../svcore/base/PlayParameterRepository.cpp" line="192"/>
         <source>Change Playback Gain</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/PlayParameterRepository.cpp" line="221"/>
+        <location filename="../svcore/base/PlayParameterRepository.cpp" line="197"/>
         <source>Change Playback Pan</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/PlayParameterRepository.cpp" line="226"/>
-        <source>Change Playback Plugin</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svcore/base/PlayParameterRepository.cpp" line="231"/>
-        <source>Configure Playback Plugin</source>
+        <location filename="../svcore/base/PlayParameterRepository.cpp" line="202"/>
+        <source>Change Playback Sample</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>PluginParameterBox</name>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterBox.cpp" line="61"/>
+        <location filename="../svgui/widgets/PluginParameterBox.cpp" line="61"/>
         <source>This plugin has no adjustable parameters.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterBox.cpp" line="82"/>
+        <location filename="../svgui/widgets/PluginParameterBox.cpp" line="82"/>
         <source>Program</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5030,127 +5392,127 @@
 <context>
     <name>PluginParameterDialog</name>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="54"/>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="191"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="56"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="193"/>
         <source>Plugin Parameters</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="102"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="104"/>
         <source>Name:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="125"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="127"/>
         <source>Version:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="138"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="140"/>
         <source>Maker:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="144"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="146"/>
         <source>Copyright:  </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="156"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="158"/>
         <source>Output:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="175"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="177"/>
         <source>Input Material</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="184"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="186"/>
         <source>Restrict to selection extents</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="217"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="219"/>
         <source>Channels</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="223"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="225"/>
         <source>Processing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="233"/>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="604"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="235"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="606"/>
         <source>Advanced &gt;&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="322"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="324"/>
         <source>Channel mismatch</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="323"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="325"/>
         <source>This plugin requires at least %1 input channels, but only %2 %3 available.  The plugin probably will not work correctly.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="323"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="325"/>
         <source>are</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="323"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="325"/>
         <source>is</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="340"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="342"/>
         <source>This plugin accepts no more than %1 input channels,
 but %2 are available.  Only the first %3 will be used.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="347"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="349"/>
         <source>This plugin only has a single channel input,
 but the source has %1 channels.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="350"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="352"/>
         <source>Use mean of source channels</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="352"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="354"/>
         <source>Use channel %1 only</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="404"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="406"/>
         <source>Window size:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="406"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="408"/>
         <source>Audio frames per block:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="431"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="433"/>
         <source>Window increment:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="455"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="457"/>
         <source>Window shape:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="599"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="601"/>
         <source>Advanced &lt;&lt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5158,214 +5520,254 @@
 <context>
     <name>Preferences</name>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="106"/>
+        <location filename="../svcore/base/Preferences.cpp" line="118"/>
         <source>Spectrogram y-axis interpolation:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="109"/>
+        <location filename="../svcore/base/Preferences.cpp" line="121"/>
         <source>Spectrogram x-axis interpolation:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="112"/>
+        <location filename="../svcore/base/Preferences.cpp" line="124"/>
         <source>Frequency of concert A</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="115"/>
+        <location filename="../svcore/base/Preferences.cpp" line="127"/>
         <source>Property box layout</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="118"/>
+        <location filename="../svcore/base/Preferences.cpp" line="130"/>
         <source>Spectral analysis window shape</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="121"/>
+        <location filename="../svcore/base/Preferences.cpp" line="133"/>
         <source>Playback resampler type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="124"/>
+        <location filename="../svcore/base/Preferences.cpp" line="136"/>
+        <source>Normalise audio signal when reading from audio file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/base/Preferences.cpp" line="139"/>
         <source>Omit temporaries from Recent Files menu</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="127"/>
+        <location filename="../svcore/base/Preferences.cpp" line="142"/>
         <source>Resample mismatching files on import</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="130"/>
+        <location filename="../svcore/base/Preferences.cpp" line="145"/>
+        <source>Single fixed sample rate to resample all files to</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/base/Preferences.cpp" line="148"/>
         <source>Location for cache file directory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="133"/>
+        <location filename="../svcore/base/Preferences.cpp" line="151"/>
         <source>Background colour preference</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="136"/>
-        <source>Time display format</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="139"/>
+        <location filename="../svcore/base/Preferences.cpp" line="154"/>
+        <source>Time display precision</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/base/Preferences.cpp" line="157"/>
+        <source>Use hours:minutes:seconds format</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/base/Preferences.cpp" line="160"/>
+        <source>Label middle C as</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/base/Preferences.cpp" line="163"/>
         <source>Font size for text overlays</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="142"/>
+        <location filename="../svcore/base/Preferences.cpp" line="166"/>
         <source>Show splash screen on startup</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="270"/>
+        <location filename="../svcore/base/Preferences.cpp" line="323"/>
         <source>Show boxes for all panes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="271"/>
+        <location filename="../svcore/base/Preferences.cpp" line="324"/>
         <source>Show box for current pane only</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="275"/>
+        <location filename="../svcore/base/Preferences.cpp" line="328"/>
         <source>Rectangular</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="276"/>
+        <location filename="../svcore/base/Preferences.cpp" line="329"/>
         <source>Triangular</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="277"/>
+        <location filename="../svcore/base/Preferences.cpp" line="330"/>
         <source>Hamming</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="278"/>
+        <location filename="../svcore/base/Preferences.cpp" line="331"/>
         <source>Hann</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="279"/>
+        <location filename="../svcore/base/Preferences.cpp" line="332"/>
         <source>Blackman</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="280"/>
+        <location filename="../svcore/base/Preferences.cpp" line="333"/>
         <source>Gaussian</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="281"/>
+        <location filename="../svcore/base/Preferences.cpp" line="334"/>
         <source>Parzen</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="282"/>
+        <location filename="../svcore/base/Preferences.cpp" line="335"/>
         <source>Nuttall</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="283"/>
+        <location filename="../svcore/base/Preferences.cpp" line="336"/>
         <source>Blackman-Harris</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="288"/>
+        <location filename="../svcore/base/Preferences.cpp" line="341"/>
         <source>Fastest</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="289"/>
+        <location filename="../svcore/base/Preferences.cpp" line="342"/>
         <source>Standard</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="290"/>
+        <location filename="../svcore/base/Preferences.cpp" line="343"/>
         <source>Highest quality</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="295"/>
-        <location filename="../../svcore/base/Preferences.cpp" line="303"/>
+        <location filename="../svcore/base/Preferences.cpp" line="348"/>
+        <location filename="../svcore/base/Preferences.cpp" line="356"/>
         <source>None</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="296"/>
-        <location filename="../../svcore/base/Preferences.cpp" line="304"/>
+        <location filename="../svcore/base/Preferences.cpp" line="349"/>
+        <location filename="../svcore/base/Preferences.cpp" line="357"/>
         <source>Linear interpolation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="297"/>
+        <location filename="../svcore/base/Preferences.cpp" line="350"/>
         <source>4 x Oversampling</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="298"/>
+        <location filename="../svcore/base/Preferences.cpp" line="351"/>
         <source>4 x Oversampling with interpolation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="309"/>
+        <location filename="../svcore/base/Preferences.cpp" line="362"/>
         <source>Follow desktop theme</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="310"/>
+        <location filename="../svcore/base/Preferences.cpp" line="363"/>
         <source>Dark background</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="311"/>
+        <location filename="../svcore/base/Preferences.cpp" line="364"/>
         <source>Light background</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="316"/>
+        <location filename="../svcore/base/Preferences.cpp" line="369"/>
         <source>Standard (to millisecond)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="317"/>
+        <location filename="../svcore/base/Preferences.cpp" line="370"/>
         <source>High resolution (to microsecond)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="318"/>
+        <location filename="../svcore/base/Preferences.cpp" line="371"/>
         <source>24 FPS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="319"/>
+        <location filename="../svcore/base/Preferences.cpp" line="372"/>
         <source>25 FPS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="320"/>
+        <location filename="../svcore/base/Preferences.cpp" line="373"/>
         <source>30 FPS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="321"/>
+        <location filename="../svcore/base/Preferences.cpp" line="374"/>
         <source>50 FPS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="322"/>
+        <location filename="../svcore/base/Preferences.cpp" line="375"/>
         <source>60 FPS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="332"/>
+        <location filename="../svcore/base/Preferences.cpp" line="380"/>
+        <source>C0 - middle of octave scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/base/Preferences.cpp" line="381"/>
+        <source>C3 - common MIDI sequencer convention</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/base/Preferences.cpp" line="382"/>
+        <source>C4 - ASA American standard</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/base/Preferences.cpp" line="383"/>
+        <source>C5 - used in Cakewalk and others</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/base/Preferences.cpp" line="393"/>
         <source>Preferences</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5373,132 +5775,155 @@
 <context>
     <name>PreferencesDialog</name>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="50"/>
+        <location filename="../main/PreferencesDialog.cpp" line="54"/>
         <source>Sonic Visualiser: Application Preferences</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="64"/>
+        <location filename="../main/PreferencesDialog.cpp" line="68"/>
         <source>Apply</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="179"/>
+        <location filename="../main/PreferencesDialog.cpp" line="223"/>
         <source>&lt;home directory&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="215"/>
+        <location filename="../main/PreferencesDialog.cpp" line="273"/>
         <source>Follow system locale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="229"/>
+        <location filename="../main/PreferencesDialog.cpp" line="287"/>
         <source>Russian</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="230"/>
+        <location filename="../main/PreferencesDialog.cpp" line="288"/>
         <source>British English</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="231"/>
+        <location filename="../main/PreferencesDialog.cpp" line="289"/>
         <source>American English</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="232"/>
+        <location filename="../main/PreferencesDialog.cpp" line="290"/>
         <source>Czech</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="277"/>
-        <location filename="../main/PreferencesDialog.cpp" line="281"/>
-        <location filename="../main/PreferencesDialog.cpp" line="288"/>
-        <location filename="../main/PreferencesDialog.cpp" line="296"/>
-        <location filename="../main/PreferencesDialog.cpp" line="313"/>
-        <location filename="../main/PreferencesDialog.cpp" line="319"/>
-        <location filename="../main/PreferencesDialog.cpp" line="325"/>
-        <location filename="../main/PreferencesDialog.cpp" line="330"/>
-        <location filename="../main/PreferencesDialog.cpp" line="335"/>
+        <location filename="../main/PreferencesDialog.cpp" line="348"/>
         <location filename="../main/PreferencesDialog.cpp" line="352"/>
-        <location filename="../main/PreferencesDialog.cpp" line="367"/>
+        <location filename="../main/PreferencesDialog.cpp" line="356"/>
+        <location filename="../main/PreferencesDialog.cpp" line="363"/>
+        <location filename="../main/PreferencesDialog.cpp" line="371"/>
+        <location filename="../main/PreferencesDialog.cpp" line="388"/>
+        <location filename="../main/PreferencesDialog.cpp" line="400"/>
+        <location filename="../main/PreferencesDialog.cpp" line="418"/>
+        <location filename="../main/PreferencesDialog.cpp" line="424"/>
+        <location filename="../main/PreferencesDialog.cpp" line="429"/>
+        <location filename="../main/PreferencesDialog.cpp" line="434"/>
+        <location filename="../main/PreferencesDialog.cpp" line="451"/>
+        <location filename="../main/PreferencesDialog.cpp" line="456"/>
+        <location filename="../main/PreferencesDialog.cpp" line="471"/>
         <source>%1:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="277"/>
+        <location filename="../main/PreferencesDialog.cpp" line="348"/>
         <source>User interface language</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="293"/>
-        <source>Playback audio device:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/PreferencesDialog.cpp" line="304"/>
+        <location filename="../main/PreferencesDialog.cpp" line="352"/>
+        <source>Allow network usage</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/PreferencesDialog.cpp" line="379"/>
         <source>&amp;General</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="343"/>
+        <location filename="../main/PreferencesDialog.cpp" line="395"/>
+        <source>Draw layers at Retina resolution:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/PreferencesDialog.cpp" line="405"/>
+        <source>Default spectrogram colour:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/PreferencesDialog.cpp" line="409"/>
+        <source>Default melodic spectrogram colour:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/PreferencesDialog.cpp" line="413"/>
+        <source>Default colour 3D plot colour:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/PreferencesDialog.cpp" line="442"/>
         <source>&amp;Appearance</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="377"/>
+        <location filename="../main/PreferencesDialog.cpp" line="481"/>
         <source>Anal&amp;ysis</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="386"/>
+        <location filename="../main/PreferencesDialog.cpp" line="490"/>
         <source>Default session template for audio files:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="397"/>
+        <location filename="../main/PreferencesDialog.cpp" line="501"/>
         <source>Standard Waveform</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="422"/>
+        <location filename="../main/PreferencesDialog.cpp" line="526"/>
         <source>Session &amp;Template</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="427"/>
+        <location filename="../main/PreferencesDialog.cpp" line="531"/>
         <source>OK</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="428"/>
+        <location filename="../main/PreferencesDialog.cpp" line="532"/>
         <source>Cancel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="544"/>
+        <location filename="../main/PreferencesDialog.cpp" line="685"/>
         <source>Select a directory to create cache subdirectory in</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="621"/>
+        <location filename="../main/PreferencesDialog.cpp" line="783"/>
         <source>Preferences</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="622"/>
+        <location filename="../main/PreferencesDialog.cpp" line="784"/>
         <source>&lt;b&gt;Restart required&lt;/b&gt;&lt;p&gt;One or more of the application preferences you have changed may not take full effect until Sonic Visualiser is restarted.&lt;/p&gt;&lt;p&gt;Please exit and restart the application now if you want these changes to take effect immediately.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="643"/>
+        <location filename="../main/PreferencesDialog.cpp" line="805"/>
         <source>Preferences Changed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="644"/>
+        <location filename="../main/PreferencesDialog.cpp" line="806"/>
         <source>Some preferences have been changed but not applied.
 Apply them before closing?</source>
         <translation type="unfinished"></translation>
@@ -5507,7 +5932,7 @@
 <context>
     <name>ProgressDialog</name>
     <message>
-        <location filename="../../svgui/widgets/ProgressDialog.cpp" line="28"/>
+        <location filename="../svgui/widgets/ProgressDialog.cpp" line="28"/>
         <source>Cancel</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5515,78 +5940,83 @@
 <context>
     <name>PropertyBox</name>
     <message>
-        <location filename="../../svgui/widgets/PropertyBox.cpp" line="155"/>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="160"/>
         <source>Show</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PropertyBox.cpp" line="172"/>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="177"/>
         <source>Play</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PropertyBox.cpp" line="210"/>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="216"/>
         <source>Playback Gain</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PropertyBox.cpp" line="212"/>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="218"/>
         <source>dB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PropertyBox.cpp" line="236"/>
-        <location filename="../../svgui/widgets/PropertyBox.cpp" line="238"/>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="242"/>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="244"/>
         <source>Playback Pan / Balance</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PropertyBox.cpp" line="468"/>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="483"/>
         <source>Add New Colour...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PropertyBox.cpp" line="654"/>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="674"/>
         <source>Name New Colour</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PropertyBox.cpp" line="655"/>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="675"/>
         <source>Enter a name for the new colour:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PropertyBox.cpp" line="657"/>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="677"/>
         <source>Prefer black background for this colour</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PropertyBox.cpp" line="829"/>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="788"/>
+        <source>Set playback clip:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="856"/>
         <source> (current value: %1%2)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PropertyBox.cpp" line="831"/>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="858"/>
         <source> (current value: %1)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PropertyBox.cpp" line="836"/>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="863"/>
         <source>Toggle Visibility of %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PropertyBox.cpp" line="838"/>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="865"/>
         <source>Toggle Playback of %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PropertyBox.cpp" line="842"/>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="869"/>
         <source>Toggle %1 property of %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PropertyBox.cpp" line="845"/>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="872"/>
         <source>Adjust %1 property of %2%3</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5594,37 +6024,37 @@
 <context>
     <name>PropertyContainer</name>
     <message>
-        <location filename="../../svcore/base/PropertyContainer.cpp" line="151"/>
+        <location filename="../svcore/base/PropertyContainer.cpp" line="157"/>
         <source>yes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/PropertyContainer.cpp" line="152"/>
+        <location filename="../svcore/base/PropertyContainer.cpp" line="158"/>
         <source>on</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/PropertyContainer.cpp" line="153"/>
+        <location filename="../svcore/base/PropertyContainer.cpp" line="159"/>
         <source>true</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/PropertyContainer.cpp" line="155"/>
+        <location filename="../svcore/base/PropertyContainer.cpp" line="161"/>
         <source>no</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/PropertyContainer.cpp" line="156"/>
+        <location filename="../svcore/base/PropertyContainer.cpp" line="162"/>
         <source>off</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/PropertyContainer.cpp" line="157"/>
+        <location filename="../svcore/base/PropertyContainer.cpp" line="163"/>
         <source>false</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/PropertyContainer.cpp" line="244"/>
+        <location filename="../svcore/base/PropertyContainer.cpp" line="250"/>
         <source>Set %1 Property</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5632,12 +6062,12 @@
 <context>
     <name>PropertyStack</name>
     <message>
-        <location filename="../../svgui/widgets/PropertyStack.cpp" line="242"/>
+        <location filename="../svgui/widgets/PropertyStack.cpp" line="242"/>
         <source>Change Layer Visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PropertyStack.cpp" line="259"/>
+        <location filename="../svgui/widgets/PropertyStack.cpp" line="259"/>
         <source>Click to change the current active layer</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5645,7 +6075,7 @@
 <context>
     <name>QApplication</name>
     <message>
-        <location filename="../main/main.cpp" line="269"/>
+        <location filename="../main/main.cpp" line="260"/>
         <source>
 Sonic Visualiser is a program for viewing and exploring audio data
 for semantic music analysis and annotation.
@@ -5661,7 +6091,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/main.cpp" line="279"/>
+        <location filename="../main/main.cpp" line="270"/>
         <source>Sonic Visualiser</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5696,22 +6126,20 @@
 <context>
     <name>QFile</name>
     <message>
-        <location filename="../../svcore/data/fileio/CSVFileReader.cpp" line="47"/>
-        <location filename="../../svcore/data/fileio/MatchFileReader.cpp" line="73"/>
-        <location filename="../../svcore/data/fileio/PlaylistFileReader.cpp" line="69"/>
+        <location filename="../svcore/data/fileio/CSVFileReader.cpp" line="52"/>
+        <location filename="../svcore/data/fileio/PlaylistFileReader.cpp" line="69"/>
         <source>File &quot;%1&quot; does not exist</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/CSVFileReader.cpp" line="49"/>
-        <location filename="../../svcore/data/fileio/MatchFileReader.cpp" line="75"/>
-        <location filename="../../svcore/data/fileio/PlaylistFileReader.cpp" line="72"/>
+        <location filename="../svcore/data/fileio/CSVFileReader.cpp" line="54"/>
+        <location filename="../svcore/data/fileio/PlaylistFileReader.cpp" line="72"/>
         <source>Failed to open file &quot;%1&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/PlaylistFileReader.cpp" line="31"/>
-        <location filename="../../svcore/data/fileio/PlaylistFileReader.cpp" line="43"/>
+        <location filename="../svcore/data/fileio/PlaylistFileReader.cpp" line="31"/>
+        <location filename="../svcore/data/fileio/PlaylistFileReader.cpp" line="43"/>
         <source>File or URL &quot;%1&quot; could not be retrieved</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5719,26 +6147,55 @@
 <context>
     <name>QMessageBox</name>
     <message>
-        <location filename="../main/main.cpp" line="532"/>
-        <location filename="../main/main.cpp" line="537"/>
+        <location filename="../main/main.cpp" line="522"/>
+        <location filename="../main/main.cpp" line="527"/>
         <source>Failed to open file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/main.cpp" line="533"/>
+        <location filename="../main/main.cpp" line="523"/>
         <source>File or URL &quot;%1&quot; could not be opened</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/main.cpp" line="538"/>
+        <location filename="../main/main.cpp" line="528"/>
         <source>&lt;b&gt;Audio required&lt;/b&gt;&lt;p&gt;Please load at least one audio file before importing annotation data</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
+    <name>QObject</name>
+    <message>
+        <location filename="../svcore/plugin/FeatureExtractionPluginFactory.cpp" line="164"/>
+        <source>&lt;b&gt;Failed to load plugins&lt;/b&gt;&lt;p&gt;Failed to load one or more plugin libraries:&lt;/p&gt;
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/plugin/FeatureExtractionPluginFactory.cpp" line="170"/>
+        <source>Failed to load library</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/plugin/FeatureExtractionPluginFactory.cpp" line="172"/>
+        <source>Failed to query plugins from library after loading</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/plugin/FeatureExtractionPluginFactory.cpp" line="174"/>
+        <source>Unknown failure</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/plugin/FeatureExtractionPluginFactory.cpp" line="176"/>
+        <source>Success: internal error?</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>QuickTimeFileReader</name>
     <message>
-        <location filename="../../svcore/data/fileio/QuickTimeFileReader.cpp" line="225"/>
+        <location filename="../svcore/data/fileio/QuickTimeFileReader.cpp" line="226"/>
         <source>Decoding %1...</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5746,17 +6203,17 @@
 <context>
     <name>RDFImporter</name>
     <message>
-        <location filename="../../svcore/rdf/RDFImporter.cpp" line="272"/>
+        <location filename="../svcore/rdf/RDFImporter.cpp" line="270"/>
         <source>Importing audio referenced in RDF...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/rdf/RDFImporter.cpp" line="296"/>
+        <location filename="../svcore/rdf/RDFImporter.cpp" line="294"/>
         <source>Importing dense signal data from RDF...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/rdf/RDFImporter.cpp" line="490"/>
+        <location filename="../svcore/rdf/RDFImporter.cpp" line="488"/>
         <source>Importing event data from RDF...</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5764,7 +6221,7 @@
 <context>
     <name>RangeInputDialog</name>
     <message>
-        <location filename="../../svgui/widgets/RangeInputDialog.cpp" line="48"/>
+        <location filename="../svgui/widgets/RangeInputDialog.cpp" line="48"/>
         <source> to </source>
         <translation type="unfinished"></translation>
     </message>
@@ -5772,87 +6229,95 @@
 <context>
     <name>RangeSummarisableTimeValueModel</name>
     <message>
-        <location filename="../../svcore/data/model/RangeSummarisableTimeValueModel.h" line="124"/>
+        <location filename="../svcore/data/model/RangeSummarisableTimeValueModel.h" line="102"/>
         <source>Range-Summarisable Time-Value</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
+    <name>ReadOnlyWaveFileModel</name>
+    <message>
+        <location filename="../svcore/data/model/ReadOnlyWaveFileModel.h" line="79"/>
+        <source>Wave File</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>RegionLayer</name>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="43"/>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="44"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="54"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="55"/>
         <source>New Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="89"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="100"/>
         <source>Vertical Scale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="90"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="101"/>
         <source>Scale Units</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="91"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="102"/>
         <source>Plot Type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="109"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="120"/>
         <source>Scale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="170"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="181"/>
         <source>Bars</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="171"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="182"/>
         <source>Segmentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="177"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="188"/>
         <source>Auto-Align</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="178"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="189"/>
         <source>Equal Spaced</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="179"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="190"/>
         <source>Linear</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="180"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="191"/>
         <source>Log</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="385"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="396"/>
         <source>In progress</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="387"/>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="413"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="398"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="424"/>
         <source>No local points</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="422"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="433"/>
         <source>%1 %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="427"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="438"/>
         <source>Time:	%1
 Value:	%2
 Duration:	%3
@@ -5860,7 +6325,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="432"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="443"/>
         <source>Time:	%1
 Value:	%2
 Duration:	%3
@@ -5868,63 +6333,63 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="1043"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="1139"/>
         <source>Draw Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="1125"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="1221"/>
         <source>Erase Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="1185"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="1281"/>
         <source>Drag Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="1206"/>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="1253"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="1302"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="1349"/>
         <source>Edit Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="1208"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="1304"/>
         <source>Relocate Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="1211"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="1307"/>
         <source>Change Point Value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="1270"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="1366"/>
         <source>Drag Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="1296"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="1392"/>
         <source>Resize Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="1336"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="1432"/>
         <source>Delete Selected Points</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="1383"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="1479"/>
         <source>Re-align pasted items?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="1384"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="1480"/>
         <source>The items you are pasting came from a layer with different source material from this one.  Do you want to re-align them in time, to match the source material for this layer?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="1398"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="1494"/>
         <source>Paste</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5932,42 +6397,42 @@
 <context>
     <name>RegionModel</name>
     <message>
-        <location filename="../../svcore/data/model/RegionModel.h" line="125"/>
+        <location filename="../svcore/data/model/RegionModel.h" line="125"/>
         <source>Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/RegionModel.h" line="153"/>
+        <location filename="../svcore/data/model/RegionModel.h" line="153"/>
         <source>Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/RegionModel.h" line="154"/>
+        <location filename="../svcore/data/model/RegionModel.h" line="154"/>
         <source>Frame</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/RegionModel.h" line="155"/>
+        <location filename="../svcore/data/model/RegionModel.h" line="155"/>
         <source>Value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/RegionModel.h" line="156"/>
+        <location filename="../svcore/data/model/RegionModel.h" line="156"/>
         <source>Duration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/RegionModel.h" line="157"/>
+        <location filename="../svcore/data/model/RegionModel.h" line="157"/>
         <source>Label</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/RegionModel.h" line="158"/>
+        <location filename="../svcore/data/model/RegionModel.h" line="158"/>
         <source>Unknown</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/RegionModel.h" line="187"/>
+        <location filename="../svcore/data/model/RegionModel.h" line="187"/>
         <source>Edit Data</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5975,29 +6440,21 @@
 <context>
     <name>RemoveLayerCommand</name>
     <message>
-        <location filename="../../svapp/framework/Document.cpp" line="1016"/>
+        <location filename="../svapp/framework/Document.cpp" line="1240"/>
         <source>Delete %1 Layer</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>ResamplingWavFileReader</name>
-    <message>
-        <location filename="../../svcore/data/fileio/ResamplingWavFileReader.cpp" line="63"/>
-        <source>Resampling %1...</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>SVFileReader</name>
     <message>
-        <location filename="../../svapp/framework/SVFileReader.cpp" line="318"/>
-        <location filename="../../svapp/framework/SVFileReader.cpp" line="322"/>
+        <location filename="../svapp/framework/SVFileReader.cpp" line="324"/>
+        <location filename="../svapp/framework/SVFileReader.cpp" line="328"/>
         <source>(derived model in SV-XML)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/SVFileReader.cpp" line="463"/>
+        <location filename="../svapp/framework/SVFileReader.cpp" line="469"/>
         <source>Opening file or URL...</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6005,12 +6462,12 @@
 <context>
     <name>SingleColourLayer</name>
     <message>
-        <location filename="../../svgui/layer/SingleColourLayer.cpp" line="62"/>
+        <location filename="../svgui/layer/SingleColourLayer.cpp" line="70"/>
         <source>Colour</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SingleColourLayer.cpp" line="114"/>
+        <location filename="../svgui/layer/SingleColourLayer.cpp" line="122"/>
         <source>&lt;unknown&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6018,13 +6475,13 @@
 <context>
     <name>SliceLayer</name>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="146"/>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="153"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="146"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="153"/>
         <source>%1 - %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="158"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="158"/>
         <source>Time:	%1 - %2
 Range:	%3 samples (%4)
 Bin:	%5
@@ -6032,139 +6489,139 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="164"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="164"/>
         <source>First</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="165"/>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="717"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="165"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="720"/>
         <source>Mean</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="165"/>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="718"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="165"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="721"/>
         <source>Peak</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="172"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="172"/>
         <source>Time:	%1 - %2
 Range:	%3 samples (%4)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="507"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="510"/>
         <source>0dB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="508"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="511"/>
         <source>-Inf</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="539"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="542"/>
         <source>x10</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="564"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="567"/>
         <source>Plot Type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="565"/>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="602"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="568"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="605"/>
         <source>Scale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="566"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="569"/>
         <source>Normalize</source>
         <translation type="unfinished">Normalise</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="567"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="570"/>
         <source>Threshold</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="568"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="571"/>
         <source>Gain</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="569"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="572"/>
         <source>Sampling Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="707"/>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="733"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="710"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="736"/>
         <source>Linear</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="708"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="711"/>
         <source>Meter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="735"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="738"/>
         <source>Rev Log</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="745"/>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="748"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="748"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="751"/>
         <source>dB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="716"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="719"/>
         <source>Any</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="570"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="573"/>
         <source>Bin Scale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="604"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="607"/>
         <source>Bins</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="709"/>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="734"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="712"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="737"/>
         <source>Log</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="710"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="713"/>
         <source>Absolute</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="724"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="727"/>
         <source>Lines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="725"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="728"/>
         <source>Steps</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="726"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="729"/>
         <source>Blocks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="727"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="730"/>
         <source>Colours</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6172,22 +6629,22 @@
 <context>
     <name>SparseModel</name>
     <message>
-        <location filename="../../svcore/data/model/SparseModel.h" line="143"/>
+        <location filename="../svcore/data/model/SparseModel.h" line="153"/>
         <source>Sparse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/SparseModel.h" line="328"/>
+        <location filename="../svcore/data/model/SparseModel.h" line="355"/>
         <source>Edit Data</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/SparseModel.h" line="344"/>
+        <location filename="../svcore/data/model/SparseModel.h" line="371"/>
         <source>Insert Data Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/SparseModel.h" line="355"/>
+        <location filename="../svcore/data/model/SparseModel.h" line="384"/>
         <source>Delete Data Point</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6195,7 +6652,7 @@
 <context>
     <name>SparseModel::AddPointCommand</name>
     <message>
-        <location filename="../../svcore/data/model/SparseModel.h" line="172"/>
+        <location filename="../svcore/data/model/SparseModel.h" line="204"/>
         <source>Add Point</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6203,7 +6660,7 @@
 <context>
     <name>SparseModel::DeletePointCommand</name>
     <message>
-        <location filename="../../svcore/data/model/SparseModel.h" line="197"/>
+        <location filename="../svcore/data/model/SparseModel.h" line="229"/>
         <source>Delete Point</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6211,7 +6668,7 @@
 <context>
     <name>SparseModel::RelabelCommand</name>
     <message>
-        <location filename="../../svcore/data/model/SparseModel.h" line="254"/>
+        <location filename="../svcore/data/model/SparseModel.h" line="286"/>
         <source>Re-Label Point</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6219,32 +6676,32 @@
 <context>
     <name>SparseOneDimensionalModel</name>
     <message>
-        <location filename="../../svcore/data/model/SparseOneDimensionalModel.h" line="113"/>
+        <location filename="../svcore/data/model/SparseOneDimensionalModel.h" line="110"/>
         <source>Sparse 1-D</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/SparseOneDimensionalModel.h" line="127"/>
+        <location filename="../svcore/data/model/SparseOneDimensionalModel.h" line="124"/>
         <source>Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/SparseOneDimensionalModel.h" line="128"/>
+        <location filename="../svcore/data/model/SparseOneDimensionalModel.h" line="125"/>
         <source>Frame</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/SparseOneDimensionalModel.h" line="129"/>
+        <location filename="../svcore/data/model/SparseOneDimensionalModel.h" line="126"/>
         <source>Label</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/SparseOneDimensionalModel.h" line="130"/>
+        <location filename="../svcore/data/model/SparseOneDimensionalModel.h" line="127"/>
         <source>Unknown</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/SparseOneDimensionalModel.h" line="160"/>
+        <location filename="../svcore/data/model/SparseOneDimensionalModel.h" line="157"/>
         <source>Edit Data</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6252,37 +6709,37 @@
 <context>
     <name>SparseTimeValueModel</name>
     <message>
-        <location filename="../../svcore/data/model/SparseTimeValueModel.h" line="102"/>
+        <location filename="../svcore/data/model/SparseTimeValueModel.h" line="111"/>
         <source>Sparse Time-Value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/SparseTimeValueModel.h" line="116"/>
+        <location filename="../svcore/data/model/SparseTimeValueModel.h" line="128"/>
         <source>Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/SparseTimeValueModel.h" line="117"/>
+        <location filename="../svcore/data/model/SparseTimeValueModel.h" line="129"/>
         <source>Frame</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/SparseTimeValueModel.h" line="118"/>
+        <location filename="../svcore/data/model/SparseTimeValueModel.h" line="130"/>
         <source>Value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/SparseTimeValueModel.h" line="119"/>
+        <location filename="../svcore/data/model/SparseTimeValueModel.h" line="131"/>
         <source>Label</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/SparseTimeValueModel.h" line="120"/>
+        <location filename="../svcore/data/model/SparseTimeValueModel.h" line="132"/>
         <source>Unknown</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/SparseTimeValueModel.h" line="153"/>
+        <location filename="../svcore/data/model/SparseTimeValueModel.h" line="165"/>
         <source>Edit Data</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6290,7 +6747,7 @@
 <context>
     <name>SparseValueModel</name>
     <message>
-        <location filename="../../svcore/data/model/SparseValueModel.h" line="56"/>
+        <location filename="../svcore/data/model/SparseValueModel.h" line="56"/>
         <source>Sparse Value</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6298,363 +6755,366 @@
 <context>
     <name>SpectrogramLayer</name>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="172"/>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="219"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="177"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="219"/>
         <source>Colour</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="173"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="178"/>
         <source>Colour Scale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="174"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="179"/>
         <source>Window Size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="175"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="180"/>
         <source>Window Overlap</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="176"/>
         <source>Normalize Columns</source>
-        <translation type="unfinished">Normalise Columns</translation>
-    </message>
-    <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="177"/>
+        <translation type="obsolete">Normalise Columns</translation>
+    </message>
+    <message>
         <source>Normalize Visible Area</source>
-        <translation type="unfinished">Normalise Visible Area</translation>
-    </message>
-    <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="178"/>
+        <translation type="obsolete">Normalise Visible Area</translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="181"/>
+        <source>Normalization</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="182"/>
         <source>Bin Display</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="179"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="183"/>
         <source>Threshold</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="180"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="184"/>
         <source>Gain</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="181"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="185"/>
         <source>Colour Rotation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="182"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="186"/>
         <source>Min Frequency</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="183"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="187"/>
         <source>Max Frequency</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="184"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="188"/>
         <source>Frequency Scale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="185"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="189"/>
         <source>Smoothing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="213"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="213"/>
         <source>Bins</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="216"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="216"/>
         <source>Window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="223"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="222"/>
         <source>Scale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="393"/>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="451"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="389"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="450"/>
         <source>Linear</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="394"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="390"/>
         <source>Meter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="395"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="391"/>
         <source>dBV^2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="396"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="392"/>
         <source>dBV</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="397"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="393"/>
         <source>Phase</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="406"/>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="415"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="405"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="414"/>
         <source>None</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="407"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="406"/>
         <source>25 %</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="408"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="407"/>
         <source>50 %</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="409"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="408"/>
         <source>75 %</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="410"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="409"/>
         <source>87.5 %</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="411"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="410"/>
         <source>93.75 %</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="421"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="420"/>
         <source>No min</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="422"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="421"/>
         <source>10 Hz</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="423"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="422"/>
         <source>20 Hz</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="424"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="423"/>
         <source>40 Hz</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="425"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="424"/>
         <source>100 Hz</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="426"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="425"/>
         <source>250 Hz</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="427"/>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="436"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="426"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="435"/>
         <source>500 Hz</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="428"/>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="437"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="427"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="436"/>
         <source>1 KHz</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="429"/>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="440"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="428"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="439"/>
         <source>4 KHz</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="430"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="429"/>
         <source>10 KHz</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="438"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="437"/>
         <source>1.5 KHz</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="439"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="438"/>
         <source>2 KHz</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="441"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="440"/>
         <source>6 KHz</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="442"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="441"/>
         <source>8 KHz</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="443"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="442"/>
         <source>12 KHz</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="444"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="443"/>
         <source>16 KHz</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="445"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="444"/>
         <source>No max</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="452"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="451"/>
         <source>Log</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="458"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="457"/>
         <source>All Bins</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="459"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="458"/>
         <source>Peak Bins</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="460"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="459"/>
         <source>Frequencies</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="463"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="462"/>
         <source>&lt;unknown&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="470"/>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="473"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="485"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="488"/>
         <source>dB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="1667"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="1492"/>
         <source>FFT cache failed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="1668"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="1493"/>
         <source>Failed to create the FFT model for this spectrogram.
 There may be insufficient memory or disc space to continue.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="3175"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="2968"/>
         <source>Peak Frequency:	%1 - %2 Hz
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="3178"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="2971"/>
         <source>Peak Frequency:	%1 Hz
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="3186"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="2979"/>
         <source>Peak Pitch:	%3 - %4
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="3188"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="2981"/>
         <source>Peak Pitch:	%2
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="3199"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="2992"/>
         <source>Time:	%1 - %2
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="3203"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="2996"/>
         <source>Time:	%1
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="3208"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="3001"/>
         <source>%1Bin Frequency:	%2 - %3 Hz
 %4Bin Pitch:	%5 - %6
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="3216"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="3009"/>
         <source>%1Bin Frequency:	%2 Hz
 %3Bin Pitch:	%4
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="3229"/>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="3234"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="3022"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="3027"/>
         <source>-Inf</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="3239"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="3032"/>
         <source>dB:	%1 - %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="3241"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="3034"/>
         <source>dB:	%1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="3244"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="3037"/>
         <source>
 Phase:	%1 - %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="3246"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="3039"/>
         <source>
 Phase:	%1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="3276"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="3069"/>
         <source>43Hz</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="3423"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="3216"/>
         <source>%1Hz</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6662,90 +7122,90 @@
 <context>
     <name>SpectrumLayer</name>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="146"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="140"/>
         <source>Window Size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="147"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="141"/>
         <source>Window Overlap</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="148"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="142"/>
         <source>Show Peak Frequencies</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="172"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="166"/>
         <source>Window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="173"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="167"/>
         <source>Bins</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="228"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="222"/>
         <source>None</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="229"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="223"/>
         <source>25 %</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="230"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="224"/>
         <source>50 %</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="231"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="225"/>
         <source>75 %</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="232"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="226"/>
         <source>87.5 %</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="233"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="227"/>
         <source>93.75 %</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="591"/>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="603"/>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="624"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="585"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="597"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="618"/>
         <source>%1 - %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="596"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="590"/>
         <source>%1 - %2 Hz</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="598"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="592"/>
         <source>%1 Hz</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="614"/>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="619"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="608"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="613"/>
         <source>-Inf</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="626"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="620"/>
         <source>%1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="632"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="626"/>
         <source>%1
 Bin:	%2 (%3)
 %4 value:	%5
@@ -6753,22 +7213,22 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="636"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="630"/>
         <source>First</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="637"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="631"/>
         <source>Mean</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="637"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="631"/>
         <source>Peak</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="641"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="635"/>
         <source>%1
 Bin:	%2 (%3)
 Value:	%4
@@ -6779,106 +7239,119 @@
 <context>
     <name>SubdividingMenu</name>
     <message>
-        <location filename="../../svgui/widgets/SubdividingMenu.cpp" line="115"/>
+        <location filename="../svgui/widgets/SubdividingMenu.cpp" line="117"/>
         <source>%1 - %2</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
+    <name>Surveyer</name>
+    <message>
+        <location filename="../main/Surveyer.cpp" line="97"/>
+        <source>Yes! Take me to the survey</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/Surveyer.cpp" line="98"/>
+        <source>No, thanks</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>TextLayer</name>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="39"/>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="40"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="39"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="40"/>
         <source>Empty Label</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="135"/>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="373"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="135"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="373"/>
         <source>&lt;no text&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="195"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="195"/>
         <source>In progress</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="208"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="208"/>
         <source>Time:	%1
 Height:	%2
 Label:	%3</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="465"/>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="611"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="465"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="611"/>
         <source>Enter label</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="466"/>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="612"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="466"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="612"/>
         <source>Please enter a new label:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="514"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="514"/>
         <source>Erase Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="563"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="563"/>
         <source>Drag Label</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="584"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="584"/>
         <source>Move Label</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="586"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="586"/>
         <source>Move Label Horizontally</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="589"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="589"/>
         <source>Move Label Vertically</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="629"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="629"/>
         <source>Drag Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="654"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="654"/>
         <source>Resize Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="688"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="688"/>
         <source>Delete Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="731"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="731"/>
         <source>Re-align pasted items?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="732"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="732"/>
         <source>The items you are pasting came from a layer with different source material from this one.  Do you want to re-align them in time, to match the source material for this layer?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="746"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="746"/>
         <source>Paste</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="791"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="791"/>
         <source>New Point</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6886,37 +7359,37 @@
 <context>
     <name>TextModel</name>
     <message>
-        <location filename="../../svcore/data/model/TextModel.h" line="103"/>
+        <location filename="../svcore/data/model/TextModel.h" line="103"/>
         <source>Text</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/TextModel.h" line="117"/>
+        <location filename="../svcore/data/model/TextModel.h" line="117"/>
         <source>Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/TextModel.h" line="118"/>
+        <location filename="../svcore/data/model/TextModel.h" line="118"/>
         <source>Frame</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/TextModel.h" line="119"/>
+        <location filename="../svcore/data/model/TextModel.h" line="119"/>
         <source>Height</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/TextModel.h" line="120"/>
+        <location filename="../svcore/data/model/TextModel.h" line="120"/>
         <source>Label</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/TextModel.h" line="121"/>
+        <location filename="../svcore/data/model/TextModel.h" line="121"/>
         <source>Unknown</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/TextModel.h" line="152"/>
+        <location filename="../svcore/data/model/TextModel.h" line="152"/>
         <source>Edit Data</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6924,39 +7397,39 @@
 <context>
     <name>Thumbwheel</name>
     <message>
-        <location filename="../../svgui/widgets/Thumbwheel.cpp" line="232"/>
+        <location filename="../svgui/widgets/Thumbwheel.cpp" line="232"/>
         <source>%1: %2%3</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/Thumbwheel.cpp" line="234"/>
+        <location filename="../svgui/widgets/Thumbwheel.cpp" line="234"/>
         <source>%2%3</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/Thumbwheel.cpp" line="344"/>
+        <location filename="../svgui/widgets/Thumbwheel.cpp" line="344"/>
         <source>New value for %1, from %2 to %3 %4:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/Thumbwheel.cpp" line="347"/>
+        <location filename="../svgui/widgets/Thumbwheel.cpp" line="347"/>
         <source>New value for %1, from %2 to %3:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/Thumbwheel.cpp" line="352"/>
+        <location filename="../svgui/widgets/Thumbwheel.cpp" line="352"/>
         <source>Enter a new value from %1 to %2 %3:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/Thumbwheel.cpp" line="355"/>
-        <location filename="../../svgui/widgets/Thumbwheel.cpp" line="379"/>
+        <location filename="../svgui/widgets/Thumbwheel.cpp" line="355"/>
+        <location filename="../svgui/widgets/Thumbwheel.cpp" line="379"/>
         <source>Enter a new value from %1 to %2:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/Thumbwheel.cpp" line="362"/>
-        <location filename="../../svgui/widgets/Thumbwheel.cpp" line="378"/>
+        <location filename="../svgui/widgets/Thumbwheel.cpp" line="362"/>
+        <location filename="../svgui/widgets/Thumbwheel.cpp" line="378"/>
         <source>Enter new value</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6964,105 +7437,105 @@
 <context>
     <name>TimeInstantLayer</name>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="44"/>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="481"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="44"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="481"/>
         <source>New Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="84"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="84"/>
         <source>Plot Type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="124"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="124"/>
         <source>Instants</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="125"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="125"/>
         <source>Segmentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="226"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="226"/>
         <source>In progress</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="228"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="228"/>
         <source>No local points</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="239"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="239"/>
         <source>Time:	%1
 No label</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="242"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="242"/>
         <source>Time:	%1
 Label:	%2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="485"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="485"/>
         <source>Draw Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="515"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="515"/>
         <source>Add Point at %1 s</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="560"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="560"/>
         <source>Erase Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="606"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="606"/>
         <source>Drag Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="622"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="622"/>
         <source>Move Point to %1 s</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="658"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="658"/>
         <source>Edit Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="675"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="675"/>
         <source>Drag Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="701"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="701"/>
         <source>Resize Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="736"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="736"/>
         <source>Delete Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="779"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="779"/>
         <source>Re-align pasted instants?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="780"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="780"/>
         <source>The instants you are pasting came from a layer with different source material from this one.  Do you want to re-align them in time, to match the source material for this layer?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="794"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="794"/>
         <source>Paste</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7070,207 +7543,227 @@
 <context>
     <name>TimeValueLayer</name>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="51"/>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="52"/>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1285"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="58"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="59"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1351"/>
         <source>New Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="105"/>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="141"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="112"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="148"/>
         <source>Plot Type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="106"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="113"/>
         <source>Vertical Scale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="107"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="114"/>
         <source>Scale Units</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="108"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="115"/>
         <source>Draw Segment Division Lines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="109"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="116"/>
         <source>Show Derivative</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="137"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="144"/>
         <source>Scale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="215"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="229"/>
         <source>Points</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="216"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="230"/>
         <source>Stems</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="217"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="231"/>
         <source>Connected Points</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="218"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="232"/>
         <source>Lines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="219"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="233"/>
         <source>Curve</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="220"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="234"/>
         <source>Segmentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="225"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="235"/>
+        <source>Discrete Curves</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="240"/>
         <source>Auto-Align</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="226"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="241"/>
         <source>Linear</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="227"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="242"/>
         <source>Log</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="228"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="243"/>
         <source>+/-1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="556"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="600"/>
         <source>In progress</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="558"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="602"/>
         <source>No local points</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="571"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="615"/>
+        <source>%1 Hz (%2, %3)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="620"/>
+        <source>%1 %2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="622"/>
+        <source>%1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="628"/>
         <source>Time:	%1
-Value:	%2%3
+Value:	%2
 No label</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="576"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="632"/>
         <source>Time:	%1
-Value:	%2%3
+Value:	%2
 Label:	%4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1292"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1358"/>
         <source>Draw Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1410"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1476"/>
         <source>Erase Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1459"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1525"/>
         <source>Drag Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1482"/>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1527"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1548"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1593"/>
         <source>Edit Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1484"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1550"/>
         <source>Relocate Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1487"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1553"/>
         <source>Change Point Value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1544"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1610"/>
         <source>Drag Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1570"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1636"/>
         <source>Resize Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1605"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1671"/>
         <source>Delete Selected Points</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1652"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1718"/>
         <source>Re-align pasted items?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1653"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1719"/>
         <source>The items you are pasting came from a layer with different source material from this one.  Do you want to re-align them in time, to match the source material for this layer?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1667"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1733"/>
         <source>Paste</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1723"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1788"/>
         <source>The items you are pasting do not have values.
 What values do you want to use for these items?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1725"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1790"/>
         <source>Some of the items you are pasting do not have values.
 What values do you want to use for these items?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1735"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1800"/>
         <source>Zero for all items</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1744"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1809"/>
         <source>Choose value calculation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1765"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1833"/>
         <source>Select cycle size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1766"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1834"/>
         <source>Cycle size:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7278,27 +7771,27 @@
 <context>
     <name>TipDialog</name>
     <message>
-        <location filename="../../svgui/widgets/TipDialog.cpp" line="35"/>
+        <location filename="../svgui/widgets/TipDialog.cpp" line="35"/>
         <source>Tip of the Day</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TipDialog.cpp" line="65"/>
+        <location filename="../svgui/widgets/TipDialog.cpp" line="65"/>
         <source>Show tip on startup</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TipDialog.cpp" line="71"/>
+        <location filename="../svgui/widgets/TipDialog.cpp" line="71"/>
         <source>&lt;&lt; Previous</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TipDialog.cpp" line="75"/>
+        <location filename="../svgui/widgets/TipDialog.cpp" line="75"/>
         <source>Next &gt;&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TipDialog.cpp" line="79"/>
+        <location filename="../svgui/widgets/TipDialog.cpp" line="79"/>
         <source>Close</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7306,136 +7799,136 @@
 <context>
     <name>TransformFactory</name>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="386"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="386"/>
         <source> [\(&lt;].*$</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="445"/>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="539"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="457"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="551"/>
         <source>&lt;unknown maker&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="451"/>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="714"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="463"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="727"/>
         <source>Extract features using &quot;%1&quot; plugin (from %2)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="454"/>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="717"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="466"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="730"/>
         <source>Extract features using &quot;%1&quot; output of &quot;%2&quot; plugin (from %3)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="459"/>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="722"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="471"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="735"/>
         <source>%1 using &quot;%2&quot; plugin (from %3)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="462"/>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="725"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="474"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="738"/>
         <source>%1 using &quot;%2&quot; output of &quot;%3&quot; plugin (from %4)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="320"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="320"/>
         <source>Analysis</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="323"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="323"/>
         <source>Generator</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="324"/>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="326"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="324"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="326"/>
         <source>Other</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="555"/>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="707"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="567"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="720"/>
         <source>%1: %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="565"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="577"/>
         <source>%1: Output %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="577"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="589"/>
         <source>Extract &quot;%1&quot; data output from &quot;%2&quot; effect plugin (from %3)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="582"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="594"/>
         <source>Extract data output %1 from &quot;%2&quot; effect plugin (from %3)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="322"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="322"/>
         <source>Effects Data</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="321"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="321"/>
         <source>Effects</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="609"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="621"/>
         <source>Transform audio signal with &quot;%1&quot; effect plugin (from %2)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="615"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="627"/>
         <source>Generate audio signal using &quot;%1&quot; plugin (from %2)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="1133"/>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="1171"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="1157"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="1195"/>
         <source>Plugin type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="1135"/>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="1173"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="1159"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="1197"/>
         <source>Category</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="1136"/>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="1174"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="1160"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="1198"/>
         <source>System Identifier</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="1137"/>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="1175"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="1161"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="1199"/>
         <source>Name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="1138"/>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="1176"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="1162"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="1200"/>
         <source>Description</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="1139"/>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="1177"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="1163"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="1201"/>
         <source>Maker</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="1140"/>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="1178"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="1164"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="1202"/>
         <source>Units</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7443,64 +7936,64 @@
 <context>
     <name>TransformFinder</name>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="38"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="38"/>
         <source>Find a Transform</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="44"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="44"/>
         <source>Find:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="77"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="77"/>
         <source>&lt;br&gt;&amp;nbsp;&amp;nbsp;No results found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="85"/>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="86"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="85"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="86"/>
         <source>Up</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="90"/>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="91"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="90"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="91"/>
         <source>Down</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="137"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="137"/>
         <source>&lt;p&gt;Type some text into the search box to search the descriptions of:&lt;ul&gt;&lt;li&gt;All currently installed &lt;a href=&quot;http://www.vamp-plugins.org/&quot;&gt;Vamp&lt;/a&gt; audio feature extraction plugins&lt;/li&gt;&lt;li&gt;All currently installed &lt;a href=&quot;http://www.ladspa.org/&quot;&gt;LADSPA&lt;/a&gt; audio effects plugins&lt;/li&gt;&lt;li&gt;Vamp plugins that are not currently installed but that have descriptions published via the semantic web&lt;/li&gt;&lt;/ul&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="140"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="140"/>
         <source>&lt;b&gt;Unable to retrieve published descriptions from network!&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="143"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="143"/>
         <source>&lt;b&gt;No plugins are currently installed!&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="151"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="151"/>
         <source>&lt;p&gt;%1&lt;br&gt;Perhaps the network connection is down, services are responding too slowly, or a processing problem has occurred.&lt;br&gt;Only the descriptions of installed plugins will be searched.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="157"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="157"/>
         <source>&lt;p&gt;%1&lt;br&gt;Only the published descriptions of Vamp feature extraction plugins will be searched.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="161"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="161"/>
         <source>&lt;p&gt;%1&lt;br&gt;%2&lt;br&gt;Perhaps the network connection is down, or services are responding too slowly.&lt;br&gt;No search results will be available.</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="227"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="227"/>
         <source>Found %n description(s) containing &lt;b&gt;%1&lt;/b&gt;, showing the first %2 only</source>
         <translation type="unfinished">
             <numerusform>Found %n description containing &lt;b&gt;%1&lt;/b&gt;, showing the first %2 only</numerusform>
@@ -7508,7 +8001,7 @@
         </translation>
     </message>
     <message numerus="yes">
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="231"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="231"/>
         <source>Found %n description(s) containing &lt;b&gt;%1&lt;/b&gt;</source>
         <translation type="unfinished">
             <numerusform>Found %n description containing &lt;b&gt;%1&lt;/b&gt;</numerusform>
@@ -7516,118 +8009,188 @@
         </translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="257"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="257"/>
         <source>&lt;i&gt; (not installed)&lt;/i&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="261"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="261"/>
         <source>%1%2&lt;br&gt;&lt;small&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="272"/>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="303"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="272"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="303"/>
         <source>&lt;/small&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="275"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="275"/>
         <source>&lt;b&gt;%1&lt;/b&gt;%2&lt;br&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="281"/>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="284"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="281"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="284"/>
         <source>&lt;small&gt;%1&lt;/small&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="288"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="288"/>
         <source>&lt;small&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="290"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="290"/>
         <source>&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;mdash; Plugin type: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="294"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="294"/>
         <source>&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;mdash; Category: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="297"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="297"/>
         <source>&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;mdash; System identifier: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="300"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="300"/>
         <source>&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;mdash; More information: &lt;a href=&quot;%1&quot;&gt;%1&lt;/a&gt;</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
+    <name>UnitConverter</name>
+    <message>
+        <location filename="../svgui/widgets/UnitConverter.cpp" line="50"/>
+        <source>Pitch</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/UnitConverter.cpp" line="87"/>
+        <source> cents</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/UnitConverter.cpp" line="96"/>
+        <source>In 12-tone Equal Temperament:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/UnitConverter.cpp" line="105"/>
+        <location filename="../svgui/widgets/UnitConverter.cpp" line="208"/>
+        <source>=</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/UnitConverter.cpp" line="107"/>
+        <source>+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/UnitConverter.cpp" line="110"/>
+        <source>Piano note</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/UnitConverter.cpp" line="112"/>
+        <source>in octave</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/UnitConverter.cpp" line="117"/>
+        <source>MIDI pitch</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/UnitConverter.cpp" line="133"/>
+        <source>Note that only pitches in the range 0 to 127 are valid in the MIDI protocol.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/UnitConverter.cpp" line="140"/>
+        <source>Tempo</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/UnitConverter.cpp" line="206"/>
+        <source>Beat period</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/UnitConverter.cpp" line="212"/>
+        <source>at</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/UnitConverter.cpp" line="275"/>
+        <source>With concert-A tuning frequency at %1 Hz, and middle C residing in octave %2.
+(These can be changed in the application preferences.)</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>View</name>
     <message>
-        <location filename="../../svgui/view/View.cpp" line="91"/>
+        <location filename="../svgui/view/View.cpp" line="96"/>
         <source>Global Scroll</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/View.cpp" line="92"/>
+        <location filename="../svgui/view/View.cpp" line="97"/>
         <source>Global Zoom</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/View.cpp" line="93"/>
+        <location filename="../svgui/view/View.cpp" line="98"/>
         <source>Follow Playback</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/View.cpp" line="132"/>
+        <location filename="../svgui/view/View.cpp" line="141"/>
         <source>Scroll</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/View.cpp" line="133"/>
+        <location filename="../svgui/view/View.cpp" line="142"/>
         <source>Page</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/View.cpp" line="134"/>
+        <location filename="../svgui/view/View.cpp" line="143"/>
         <source>Off</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/View.cpp" line="137"/>
+        <location filename="../svgui/view/View.cpp" line="146"/>
         <source>&lt;unknown&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/View.cpp" line="1445"/>
+        <location filename="../svgui/view/View.cpp" line="1581"/>
         <source>Layer rendering error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/View.cpp" line="1466"/>
+        <location filename="../svgui/view/View.cpp" line="1603"/>
         <source>Alignment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/View.cpp" line="2242"/>
+        <location filename="../svgui/view/View.cpp" line="2427"/>
         <source>Waiting for layers to be ready...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/View.cpp" line="2243"/>
-        <location filename="../../svgui/view/View.cpp" line="2272"/>
+        <location filename="../svgui/view/View.cpp" line="2428"/>
+        <location filename="../svgui/view/View.cpp" line="2457"/>
         <source>Cancel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/View.cpp" line="2271"/>
+        <location filename="../svgui/view/View.cpp" line="2456"/>
         <source>Rendering image...</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7635,97 +8198,102 @@
 <context>
     <name>ViewManager</name>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="338"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="371"/>
         <source>Clear Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="339"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="372"/>
         <source>Select Multiple Regions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="340"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="373"/>
         <source>Select Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="357"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="390"/>
         <source>Enter Navigate mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="358"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="391"/>
         <source>Enter Select mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="359"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="392"/>
         <source>Enter Edit mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="360"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="393"/>
         <source>Enter Draw mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="361"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="394"/>
         <source>Enter Erase mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="362"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="395"/>
         <source>Enter Measure mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="376"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="396"/>
+        <source>Enter NoteEdit mode</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/view/ViewManager.cpp" line="432"/>
         <source>Switch on Loop mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="377"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="433"/>
         <source>Switch off Loop mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="391"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="447"/>
         <source>Switch on Play Selection mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="392"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="448"/>
         <source>Switch off Play Selection mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="406"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="462"/>
         <source>Switch on Play Solo mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="407"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="463"/>
         <source>Switch off Play Solo mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="421"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="477"/>
         <source>Switch on Alignment mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="422"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="478"/>
         <source>Switch off Alignment mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="524"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="581"/>
         <source>Scroll to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../../svgui/view/ViewManager.cpp" line="586"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="642"/>
         <source>Zoom to %n sample(s) per pixel</source>
         <translation type="unfinished">
             <numerusform></numerusform>
@@ -7733,126 +8301,118 @@
         </translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="596"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="652"/>
         <source>Change overlay level</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>WaveFileModel</name>
-    <message>
-        <location filename="../../svcore/data/model/WaveFileModel.h" line="83"/>
-        <source>Wave File</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>WaveformLayer</name>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="104"/>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="133"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="106"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="135"/>
         <source>Scale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="105"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="107"/>
         <source>Gain</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="106"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="108"/>
         <source>Normalize Visible Area</source>
         <translation type="unfinished">Normalise Visible Area</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="107"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="109"/>
         <source>Channels</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="194"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="196"/>
         <source>Linear</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="195"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="197"/>
         <source>Meter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="196"/>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="214"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="198"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="216"/>
         <source>dB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="202"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="204"/>
         <source>Separate</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="203"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="205"/>
         <source>Mean</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="204"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="206"/>
         <source>Butterfly</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="953"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="981"/>
         <source>Time:	%1 - %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="957"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="985"/>
         <source>Time:	%1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="978"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="1006"/>
         <source>Level:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="980"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="1008"/>
         <source>Left:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="981"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="1009"/>
         <source>Right:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="982"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="1010"/>
         <source>Channel %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="1005"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="1033"/>
         <source>
 %1	%2 - %3 (%4 dB peak)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="1008"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="1036"/>
         <source>
 %1	%2 (%3 dB peak)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="1175"/>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="1228"/>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="1238"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="1203"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="1256"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="1266"/>
         <source>0dB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="1176"/>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="1230"/>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="1240"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="1204"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="1258"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="1268"/>
         <source>-Inf</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7860,12 +8420,12 @@
 <context>
     <name>WindowShapePreview</name>
     <message>
-        <location filename="../../svgui/widgets/WindowShapePreview.cpp" line="118"/>
+        <location filename="../svgui/widgets/WindowShapePreview.cpp" line="118"/>
         <source>V / time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/WindowShapePreview.cpp" line="202"/>
+        <location filename="../svgui/widgets/WindowShapePreview.cpp" line="202"/>
         <source>dB / freq</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7873,7 +8433,7 @@
 <context>
     <name>WritableWaveFileModel</name>
     <message>
-        <location filename="../../svcore/data/model/WritableWaveFileModel.h" line="82"/>
+        <location filename="../svcore/data/model/WritableWaveFileModel.h" line="124"/>
         <source>Writable Wave File</source>
         <translation type="unfinished"></translation>
     </message>
Binary file i18n/sonic-visualiser_en_US.qm has changed
--- a/i18n/sonic-visualiser_en_US.ts	Wed Jul 15 12:27:40 2015 +0100
+++ b/i18n/sonic-visualiser_en_US.ts	Wed Apr 20 12:06:28 2016 +0100
@@ -1,20 +1,20 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE TS>
-<TS version="2.0" language="en">
+<TS version="2.1" language="en">
 <context>
     <name>ActivityLog</name>
     <message>
-        <location filename="../../svgui/widgets/ActivityLog.cpp" line="30"/>
+        <location filename="../svgui/widgets/ActivityLog.cpp" line="37"/>
         <source>Activity Log</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ActivityLog.cpp" line="35"/>
+        <location filename="../svgui/widgets/ActivityLog.cpp" line="42"/>
         <source>&lt;p&gt;Activity Log lists your interactions and other events within %1.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ActivityLog.cpp" line="63"/>
+        <location filename="../svgui/widgets/ActivityLog.cpp" line="77"/>
         <source>%1: %2</source>
         <translation type="unfinished"></translation>
     </message>
@@ -22,7 +22,7 @@
 <context>
     <name>AddLayerCommand</name>
     <message>
-        <location filename="../../svapp/framework/Document.cpp" line="956"/>
+        <location filename="../svapp/framework/Document.cpp" line="1179"/>
         <source>Add %1 Layer</source>
         <translation type="unfinished"></translation>
     </message>
@@ -30,7 +30,7 @@
 <context>
     <name>AggregateWaveModel</name>
     <message>
-        <location filename="../../svcore/data/model/AggregateWaveModel.h" line="45"/>
+        <location filename="../svcore/data/model/AggregateWaveModel.h" line="45"/>
         <source>Aggregate Wave</source>
         <translation type="unfinished"></translation>
     </message>
@@ -38,7 +38,7 @@
 <context>
     <name>AlignmentModel</name>
     <message>
-        <location filename="../../svcore/data/model/AlignmentModel.h" line="47"/>
+        <location filename="../svcore/data/model/AlignmentModel.h" line="46"/>
         <source>Alignment</source>
         <translation type="unfinished"></translation>
     </message>
@@ -46,17 +46,17 @@
 <context>
     <name>AudioCallbackPlaySource</name>
     <message>
-        <location filename="../../svapp/audioio/AudioCallbackPlaySource.cpp" line="459"/>
+        <location filename="../svapp/audio/AudioCallbackPlaySource.cpp" line="499"/>
         <source>Play from %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/audioio/AudioCallbackPlaySource.cpp" line="482"/>
+        <location filename="../svapp/audio/AudioCallbackPlaySource.cpp" line="522"/>
         <source>Stop at %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/audioio/AudioCallbackPlaySource.cpp" line="1071"/>
+        <location filename="../svapp/audio/AudioCallbackPlaySource.cpp" line="1105"/>
         <source>Change time-stretch factor to %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -64,140 +64,112 @@
 <context>
     <name>AudioDial</name>
     <message>
-        <location filename="../../svgui/widgets/AudioDial.cpp" line="416"/>
+        <location filename="../svgui/widgets/AudioDial.cpp" line="416"/>
         <source>%1: %2%3</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/AudioDial.cpp" line="418"/>
+        <location filename="../svgui/widgets/AudioDial.cpp" line="418"/>
         <source>%2%3</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/AudioDial.cpp" line="481"/>
+        <location filename="../svgui/widgets/AudioDial.cpp" line="481"/>
         <source>New value for %1, from %2 to %3 %4:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/AudioDial.cpp" line="484"/>
+        <location filename="../svgui/widgets/AudioDial.cpp" line="484"/>
         <source>New value for %1, from %2 to %3:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/AudioDial.cpp" line="489"/>
+        <location filename="../svgui/widgets/AudioDial.cpp" line="489"/>
         <source>Enter a new value from %1 to %2 %3:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/AudioDial.cpp" line="492"/>
-        <location filename="../../svgui/widgets/AudioDial.cpp" line="516"/>
+        <location filename="../svgui/widgets/AudioDial.cpp" line="492"/>
+        <location filename="../svgui/widgets/AudioDial.cpp" line="516"/>
         <source>Enter a new value from %1 to %2:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/AudioDial.cpp" line="499"/>
-        <location filename="../../svgui/widgets/AudioDial.cpp" line="515"/>
+        <location filename="../svgui/widgets/AudioDial.cpp" line="499"/>
+        <location filename="../svgui/widgets/AudioDial.cpp" line="515"/>
         <source>Enter new value</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>AudioTargetFactory</name>
-    <message>
-        <location filename="../../svapp/audioio/AudioTargetFactory.cpp" line="72"/>
-        <source>(auto)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svapp/audioio/AudioTargetFactory.cpp" line="76"/>
-        <source>JACK Audio Connection Kit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svapp/audioio/AudioTargetFactory.cpp" line="80"/>
-        <source>PulseAudio Server</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svapp/audioio/AudioTargetFactory.cpp" line="84"/>
-        <source>Core Audio Device</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svapp/audioio/AudioTargetFactory.cpp" line="88"/>
-        <source>Default Soundcard Device</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>BZipFileDevice</name>
     <message>
-        <location filename="../../svcore/data/fileio/BZipFileDevice.cpp" line="49"/>
+        <location filename="../svcore/data/fileio/BZipFileDevice.cpp" line="51"/>
         <source>File is already open</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/BZipFileDevice.cpp" line="54"/>
+        <location filename="../svcore/data/fileio/BZipFileDevice.cpp" line="56"/>
         <source>Append mode not supported</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/BZipFileDevice.cpp" line="60"/>
+        <location filename="../svcore/data/fileio/BZipFileDevice.cpp" line="62"/>
         <source>File access mode not specified</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/BZipFileDevice.cpp" line="66"/>
+        <location filename="../svcore/data/fileio/BZipFileDevice.cpp" line="68"/>
         <source>Read and write modes both specified</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/BZipFileDevice.cpp" line="75"/>
+        <location filename="../svcore/data/fileio/BZipFileDevice.cpp" line="77"/>
         <source>Failed to open file for writing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/BZipFileDevice.cpp" line="86"/>
+        <location filename="../svcore/data/fileio/BZipFileDevice.cpp" line="88"/>
         <source>Failed to open bzip2 stream for writing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/BZipFileDevice.cpp" line="102"/>
+        <location filename="../svcore/data/fileio/BZipFileDevice.cpp" line="104"/>
         <source>Failed to open file for reading</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/BZipFileDevice.cpp" line="113"/>
+        <location filename="../svcore/data/fileio/BZipFileDevice.cpp" line="115"/>
         <source>Failed to open bzip2 stream for reading</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/BZipFileDevice.cpp" line="127"/>
+        <location filename="../svcore/data/fileio/BZipFileDevice.cpp" line="129"/>
         <source>Internal error (open for neither read nor write)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/BZipFileDevice.cpp" line="136"/>
+        <location filename="../svcore/data/fileio/BZipFileDevice.cpp" line="138"/>
         <source>File not open</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/BZipFileDevice.cpp" line="148"/>
+        <location filename="../svcore/data/fileio/BZipFileDevice.cpp" line="150"/>
         <source>bzip2 stream write close error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/BZipFileDevice.cpp" line="160"/>
+        <location filename="../svcore/data/fileio/BZipFileDevice.cpp" line="162"/>
         <source>bzip2 stream read close error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/BZipFileDevice.cpp" line="169"/>
+        <location filename="../svcore/data/fileio/BZipFileDevice.cpp" line="171"/>
         <source>Internal error (close for neither read nor write)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/BZipFileDevice.cpp" line="186"/>
+        <location filename="../svcore/data/fileio/BZipFileDevice.cpp" line="188"/>
         <source>bzip2 stream read error</source>
         <translation type="unfinished"></translation>
     </message>
@@ -205,7 +177,7 @@
 <context>
     <name>BundleCommand</name>
     <message numerus="yes">
-        <location filename="../../svcore/base/Command.cpp" line="98"/>
+        <location filename="../svcore/base/Command.cpp" line="98"/>
         <source>%1 (%n change(s))</source>
         <translation type="unfinished">
             <numerusform>%1 (%n change)</numerusform>
@@ -216,7 +188,8 @@
 <context>
     <name>CSVFileWriter</name>
     <message>
-        <location filename="../../svcore/data/fileio/CSVFileWriter.cpp" line="62"/>
+        <location filename="../svcore/data/fileio/CSVFileWriter.cpp" line="67"/>
+        <location filename="../svcore/data/fileio/CSVFileWriter.cpp" line="92"/>
         <source>Failed to open file %1 for writing</source>
         <translation type="unfinished"></translation>
     </message>
@@ -224,88 +197,98 @@
 <context>
     <name>CSVFormatDialog</name>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="40"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="45"/>
         <source>Select Data Format</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="46"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="51"/>
         <source>Please select the correct data format for this file.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="78"/>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="88"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="83"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="93"/>
         <source>&lt;ignore&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="79"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="84"/>
         <source>Values</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="82"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="87"/>
         <source>(%1 more)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="89"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="94"/>
         <source>Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="90"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="95"/>
         <source>End time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="91"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="96"/>
         <source>Duration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="92"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="97"/>
         <source>Value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="93"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="98"/>
+        <source>Pitch</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="99"/>
         <source>Label</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="111"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="121"/>
         <source>Timing is specified:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="114"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="126"/>
         <source>Explicitly, in seconds</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="115"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="127"/>
+        <source>Explicitly, in milliseconds</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="128"/>
         <source>Explicitly, in audio sample frames</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="116"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="129"/>
         <source>Implicitly: rows are equally spaced in time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="124"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="156"/>
         <source>Audio sample rate (Hz):</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="147"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="179"/>
         <source>Frame increment between rows:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="215"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="249"/>
         <source>Data will be displayed in a %1 layer.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -313,91 +296,91 @@
 <context>
     <name>Colour3DPlotLayer</name>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="170"/>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="216"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="177"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="223"/>
         <source>Colour</source>
         <translation type="unfinished">Color</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="171"/>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="211"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="178"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="218"/>
         <source>Scale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="172"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="179"/>
         <source>Normalize Columns</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="173"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="180"/>
         <source>Normalize Visible Area</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="174"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="181"/>
         <source>Invert Vertical Scale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="175"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="182"/>
         <source>Gain</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="176"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="183"/>
         <source>Always Opaque</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="177"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="184"/>
         <source>Smooth</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="178"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="185"/>
         <source>Bin Scale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="213"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="220"/>
         <source>Bins</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="309"/>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="318"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="316"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="325"/>
         <source>Linear</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="310"/>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="319"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="317"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="326"/>
         <source>Log</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="311"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="318"/>
         <source>+/-1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="312"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="319"/>
         <source>Absolute</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="322"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="329"/>
         <source>&lt;unknown&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="329"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="336"/>
         <source>dB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="698"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="750"/>
         <source>Time:	%1 - %2
 Bin:	%3
 Value:	%4</source>
@@ -407,68 +390,68 @@
 <context>
     <name>ColourMapper</name>
     <message>
-        <location filename="../../svgui/layer/ColourMapper.cpp" line="48"/>
-        <location filename="../../svgui/layer/ColourMapper.cpp" line="66"/>
+        <location filename="../svgui/layer/ColourMapper.cpp" line="88"/>
+        <location filename="../svgui/layer/ColourMapper.cpp" line="106"/>
         <source>&lt;unknown&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ColourMapper.cpp" line="52"/>
-        <source>Default</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/layer/ColourMapper.cpp" line="53"/>
+        <location filename="../svgui/layer/ColourMapper.cpp" line="93"/>
         <source>White on Black</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ColourMapper.cpp" line="54"/>
+        <location filename="../svgui/layer/ColourMapper.cpp" line="94"/>
         <source>Black on White</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ColourMapper.cpp" line="55"/>
-        <source>Red on Blue</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/layer/ColourMapper.cpp" line="56"/>
-        <source>Yellow on Black</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/layer/ColourMapper.cpp" line="57"/>
-        <source>Blue on Black</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/layer/ColourMapper.cpp" line="58"/>
+        <location filename="../svgui/layer/ColourMapper.cpp" line="92"/>
+        <source>Green</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/ColourMapper.cpp" line="95"/>
+        <source>Cherry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/ColourMapper.cpp" line="96"/>
+        <source>Wasp</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/ColourMapper.cpp" line="97"/>
+        <source>Ice</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/ColourMapper.cpp" line="98"/>
         <source>Sunset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ColourMapper.cpp" line="59"/>
+        <location filename="../svgui/layer/ColourMapper.cpp" line="99"/>
         <source>Fruit Salad</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ColourMapper.cpp" line="60"/>
+        <location filename="../svgui/layer/ColourMapper.cpp" line="100"/>
         <source>Banded</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ColourMapper.cpp" line="61"/>
+        <location filename="../svgui/layer/ColourMapper.cpp" line="101"/>
         <source>Highlight</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ColourMapper.cpp" line="62"/>
+        <location filename="../svgui/layer/ColourMapper.cpp" line="102"/>
         <source>Printer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ColourMapper.cpp" line="63"/>
+        <location filename="../svgui/layer/ColourMapper.cpp" line="103"/>
         <source>High Gain</source>
         <translation type="unfinished"></translation>
     </message>
@@ -476,68 +459,67 @@
 <context>
     <name>CommandHistory</name>
     <message>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="56"/>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="61"/>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="64"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="67"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="70"/>
         <source>&amp;Undo</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="57"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="63"/>
         <source>Ctrl+Z</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="58"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="64"/>
         <source>Undo the last editing operation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="69"/>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="74"/>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="77"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="75"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="80"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="83"/>
         <source>Re&amp;do</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="70"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="76"/>
         <source>Ctrl+Shift+Z</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="71"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="77"/>
         <source>Redo the last operation that was undone</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="341"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="357"/>
         <source>Undo %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="367"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="383"/>
         <source>Redo %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="500"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="516"/>
         <source>Nothing to undo</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="500"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="516"/>
         <source>Nothing to redo</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="516"/>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="538"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="532"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="554"/>
         <source>&amp;Undo %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="516"/>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="539"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="532"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="555"/>
         <source>Re&amp;do %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -545,7 +527,15 @@
 <context>
     <name>CoreAudioFileReader</name>
     <message>
-        <location filename="../../svcore/data/fileio/CoreAudioFileReader.cpp" line="156"/>
+        <location filename="../svcore/data/fileio/CoreAudioFileReader.cpp" line="162"/>
+        <source>Decoding %1...</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>DecodingWavFileReader</name>
+    <message>
+        <location filename="../svcore/data/fileio/DecodingWavFileReader.cpp" line="66"/>
         <source>Decoding %1...</source>
         <translation type="unfinished"></translation>
     </message>
@@ -553,7 +543,7 @@
 <context>
     <name>Dense3DModelPeakCache</name>
     <message>
-        <location filename="../../svcore/data/model/Dense3DModelPeakCache.h" line="86"/>
+        <location filename="../svcore/data/model/Dense3DModelPeakCache.h" line="79"/>
         <source>Dense 3-D Peak Cache</source>
         <translation type="unfinished"></translation>
     </message>
@@ -561,17 +551,17 @@
 <context>
     <name>DenseThreeDimensionalModel</name>
     <message>
-        <location filename="../../svcore/data/model/DenseThreeDimensionalModel.h" line="110"/>
+        <location filename="../svcore/data/model/DenseThreeDimensionalModel.h" line="120"/>
         <source>Dense 3-D</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/DenseThreeDimensionalModel.h" line="127"/>
+        <location filename="../svcore/data/model/DenseThreeDimensionalModel.h" line="137"/>
         <source>Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/DenseThreeDimensionalModel.h" line="128"/>
+        <location filename="../svcore/data/model/DenseThreeDimensionalModel.h" line="138"/>
         <source>Frame</source>
         <translation type="unfinished"></translation>
     </message>
@@ -579,7 +569,7 @@
 <context>
     <name>DenseTimeValueModel</name>
     <message>
-        <location filename="../../svcore/data/model/DenseTimeValueModel.h" line="89"/>
+        <location filename="../svcore/data/model/DenseTimeValueModel.h" line="82"/>
         <source>Dense Time-Value</source>
         <translation type="unfinished"></translation>
     </message>
@@ -587,12 +577,12 @@
 <context>
     <name>Document</name>
     <message>
-        <location filename="../../svapp/framework/Document.cpp" line="270"/>
+        <location filename="../svapp/framework/Document.cpp" line="415"/>
         <source>Set main model to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/Document.cpp" line="272"/>
+        <location filename="../svapp/framework/Document.cpp" line="417"/>
         <source>Clear main model</source>
         <translation type="unfinished"></translation>
     </message>
@@ -600,7 +590,7 @@
 <context>
     <name>EditableDenseThreeDimensionalModel</name>
     <message>
-        <location filename="../../svcore/data/model/EditableDenseThreeDimensionalModel.h" line="139"/>
+        <location filename="../svcore/data/model/EditableDenseThreeDimensionalModel.h" line="182"/>
         <source>Editable Dense 3-D</source>
         <translation type="unfinished"></translation>
     </message>
@@ -608,12 +598,12 @@
 <context>
     <name>FFTModel</name>
     <message>
-        <location filename="../../svcore/data/model/FFTModel.h" line="188"/>
+        <location filename="../svcore/data/model/FFTModel.h" line="138"/>
         <source>FFT</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/FFTModel.cpp" line="203"/>
+        <location filename="../svcore/data/model/FFTModel.cpp" line="92"/>
         <source>%1 Hz</source>
         <translation type="unfinished"></translation>
     </message>
@@ -621,22 +611,22 @@
 <context>
     <name>Fader</name>
     <message>
-        <location filename="../../svgui/widgets/Fader.cpp" line="141"/>
+        <location filename="../svgui/widgets/Fader.cpp" line="143"/>
         <source>Enter new fader level</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/Fader.cpp" line="142"/>
+        <location filename="../svgui/widgets/Fader.cpp" line="144"/>
         <source>New fader level, from %1 to %2 dBFS:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/Fader.cpp" line="217"/>
+        <location filename="../svgui/widgets/Fader.cpp" line="219"/>
         <source>Level: Off</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/Fader.cpp" line="219"/>
+        <location filename="../svgui/widgets/Fader.cpp" line="221"/>
         <source>Level: %1%2.%3%4 dB</source>
         <translation type="unfinished"></translation>
     </message>
@@ -644,48 +634,53 @@
 <context>
     <name>FeatureExtractionModelTransformer</name>
     <message>
-        <location filename="../../svcore/transform/FeatureExtractionModelTransformer.cpp" line="54"/>
+        <location filename="../svcore/transform/FeatureExtractionModelTransformer.cpp" line="84"/>
+        <source>Transforms supplied to a single FeatureExtractionModelTransformer instance must be similar in every respect except plugin output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/transform/FeatureExtractionModelTransformer.cpp" line="97"/>
         <source>No factory available for feature extraction plugin id &quot;%1&quot; (unknown plugin type, or internal error?)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/FeatureExtractionModelTransformer.cpp" line="60"/>
+        <location filename="../svcore/transform/FeatureExtractionModelTransformer.cpp" line="103"/>
         <source>Input model for feature extraction plugin &quot;%1&quot; is of wrong type (internal error?)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/FeatureExtractionModelTransformer.cpp" line="66"/>
+        <location filename="../svcore/transform/FeatureExtractionModelTransformer.cpp" line="109"/>
         <source>Failed to instantiate plugin &quot;%1&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/FeatureExtractionModelTransformer.cpp" line="81"/>
+        <location filename="../svcore/transform/FeatureExtractionModelTransformer.cpp" line="124"/>
         <source>Cannot provide enough channels to feature extraction plugin &quot;%1&quot; (plugin min is %2, max %3; input model has %4)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/FeatureExtractionModelTransformer.cpp" line="112"/>
-        <location filename="../../svcore/transform/FeatureExtractionModelTransformer.cpp" line="127"/>
+        <location filename="../svcore/transform/FeatureExtractionModelTransformer.cpp" line="156"/>
+        <location filename="../svcore/transform/FeatureExtractionModelTransformer.cpp" line="171"/>
         <source>Failed to initialise feature extraction plugin &quot;%1&quot;</source>
         <translation type="unfinished">Failed to initialize feature extraction plugin &quot;%1&quot;</translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/FeatureExtractionModelTransformer.cpp" line="117"/>
+        <location filename="../svcore/transform/FeatureExtractionModelTransformer.cpp" line="161"/>
         <source>Feature extraction plugin &quot;%1&quot; rejected the given step and block sizes (%2 and %3); using plugin defaults (%4 and %5) instead</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/FeatureExtractionModelTransformer.cpp" line="135"/>
+        <location filename="../svcore/transform/FeatureExtractionModelTransformer.cpp" line="179"/>
         <source>Transform was configured for version %1 of plugin &quot;%2&quot;, but the plugin being used is version %3</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/FeatureExtractionModelTransformer.cpp" line="150"/>
+        <location filename="../svcore/transform/FeatureExtractionModelTransformer.cpp" line="194"/>
         <source>Plugin &quot;%1&quot; has no outputs</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/FeatureExtractionModelTransformer.cpp" line="165"/>
+        <location filename="../svcore/transform/FeatureExtractionModelTransformer.cpp" line="212"/>
         <source>Plugin &quot;%1&quot; has no output named &quot;%2&quot;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -693,57 +688,255 @@
 <context>
     <name>FileSource</name>
     <message>
-        <location filename="../../svcore/data/fileio/FileSource.cpp" line="102"/>
-        <location filename="../../svcore/data/fileio/FileSource.cpp" line="181"/>
-        <location filename="../../svcore/data/fileio/FileSource.cpp" line="214"/>
+        <location filename="../svcore/data/fileio/FileSource.cpp" line="124"/>
+        <location filename="../svcore/data/fileio/FileSource.cpp" line="206"/>
+        <location filename="../svcore/data/fileio/FileSource.cpp" line="239"/>
         <source>Unsupported scheme in URL</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/FileSource.cpp" line="424"/>
+        <location filename="../svcore/data/fileio/FileSource.cpp" line="452"/>
         <source>Downloading %1...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/FileSource.cpp" line="764"/>
-        <source>Failed to connect to FTP server</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svcore/data/fileio/FileSource.cpp" line="766"/>
-        <source>Login failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svcore/data/fileio/FileSource.cpp" line="768"/>
-        <source>Failed to change to correct directory</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svcore/data/fileio/FileSource.cpp" line="770"/>
-        <source>FTP download aborted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svcore/data/fileio/FileSource.cpp" line="790"/>
+        <location filename="../svcore/data/fileio/FileSource.cpp" line="746"/>
         <source>Download cancelled</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/FileSource.cpp" line="821"/>
+        <location filename="../svcore/data/fileio/FileSource.cpp" line="774"/>
         <source>Failed to create local file %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/FileSource.cpp" line="824"/>
+        <location filename="../svcore/data/fileio/FileSource.cpp" line="777"/>
         <source>File contains no data!</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
+    <name>FlexiNoteLayer</name>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="69"/>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="70"/>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="971"/>
+        <source>New Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="107"/>
+        <source>Vertical Scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="108"/>
+        <source>Scale Units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="124"/>
+        <source>Scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="173"/>
+        <source>Auto-Align</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="174"/>
+        <source>Linear</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="175"/>
+        <source>Log</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="176"/>
+        <source>MIDI Notes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="518"/>
+        <source>In progress</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="520"/>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="544"/>
+        <source>No local points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="558"/>
+        <source>%1 (%2, %3 Hz)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="565"/>
+        <source>%1 Hz (%2, %3)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="571"/>
+        <source>%1 %2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="578"/>
+        <source>Time:	%1
+Pitch:	%2
+Duration:	%3
+No label</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="583"/>
+        <source>Time:	%1
+Pitch:	%2
+Duration:	%3
+Label:	%4</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="976"/>
+        <source>Draw Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1052"/>
+        <source>Erase Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1133"/>
+        <source>Drag Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1215"/>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1288"/>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1608"/>
+        <source>Edit Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1217"/>
+        <source>Relocate Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1220"/>
+        <source>Change Point Value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1352"/>
+        <source>Add Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1392"/>
+        <source>Snap Notes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1441"/>
+        <source>Merge Notes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1624"/>
+        <source>Drag Selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1649"/>
+        <source>Resize Selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1688"/>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1710"/>
+        <source>Delete Selected Points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1759"/>
+        <source>Re-align pasted items?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1760"/>
+        <source>The items you are pasting came from a layer with different source material from this one.  Do you want to re-align them in time, to match the source material for this layer?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1774"/>
+        <source>Paste</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1845"/>
+        <source>Record FlexiNote</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>FlexiNoteModel</name>
+    <message>
+        <location filename="../svcore/data/model/FlexiNoteModel.h" line="136"/>
+        <source>FlexiNote</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/data/model/FlexiNoteModel.h" line="171"/>
+        <source>Time</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/data/model/FlexiNoteModel.h" line="172"/>
+        <source>Frame</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/data/model/FlexiNoteModel.h" line="173"/>
+        <source>Pitch</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/data/model/FlexiNoteModel.h" line="174"/>
+        <source>Duration</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/data/model/FlexiNoteModel.h" line="175"/>
+        <source>Level</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/data/model/FlexiNoteModel.h" line="176"/>
+        <source>Label</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/data/model/FlexiNoteModel.h" line="177"/>
+        <source>Unknown</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/data/model/FlexiNoteModel.h" line="207"/>
+        <source>Edit Data</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>I</name>
     <message>
-        <location filename="../../svcore/data/model/IntervalModel.h" line="103"/>
+        <location filename="../svcore/data/model/IntervalModel.h" line="103"/>
         <source>Edit Data</source>
         <translation type="unfinished"></translation>
     </message>
@@ -751,52 +944,52 @@
 <context>
     <name>ImageDialog</name>
     <message>
-        <location filename="../../svgui/widgets/ImageDialog.cpp" line="49"/>
+        <location filename="../svgui/widgets/ImageDialog.cpp" line="49"/>
         <source>Image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ImageDialog.cpp" line="56"/>
+        <location filename="../svgui/widgets/ImageDialog.cpp" line="56"/>
         <source>Label:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ImageDialog.cpp" line="63"/>
+        <location filename="../svgui/widgets/ImageDialog.cpp" line="63"/>
         <source>File or URL:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ImageDialog.cpp" line="73"/>
+        <location filename="../svgui/widgets/ImageDialog.cpp" line="73"/>
         <source>Browse...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ImageDialog.cpp" line="79"/>
+        <location filename="../svgui/widgets/ImageDialog.cpp" line="79"/>
         <source>Preview</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ImageDialog.cpp" line="187"/>
+        <location filename="../svgui/widgets/ImageDialog.cpp" line="187"/>
         <source>Unsupported scheme in URL</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ImageDialog.cpp" line="188"/>
+        <location filename="../svgui/widgets/ImageDialog.cpp" line="188"/>
         <source>The URL scheme &quot;%1&quot; is not supported</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ImageDialog.cpp" line="192"/>
+        <location filename="../svgui/widgets/ImageDialog.cpp" line="192"/>
         <source>Opening image URL...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ImageDialog.cpp" line="196"/>
+        <location filename="../svgui/widgets/ImageDialog.cpp" line="196"/>
         <source>File download failed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ImageDialog.cpp" line="197"/>
+        <location filename="../svgui/widgets/ImageDialog.cpp" line="197"/>
         <source>Failed to download URL &quot;%1&quot;: %2</source>
         <translation type="unfinished"></translation>
     </message>
@@ -804,58 +997,58 @@
 <context>
     <name>ImageLayer</name>
     <message>
-        <location filename="../../svgui/layer/ImageLayer.cpp" line="182"/>
+        <location filename="../svgui/layer/ImageLayer.cpp" line="182"/>
         <source>In progress</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ImageLayer.cpp" line="606"/>
-        <location filename="../../svgui/layer/ImageLayer.cpp" line="711"/>
+        <location filename="../svgui/layer/ImageLayer.cpp" line="602"/>
+        <location filename="../svgui/layer/ImageLayer.cpp" line="707"/>
         <source>Select image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ImageLayer.cpp" line="678"/>
+        <location filename="../svgui/layer/ImageLayer.cpp" line="674"/>
         <source>Move Image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ImageLayer.cpp" line="735"/>
+        <location filename="../svgui/layer/ImageLayer.cpp" line="731"/>
         <source>Drag Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ImageLayer.cpp" line="760"/>
+        <location filename="../svgui/layer/ImageLayer.cpp" line="756"/>
         <source>Resize Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ImageLayer.cpp" line="794"/>
+        <location filename="../svgui/layer/ImageLayer.cpp" line="790"/>
         <source>Delete Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ImageLayer.cpp" line="837"/>
+        <location filename="../svgui/layer/ImageLayer.cpp" line="833"/>
         <source>Re-align pasted items?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ImageLayer.cpp" line="838"/>
+        <location filename="../svgui/layer/ImageLayer.cpp" line="834"/>
         <source>The items you are pasting came from a layer with different source material from this one.  Do you want to re-align them in time, to match the source material for this layer?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ImageLayer.cpp" line="852"/>
+        <location filename="../svgui/layer/ImageLayer.cpp" line="848"/>
         <source>Paste</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ImageLayer.cpp" line="884"/>
+        <location filename="../svgui/layer/ImageLayer.cpp" line="880"/>
         <source>New Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ImageLayer.cpp" line="915"/>
+        <location filename="../svgui/layer/ImageLayer.cpp" line="911"/>
         <source>Opening image URL...</source>
         <translation type="unfinished"></translation>
     </message>
@@ -863,38 +1056,38 @@
 <context>
     <name>ImageModel</name>
     <message>
-        <location filename="../../svcore/data/model/ImageModel.h" line="96"/>
-        <location filename="../../svcore/data/model/ImageModel.h" line="154"/>
+        <location filename="../svcore/data/model/ImageModel.h" line="96"/>
+        <location filename="../svcore/data/model/ImageModel.h" line="154"/>
         <source>Image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/ImageModel.h" line="124"/>
+        <location filename="../svcore/data/model/ImageModel.h" line="124"/>
         <source>Edit Image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/ImageModel.h" line="152"/>
+        <location filename="../svcore/data/model/ImageModel.h" line="152"/>
         <source>Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/ImageModel.h" line="153"/>
+        <location filename="../svcore/data/model/ImageModel.h" line="153"/>
         <source>Frame</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/ImageModel.h" line="155"/>
+        <location filename="../svcore/data/model/ImageModel.h" line="155"/>
         <source>Label</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/ImageModel.h" line="156"/>
+        <location filename="../svcore/data/model/ImageModel.h" line="156"/>
         <source>Unknown</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/ImageModel.h" line="187"/>
+        <location filename="../svcore/data/model/ImageModel.h" line="187"/>
         <source>Edit Data</source>
         <translation type="unfinished"></translation>
     </message>
@@ -902,38 +1095,31 @@
 <context>
     <name>InteractiveFileFinder</name>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="52"/>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="192"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="66"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="233"/>
         <source>Select file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="53"/>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="193"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="67"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="234"/>
         <source>All files (*.*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="59"/>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="199"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="73"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="240"/>
         <source>Select a session file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="60"/>
-        <source>Sonic Visualiser session files (*.sv)
-RDF files (%1)
-All files (*.*)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="66"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="83"/>
         <source>Audio files (%1)
 All files (*.*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="72"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="89"/>
         <source>All supported files (%1 %2)
 Sonic Visualiser Layer XML files (*.svl)
 Comma-separated data files (*.csv)
@@ -945,7 +1131,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="79"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="96"/>
         <source>All supported files (%1 %2)
 Sonic Visualiser Layer XML files (*.svl)
 Comma-separated data files (*.csv)
@@ -956,24 +1142,114 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="86"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="134"/>
+        <source>Image files (%1)
+All files (*.*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="188"/>
+        <source>File does not exist</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="189"/>
+        <source>&lt;b&gt;File not found&lt;/b&gt;&lt;p&gt;File &quot;%1&quot; does not exist</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="194"/>
+        <source>File is not readable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="195"/>
+        <source>&lt;b&gt;File is not readable&lt;/b&gt;&lt;p&gt;File &quot;%1&quot; can not be read</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="200"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="389"/>
+        <source>Directory selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="201"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="390"/>
+        <source>&lt;b&gt;Directory selected&lt;/b&gt;&lt;p&gt;File &quot;%1&quot; is a directory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="206"/>
+        <source>Non-file selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="207"/>
+        <source>&lt;b&gt;Not a file&lt;/b&gt;&lt;p&gt;Path &quot;%1&quot; is not a file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="212"/>
+        <source>File is empty</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="213"/>
+        <source>&lt;b&gt;File is empty&lt;/b&gt;&lt;p&gt;File &quot;%1&quot; is empty</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="74"/>
+        <source>%1 session files (*.%1)
+RDF files (%3)
+All files (*.*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="103"/>
+        <source>All supported files (%1 %2)
+Comma-separated data files (*.csv)
+Sonic Visualiser Layer XML files (*.svl)
+Space-separated .lab files (*.lab)
+RDF files (%2)
+MIDI files (*.mid)
+Text files (*.txt)
+All files (*.*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="110"/>
+        <source>All supported files (%1 %2)
+Comma-separated data files (*.csv)
+Sonic Visualiser Layer XML files (*.svl)
+Space-separated .lab files (*.lab)
+RDF files (%2)
+Text files (*.txt)
+All files (*.*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="117"/>
         <source>All supported files (*.sv %1 %2)
-Sonic Visualiser session files (*.sv)
+%3 session files (*.%4)
 Audio files (%2)
 RDF files (%1)
 All files (*.*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="101"/>
-        <source>Image files (%1)
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="140"/>
+        <source>Comma-separated data files (*.csv)
+Space-separated .lab files (*.lab)
+Text files (*.txt)
 All files (*.*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="107"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="145"/>
         <source>All supported files (*.sv %1 %2 %3)
-Sonic Visualiser session files (*.sv)
+%4 session files (*.%5)
 Audio files (%1)
 Layer files (%2)
 RDF files (%3)
@@ -981,79 +1257,30 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="148"/>
-        <source>File does not exist</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="149"/>
-        <source>&lt;b&gt;File not found&lt;/b&gt;&lt;p&gt;File &quot;%1&quot; does not exist</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="154"/>
-        <source>File is not readable</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="155"/>
-        <source>&lt;b&gt;File is not readable&lt;/b&gt;&lt;p&gt;File &quot;%1&quot; can not be read</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="160"/>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="312"/>
-        <source>Directory selected</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="161"/>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="313"/>
-        <source>&lt;b&gt;Directory selected&lt;/b&gt;&lt;p&gt;File &quot;%1&quot; is a directory</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="166"/>
-        <source>Non-file selected</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="167"/>
-        <source>&lt;b&gt;Not a file&lt;/b&gt;&lt;p&gt;Path &quot;%1&quot; is not a file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="172"/>
-        <source>File is empty</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="173"/>
-        <source>&lt;b&gt;File is empty&lt;/b&gt;&lt;p&gt;File &quot;%1&quot; is empty</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="200"/>
-        <source>Sonic Visualiser session files (*.sv)
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="241"/>
+        <source>%1 session files (*.%2)
 All files (*.*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="206"/>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="212"/>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="218"/>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="228"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="248"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="254"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="260"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="266"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="272"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="282"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="288"/>
         <source>Select a file to export to</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="207"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="249"/>
         <source>WAV audio files (*.wav)
 All files (*.*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="213"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="255"/>
         <source>Sonic Visualiser Layer XML files (*.svl)
 Comma-separated data files (*.csv)
 RDF/Turtle files (%1)
@@ -1063,7 +1290,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="219"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="261"/>
         <source>Sonic Visualiser Layer XML files (*.svl)
 Comma-separated data files (*.csv)
 RDF/Turtle files (%1)
@@ -1072,71 +1299,97 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="229"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="267"/>
+        <source>Comma-separated data files (*.csv)
+Sonic Visualiser Layer XML files (*.svl)
+RDF/Turtle files (%1)
+MIDI files (*.mid)
+Text files (*.txt)
+All files (*.*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="273"/>
+        <source>Comma-separated data files (*.csv)
+Sonic Visualiser Layer XML files (*.svl)
+RDF/Turtle files (%1)
+Text files (*.txt)
+All files (*.*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="283"/>
         <source>Portable Network Graphics files (*.png)
 All files (*.*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="318"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="289"/>
+        <source>Comma-separated data files (*.csv)
+Text files (*.txt)
+All files (*.*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="395"/>
         <source>File exists</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="319"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="396"/>
         <source>&lt;b&gt;File exists&lt;/b&gt;&lt;p&gt;The file &quot;%1&quot; already exists.
 Do you want to overwrite it?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="451"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="544"/>
         <source>&lt;b&gt;File not found&lt;/b&gt;&lt;p&gt;Audio file &quot;%1&quot; could not be opened.
 Do you want to locate it?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="453"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="546"/>
         <source>&lt;b&gt;File not found&lt;/b&gt;&lt;p&gt;File &quot;%1&quot; could not be opened.
 Do you want to locate it?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="463"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="556"/>
         <source>Failed to open file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="465"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="558"/>
         <source>Locate file...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="466"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="559"/>
         <source>Use URL...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="467"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="560"/>
         <source>Cancel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="486"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="579"/>
         <source>Use URL</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="487"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="580"/>
         <source>Please enter the URL to use for this file:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="495"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="588"/>
         <source>Failed to open location</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="496"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="589"/>
         <source>&lt;b&gt;Failed to open location&lt;/b&gt;&lt;p&gt;URL &quot;%1&quot; could not be opened</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1144,65 +1397,65 @@
 <context>
     <name>ItemEditDialog</name>
     <message>
-        <location filename="../../svgui/widgets/ItemEditDialog.cpp" line="58"/>
+        <location filename="../svgui/widgets/ItemEditDialog.cpp" line="61"/>
         <source>Timing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ItemEditDialog.cpp" line="69"/>
+        <location filename="../svgui/widgets/ItemEditDialog.cpp" line="72"/>
         <source>Time:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ItemEditDialog.cpp" line="73"/>
-        <location filename="../../svgui/widgets/ItemEditDialog.cpp" line="104"/>
+        <location filename="../svgui/widgets/ItemEditDialog.cpp" line="76"/>
+        <location filename="../svgui/widgets/ItemEditDialog.cpp" line="107"/>
         <source> frames</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ItemEditDialog.cpp" line="82"/>
-        <location filename="../../svgui/widgets/ItemEditDialog.cpp" line="113"/>
+        <location filename="../svgui/widgets/ItemEditDialog.cpp" line="85"/>
+        <location filename="../svgui/widgets/ItemEditDialog.cpp" line="116"/>
         <source> sec</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ItemEditDialog.cpp" line="89"/>
-        <location filename="../../svgui/widgets/ItemEditDialog.cpp" line="120"/>
+        <location filename="../svgui/widgets/ItemEditDialog.cpp" line="92"/>
+        <location filename="../svgui/widgets/ItemEditDialog.cpp" line="123"/>
         <source> usec</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ItemEditDialog.cpp" line="100"/>
+        <location filename="../svgui/widgets/ItemEditDialog.cpp" line="103"/>
         <source>Duration:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ItemEditDialog.cpp" line="132"/>
+        <location filename="../svgui/widgets/ItemEditDialog.cpp" line="135"/>
         <source>Properties</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ItemEditDialog.cpp" line="145"/>
+        <location filename="../svgui/widgets/ItemEditDialog.cpp" line="148"/>
         <source>Value:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ItemEditDialog.cpp" line="161"/>
+        <location filename="../svgui/widgets/ItemEditDialog.cpp" line="164"/>
         <source>Text:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ItemEditDialog.cpp" line="180"/>
+        <location filename="../svgui/widgets/ItemEditDialog.cpp" line="183"/>
         <source>OK</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ItemEditDialog.cpp" line="181"/>
+        <location filename="../svgui/widgets/ItemEditDialog.cpp" line="184"/>
         <source>Reset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ItemEditDialog.cpp" line="182"/>
+        <location filename="../svgui/widgets/ItemEditDialog.cpp" line="185"/>
         <source>Cancel</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1210,41 +1463,41 @@
 <context>
     <name>KeyReference</name>
     <message>
-        <location filename="../../svgui/widgets/KeyReference.cpp" line="61"/>
-        <location filename="../../svgui/widgets/KeyReference.cpp" line="92"/>
+        <location filename="../svgui/widgets/KeyReference.cpp" line="62"/>
+        <location filename="../svgui/widgets/KeyReference.cpp" line="100"/>
         <source>&amp;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/KeyReference.cpp" line="145"/>
+        <location filename="../svgui/widgets/KeyReference.cpp" line="159"/>
         <source>&lt;i&gt;or&lt;/i&gt;&amp;nbsp;&lt;b&gt;%1&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/KeyReference.cpp" line="147"/>
+        <location filename="../svgui/widgets/KeyReference.cpp" line="161"/>
         <source>&lt;/b&gt;&amp;nbsp;(%1)&lt;b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/KeyReference.cpp" line="162"/>
-        <source>Sonic Visualiser: Key and Mouse Reference</source>
+        <location filename="../svgui/widgets/KeyReference.cpp" line="176"/>
+        <source>%1: Key and Mouse Reference</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>LabelCounterInputDialog</name>
     <message>
-        <location filename="../../svgui/widgets/LabelCounterInputDialog.cpp" line="29"/>
+        <location filename="../svgui/widgets/LabelCounterInputDialog.cpp" line="29"/>
         <source>Set Counters</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/LabelCounterInputDialog.cpp" line="33"/>
+        <location filename="../svgui/widgets/LabelCounterInputDialog.cpp" line="33"/>
         <source>Fine counter (beats):</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/LabelCounterInputDialog.cpp" line="36"/>
+        <location filename="../svgui/widgets/LabelCounterInputDialog.cpp" line="36"/>
         <source>Coarse counter (bars):</source>
         <translation type="unfinished">Coarse counter (measures):</translation>
     </message>
@@ -1252,77 +1505,77 @@
 <context>
     <name>Labeller</name>
     <message>
-        <location filename="../../svcore/data/model/Labeller.h" line="89"/>
+        <location filename="../svcore/data/model/Labeller.h" line="89"/>
         <source>No numbering</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/Labeller.h" line="91"/>
+        <location filename="../svcore/data/model/Labeller.h" line="91"/>
         <source>Simple counter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/Labeller.h" line="93"/>
+        <location filename="../svcore/data/model/Labeller.h" line="93"/>
         <source>Cyclical counter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/Labeller.h" line="95"/>
+        <location filename="../svcore/data/model/Labeller.h" line="95"/>
         <source>Cyclical two-level counter (bar/beat)</source>
         <translation type="unfinished">Cyclical two-level counter (measure/beat)</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/Labeller.h" line="97"/>
+        <location filename="../svcore/data/model/Labeller.h" line="97"/>
         <source>Audio sample frame number</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/Labeller.h" line="99"/>
+        <location filename="../svcore/data/model/Labeller.h" line="99"/>
         <source>Time in seconds</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/Labeller.h" line="101"/>
+        <location filename="../svcore/data/model/Labeller.h" line="101"/>
         <source>Duration to the following item</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/Labeller.h" line="103"/>
+        <location filename="../svcore/data/model/Labeller.h" line="103"/>
         <source>Tempo (bpm) based on duration to following item</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/Labeller.h" line="105"/>
+        <location filename="../svcore/data/model/Labeller.h" line="105"/>
         <source>Duration since the previous item</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/Labeller.h" line="107"/>
+        <location filename="../svcore/data/model/Labeller.h" line="107"/>
         <source>Tempo (bpm) based on duration since previous item</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/Labeller.h" line="109"/>
+        <location filename="../svcore/data/model/Labeller.h" line="109"/>
         <source>Same as the nearest previous item</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/Labeller.h" line="111"/>
+        <location filename="../svcore/data/model/Labeller.h" line="111"/>
         <source>Value extracted from the item&apos;s label (where possible)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/Labeller.h" line="153"/>
+        <location filename="../svcore/data/model/Labeller.h" line="159"/>
         <source>%1.%2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/Labeller.h" line="157"/>
+        <location filename="../svcore/data/model/Labeller.h" line="163"/>
         <source>%1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/Labeller.h" line="176"/>
+        <location filename="../svcore/data/model/Labeller.h" line="182"/>
         <source>Label Points</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1330,79 +1583,84 @@
 <context>
     <name>Layer</name>
     <message>
-        <location filename="../../svgui/layer/LayerFactory.cpp" line="70"/>
+        <location filename="../svgui/layer/LayerFactory.cpp" line="72"/>
         <source>Waveform</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/LayerFactory.cpp" line="71"/>
-        <location filename="../../svgui/layer/LayerFactory.cpp" line="87"/>
-        <location filename="../../svgui/layer/LayerFactory.cpp" line="91"/>
+        <location filename="../svgui/layer/LayerFactory.cpp" line="73"/>
+        <location filename="../svgui/layer/LayerFactory.cpp" line="90"/>
+        <location filename="../svgui/layer/LayerFactory.cpp" line="94"/>
         <source>Spectrogram</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/LayerFactory.cpp" line="72"/>
+        <location filename="../svgui/layer/LayerFactory.cpp" line="74"/>
         <source>Ruler</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/LayerFactory.cpp" line="73"/>
+        <location filename="../svgui/layer/LayerFactory.cpp" line="75"/>
         <source>Time Instants</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/LayerFactory.cpp" line="74"/>
+        <location filename="../svgui/layer/LayerFactory.cpp" line="76"/>
         <source>Time Values</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/LayerFactory.cpp" line="75"/>
+        <location filename="../svgui/layer/LayerFactory.cpp" line="77"/>
         <source>Notes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/LayerFactory.cpp" line="76"/>
+        <location filename="../svgui/layer/LayerFactory.cpp" line="78"/>
+        <source>Flexible Notes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/LayerFactory.cpp" line="79"/>
         <source>Regions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/LayerFactory.cpp" line="77"/>
+        <location filename="../svgui/layer/LayerFactory.cpp" line="80"/>
         <source>Text</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/LayerFactory.cpp" line="78"/>
+        <location filename="../svgui/layer/LayerFactory.cpp" line="81"/>
         <source>Images</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/LayerFactory.cpp" line="79"/>
+        <location filename="../svgui/layer/LayerFactory.cpp" line="82"/>
         <source>Colour 3D Plot</source>
         <translation type="unfinished">Color 3D Plot</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/LayerFactory.cpp" line="80"/>
+        <location filename="../svgui/layer/LayerFactory.cpp" line="83"/>
         <source>Spectrum</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/LayerFactory.cpp" line="81"/>
+        <location filename="../svgui/layer/LayerFactory.cpp" line="84"/>
         <source>Time Slice</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/LayerFactory.cpp" line="96"/>
-        <source>Layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/layer/Layer.cpp" line="340"/>
+        <location filename="../svgui/layer/LayerFactory.cpp" line="99"/>
+        <source>Unknown Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/Layer.cpp" line="340"/>
         <source>Make Measurement</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/Layer.cpp" line="358"/>
+        <location filename="../svgui/layer/Layer.cpp" line="358"/>
         <source>Delete Measurement</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1410,17 +1668,17 @@
 <context>
     <name>LayerTreeDialog</name>
     <message>
-        <location filename="../../svgui/widgets/LayerTreeDialog.cpp" line="34"/>
+        <location filename="../svgui/widgets/LayerTreeDialog.cpp" line="34"/>
         <source>Layer Summary</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/LayerTreeDialog.cpp" line="40"/>
+        <location filename="../svgui/widgets/LayerTreeDialog.cpp" line="40"/>
         <source>Audio Data Sources</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/LayerTreeDialog.cpp" line="61"/>
+        <location filename="../svgui/widgets/LayerTreeDialog.cpp" line="65"/>
         <source>Panes and Layers</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1428,22 +1686,22 @@
 <context>
     <name>LayerTreeModel</name>
     <message>
-        <location filename="../../svgui/widgets/LayerTree.cpp" line="514"/>
+        <location filename="../svgui/widgets/LayerTree.cpp" line="514"/>
         <source>Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/LayerTree.cpp" line="515"/>
+        <location filename="../svgui/widgets/LayerTree.cpp" line="515"/>
         <source>Shown</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/LayerTree.cpp" line="516"/>
+        <location filename="../svgui/widgets/LayerTree.cpp" line="516"/>
         <source>Played</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/LayerTree.cpp" line="517"/>
+        <location filename="../svgui/widgets/LayerTree.cpp" line="517"/>
         <source>Model</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1451,27 +1709,27 @@
 <context>
     <name>MIDIFileImportDialog</name>
     <message>
-        <location filename="../../svgui/widgets/MIDIFileImportDialog.cpp" line="32"/>
+        <location filename="../svgui/widgets/MIDIFileImportDialog.cpp" line="32"/>
         <source>Merge all tracks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/MIDIFileImportDialog.cpp" line="33"/>
+        <location filename="../svgui/widgets/MIDIFileImportDialog.cpp" line="33"/>
         <source>Merge all non-percussion tracks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/MIDIFileImportDialog.cpp" line="50"/>
+        <location filename="../svgui/widgets/MIDIFileImportDialog.cpp" line="50"/>
         <source>Select track or tracks to import</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/MIDIFileImportDialog.cpp" line="51"/>
+        <location filename="../svgui/widgets/MIDIFileImportDialog.cpp" line="51"/>
         <source>&lt;b&gt;Select track to import&lt;/b&gt;&lt;p&gt;You can only import this file as a single annotation layer, but the file contains more than one track, or notes on more than one channel.&lt;p&gt;Please select the track or merged tracks you wish to import:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/MIDIFileImportDialog.cpp" line="70"/>
+        <location filename="../svgui/widgets/MIDIFileImportDialog.cpp" line="70"/>
         <source>Error in MIDI file import</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1479,89 +1737,89 @@
 <context>
     <name>MIDIFileReader</name>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="112"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="113"/>
         <source>Wrong length for long data in MIDI stream (%1, should be %2)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="127"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="128"/>
         <source>Wrong length for int data in MIDI stream (%1, should be %2)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="144"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="145"/>
         <source>getMIDIByte called but no MIDI file open</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="148"/>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="177"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="149"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="178"/>
         <source>End of MIDI file encountered while reading</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="152"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="153"/>
         <source>Attempt to get more bytes than expected on Track</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="161"/>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="197"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="162"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="198"/>
         <source>Attempt to read past MIDI file end</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="173"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="174"/>
         <source>getMIDIBytes called but no MIDI file open</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="181"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="182"/>
         <source>Attempt to get more bytes than available on Track (%1, only have %2)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="214"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="215"/>
         <source>getNumberFromMIDIBytes called but no MIDI file open</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="248"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="249"/>
         <source>skipToNextTrack called but no MIDI file open</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="479"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="482"/>
         <source>Invalid event code %1 found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="494"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="497"/>
         <source>Running status used for first event in track</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="812"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="808"/>
         <source>MIDI file &quot;%1&quot; has no notes in any track</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="835"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="831"/>
         <source> - uses GM percussion channel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="839"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="835"/>
         <source>Track %1 (%2)%3</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="843"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="839"/>
         <source>Track %1 (untitled)%3</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="1028"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="1024"/>
         <source>%1 - vel %2</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1569,7 +1827,7 @@
 <context>
     <name>MIDIInput</name>
     <message>
-        <location filename="../../svcore/data/midi/MIDIInput.cpp" line="30"/>
+        <location filename="../svcore/data/midi/MIDIInput.cpp" line="30"/>
         <source>Input</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1577,7 +1835,7 @@
 <context>
     <name>MP3FileReader</name>
     <message>
-        <location filename="../../svcore/data/fileio/MP3FileReader.cpp" line="115"/>
+        <location filename="../svcore/data/fileio/MP3FileReader.cpp" line="116"/>
         <source>Decoding %1...</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1585,686 +1843,692 @@
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="../main/MainWindow.cpp" line="178"/>
+        <location filename="../main/MainWindow.cpp" line="183"/>
         <source>Black</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="179"/>
+        <location filename="../main/MainWindow.cpp" line="184"/>
         <source>Red</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="180"/>
+        <location filename="../main/MainWindow.cpp" line="185"/>
         <source>Blue</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="181"/>
-        <location filename="../main/MainWindow.cpp" line="227"/>
-        <location filename="../main/MainWindow.cpp" line="3336"/>
+        <location filename="../main/MainWindow.cpp" line="186"/>
+        <location filename="../main/MainWindow.cpp" line="232"/>
+        <location filename="../main/MainWindow.cpp" line="3469"/>
         <source>Green</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="182"/>
+        <location filename="../main/MainWindow.cpp" line="187"/>
         <source>Purple</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="183"/>
+        <location filename="../main/MainWindow.cpp" line="188"/>
         <source>Orange</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="184"/>
+        <location filename="../main/MainWindow.cpp" line="189"/>
         <source>White</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="185"/>
+        <location filename="../main/MainWindow.cpp" line="190"/>
         <source>Bright Red</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="186"/>
+        <location filename="../main/MainWindow.cpp" line="191"/>
         <source>Bright Blue</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="187"/>
-        <location filename="../main/MainWindow.cpp" line="224"/>
-        <location filename="../main/MainWindow.cpp" line="3333"/>
+        <location filename="../main/MainWindow.cpp" line="192"/>
+        <location filename="../main/MainWindow.cpp" line="229"/>
+        <location filename="../main/MainWindow.cpp" line="3466"/>
         <source>Bright Green</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="188"/>
+        <location filename="../main/MainWindow.cpp" line="193"/>
         <source>Bright Purple</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="189"/>
+        <location filename="../main/MainWindow.cpp" line="194"/>
         <source>Bright Orange</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="242"/>
-        <source>Playback Speedup</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="356"/>
-        <location filename="../main/MainWindow.cpp" line="1030"/>
-        <location filename="../main/MainWindow.cpp" line="1037"/>
+        <location filename="../main/MainWindow.cpp" line="391"/>
+        <location filename="../main/MainWindow.cpp" line="1078"/>
+        <location filename="../main/MainWindow.cpp" line="1085"/>
         <source>&amp;Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="345"/>
-        <location filename="../main/MainWindow.cpp" line="1432"/>
+        <location filename="../main/MainWindow.cpp" line="380"/>
+        <location filename="../main/MainWindow.cpp" line="1486"/>
         <source>&amp;Transform</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="426"/>
+        <location filename="../main/MainWindow.cpp" line="461"/>
         <source>&amp;File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="428"/>
+        <location filename="../main/MainWindow.cpp" line="463"/>
         <source>File Toolbar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="430"/>
+        <location filename="../main/MainWindow.cpp" line="465"/>
         <source>File and Session Management</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="436"/>
+        <location filename="../main/MainWindow.cpp" line="470"/>
         <source>&amp;New Session</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="437"/>
+        <location filename="../main/MainWindow.cpp" line="471"/>
         <source>Ctrl+N</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="447"/>
+        <location filename="../main/MainWindow.cpp" line="480"/>
         <source>Ctrl+O</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="446"/>
+        <location filename="../main/MainWindow.cpp" line="479"/>
         <source>&amp;Open...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="448"/>
+        <location filename="../main/MainWindow.cpp" line="481"/>
         <source>Open a session file, audio file, or layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="486"/>
+        <location filename="../main/MainWindow.cpp" line="519"/>
         <source>&amp;Save Session</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="487"/>
+        <location filename="../main/MainWindow.cpp" line="520"/>
         <source>Ctrl+S</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="497"/>
+        <location filename="../main/MainWindow.cpp" line="529"/>
         <source>Save Session &amp;As...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="498"/>
+        <location filename="../main/MainWindow.cpp" line="530"/>
         <source>Ctrl+Shift+S</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="456"/>
+        <location filename="../main/MainWindow.cpp" line="490"/>
         <source>Ctrl+I</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="522"/>
+        <location filename="../main/MainWindow.cpp" line="554"/>
         <source>&amp;Export Audio File...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="523"/>
+        <location filename="../main/MainWindow.cpp" line="555"/>
         <source>Export selection as an audio file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="536"/>
+        <location filename="../main/MainWindow.cpp" line="568"/>
         <source>Import Annotation &amp;Layer...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="537"/>
+        <location filename="../main/MainWindow.cpp" line="569"/>
         <source>Ctrl+L</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="538"/>
+        <location filename="../main/MainWindow.cpp" line="570"/>
         <source>Import layer data from an existing file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="544"/>
-        <source>Export Annotation Layer...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="545"/>
+        <location filename="../main/MainWindow.cpp" line="578"/>
         <source>Export layer data to a file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="552"/>
+        <location filename="../main/MainWindow.cpp" line="586"/>
         <source>Export Image File...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="553"/>
+        <location filename="../main/MainWindow.cpp" line="587"/>
         <source>Export a single pane to an image file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="469"/>
+        <location filename="../main/MainWindow.cpp" line="503"/>
         <source>Open Lo&amp;cation...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="470"/>
+        <location filename="../main/MainWindow.cpp" line="247"/>
+        <source>Playback Speed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="504"/>
         <source>Ctrl+Shift+O</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="471"/>
+        <location filename="../main/MainWindow.cpp" line="505"/>
         <source>Open or import a file from a remote URL</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="582"/>
+        <location filename="../main/MainWindow.cpp" line="560"/>
+        <source>Export Audio Data...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="623"/>
         <source>&amp;Preferences...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="583"/>
+        <location filename="../main/MainWindow.cpp" line="624"/>
         <source>Adjust the application preferences</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="589"/>
+        <location filename="../main/MainWindow.cpp" line="630"/>
         <source>&amp;Quit</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="590"/>
+        <location filename="../main/MainWindow.cpp" line="631"/>
         <source>Ctrl+Q</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="602"/>
+        <location filename="../main/MainWindow.cpp" line="643"/>
         <source>&amp;Edit</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="606"/>
+        <location filename="../main/MainWindow.cpp" line="647"/>
         <source>Editing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="613"/>
+        <location filename="../main/MainWindow.cpp" line="654"/>
         <source>Cu&amp;t</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="614"/>
+        <location filename="../main/MainWindow.cpp" line="655"/>
         <source>Ctrl+X</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="615"/>
+        <location filename="../main/MainWindow.cpp" line="656"/>
         <source>Cut the selection from the current layer to the clipboard</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="623"/>
+        <location filename="../main/MainWindow.cpp" line="664"/>
         <source>&amp;Copy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="624"/>
+        <location filename="../main/MainWindow.cpp" line="665"/>
         <source>Ctrl+C</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="625"/>
+        <location filename="../main/MainWindow.cpp" line="666"/>
         <source>Copy the selection from the current layer to the clipboard</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="633"/>
+        <location filename="../main/MainWindow.cpp" line="674"/>
         <source>&amp;Paste</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="634"/>
+        <location filename="../main/MainWindow.cpp" line="675"/>
         <source>Ctrl+V</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="635"/>
+        <location filename="../main/MainWindow.cpp" line="676"/>
         <source>Paste from the clipboard to the current layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="642"/>
+        <location filename="../main/MainWindow.cpp" line="683"/>
         <source>Paste at Playback Position</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="643"/>
+        <location filename="../main/MainWindow.cpp" line="684"/>
         <source>Ctrl+Shift+V</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="644"/>
+        <location filename="../main/MainWindow.cpp" line="685"/>
         <source>Paste from the clipboard to the current layer, placing the first item at the playback position</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="651"/>
-        <location filename="../main/MainWindow.cpp" line="2200"/>
+        <location filename="../main/MainWindow.cpp" line="692"/>
+        <location filename="../main/MainWindow.cpp" line="2342"/>
         <source>&amp;Delete Selected Items</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="652"/>
+        <location filename="../main/MainWindow.cpp" line="693"/>
         <source>Del</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="653"/>
-        <location filename="../main/MainWindow.cpp" line="2201"/>
+        <location filename="../main/MainWindow.cpp" line="694"/>
+        <location filename="../main/MainWindow.cpp" line="2343"/>
         <source>Delete items in current selection from the current layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="663"/>
+        <location filename="../main/MainWindow.cpp" line="704"/>
         <source>Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="665"/>
+        <location filename="../main/MainWindow.cpp" line="706"/>
         <source>Select &amp;All</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="666"/>
+        <location filename="../main/MainWindow.cpp" line="707"/>
         <source>Ctrl+A</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="667"/>
+        <location filename="../main/MainWindow.cpp" line="708"/>
         <source>Select the whole duration of the current session</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="674"/>
+        <location filename="../main/MainWindow.cpp" line="715"/>
         <source>Select &amp;Visible Range</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="675"/>
+        <location filename="../main/MainWindow.cpp" line="716"/>
         <source>Ctrl+Shift+A</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="676"/>
+        <location filename="../main/MainWindow.cpp" line="717"/>
         <source>Select the time range corresponding to the current window width</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="682"/>
+        <location filename="../main/MainWindow.cpp" line="723"/>
         <source>Select to &amp;Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="683"/>
+        <location filename="../main/MainWindow.cpp" line="724"/>
+        <location filename="../main/MainWindow.cpp" line="2158"/>
+        <location filename="../main/MainWindow.cpp" line="2193"/>
+        <location filename="../main/MainWindow.cpp" line="2273"/>
         <source>Shift+Left</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="684"/>
+        <location filename="../main/MainWindow.cpp" line="725"/>
         <source>Select from the start of the session to the current playback position</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="690"/>
+        <location filename="../main/MainWindow.cpp" line="731"/>
         <source>Select to &amp;End</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="691"/>
+        <location filename="../main/MainWindow.cpp" line="732"/>
         <source>Shift+Right</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="692"/>
+        <location filename="../main/MainWindow.cpp" line="733"/>
         <source>Select from the current playback position to the end of the session</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="698"/>
+        <location filename="../main/MainWindow.cpp" line="739"/>
         <source>C&amp;lear Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="699"/>
+        <location filename="../main/MainWindow.cpp" line="740"/>
         <source>Esc</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="700"/>
+        <location filename="../main/MainWindow.cpp" line="741"/>
         <source>Clear the selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="709"/>
+        <location filename="../main/MainWindow.cpp" line="750"/>
         <source>Tapping Time Instants</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="711"/>
+        <location filename="../main/MainWindow.cpp" line="752"/>
         <source>&amp;Insert Instant at Playback Position</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="712"/>
+        <location filename="../main/MainWindow.cpp" line="753"/>
         <source>Enter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="713"/>
+        <location filename="../main/MainWindow.cpp" line="754"/>
         <source>Insert a new time instant at the current playback position, in a new layer if necessary</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="720"/>
+        <location filename="../main/MainWindow.cpp" line="761"/>
         <source>;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="725"/>
+        <location filename="../main/MainWindow.cpp" line="766"/>
         <source>Insert Instants at Selection &amp;Boundaries</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="726"/>
+        <location filename="../main/MainWindow.cpp" line="767"/>
         <source>Shift+Enter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="727"/>
+        <location filename="../main/MainWindow.cpp" line="768"/>
         <source>Insert new time instants at the start and end of the current selected regions, in a new layer if necessary</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="733"/>
+        <location filename="../main/MainWindow.cpp" line="774"/>
         <source>Insert Item at Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="734"/>
-        <source>Ctrl+Shift+Enter</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="735"/>
+        <location filename="../main/MainWindow.cpp" line="776"/>
         <source>Insert a new note or region item corresponding to the current selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="743"/>
+        <location filename="../main/MainWindow.cpp" line="784"/>
         <source>Number New Instants with</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="763"/>
+        <location filename="../main/MainWindow.cpp" line="804"/>
         <source>Cycle size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="784"/>
+        <location filename="../main/MainWindow.cpp" line="825"/>
         <source>Reset Numbering Counters</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="785"/>
+        <location filename="../main/MainWindow.cpp" line="826"/>
         <source>Reset to 1 all the counters used for counter-based labelling</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="790"/>
+        <location filename="../main/MainWindow.cpp" line="831"/>
         <source>Set Numbering Counters...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="791"/>
+        <location filename="../main/MainWindow.cpp" line="832"/>
         <source>Set the counters used for counter-based labelling</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="795"/>
+        <location filename="../main/MainWindow.cpp" line="836"/>
         <source>Renumber Selected Instants</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="796"/>
+        <location filename="../main/MainWindow.cpp" line="837"/>
         <source>Renumber the selected instants using the current labelling scheme</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="812"/>
+        <location filename="../main/MainWindow.cpp" line="853"/>
         <source>Panning and Navigation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="814"/>
+        <location filename="../main/MainWindow.cpp" line="855"/>
         <source>&amp;View</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="816"/>
+        <location filename="../main/MainWindow.cpp" line="857"/>
         <source>Scroll &amp;Left</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="817"/>
+        <location filename="../main/MainWindow.cpp" line="858"/>
+        <location filename="../main/MainWindow.cpp" line="2155"/>
+        <location filename="../main/MainWindow.cpp" line="2181"/>
+        <location filename="../main/MainWindow.cpp" line="2211"/>
+        <location filename="../main/MainWindow.cpp" line="2232"/>
+        <location filename="../main/MainWindow.cpp" line="2250"/>
+        <location filename="../main/MainWindow.cpp" line="2267"/>
         <source>Left</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="818"/>
+        <location filename="../main/MainWindow.cpp" line="859"/>
         <source>Scroll the current pane to the left</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="824"/>
+        <location filename="../main/MainWindow.cpp" line="865"/>
         <source>Scroll &amp;Right</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="825"/>
+        <location filename="../main/MainWindow.cpp" line="866"/>
         <source>Right</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="826"/>
+        <location filename="../main/MainWindow.cpp" line="867"/>
         <source>Scroll the current pane to the right</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="832"/>
+        <location filename="../main/MainWindow.cpp" line="873"/>
         <source>&amp;Jump Left</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="833"/>
+        <location filename="../main/MainWindow.cpp" line="874"/>
+        <location filename="../main/MainWindow.cpp" line="2185"/>
+        <location filename="../main/MainWindow.cpp" line="2189"/>
         <source>Ctrl+Left</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="834"/>
+        <location filename="../main/MainWindow.cpp" line="875"/>
         <source>Scroll the current pane a big step to the left</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="840"/>
+        <location filename="../main/MainWindow.cpp" line="881"/>
         <source>J&amp;ump Right</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="841"/>
+        <location filename="../main/MainWindow.cpp" line="882"/>
         <source>Ctrl+Right</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="842"/>
+        <location filename="../main/MainWindow.cpp" line="883"/>
         <source>Scroll the current pane a big step to the right</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="848"/>
+        <location filename="../main/MainWindow.cpp" line="889"/>
         <source>Peek Left</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="849"/>
+        <location filename="../main/MainWindow.cpp" line="890"/>
         <source>Alt+Left</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="850"/>
+        <location filename="../main/MainWindow.cpp" line="891"/>
         <source>Scroll the current pane to the left without moving the playback cursor or other panes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="856"/>
+        <location filename="../main/MainWindow.cpp" line="897"/>
         <source>Peek Right</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="857"/>
+        <location filename="../main/MainWindow.cpp" line="898"/>
         <source>Alt+Right</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="858"/>
+        <location filename="../main/MainWindow.cpp" line="899"/>
         <source>Scroll the current pane to the right without moving the playback cursor or other panes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="866"/>
+        <location filename="../main/MainWindow.cpp" line="907"/>
         <source>Zoom</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="869"/>
+        <location filename="../main/MainWindow.cpp" line="910"/>
         <source>Zoom &amp;In</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="870"/>
+        <location filename="../main/MainWindow.cpp" line="911"/>
         <source>Up</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="871"/>
+        <location filename="../main/MainWindow.cpp" line="912"/>
         <source>Increase the zoom level</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="878"/>
+        <location filename="../main/MainWindow.cpp" line="919"/>
         <source>Zoom &amp;Out</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="879"/>
+        <location filename="../main/MainWindow.cpp" line="920"/>
         <source>Down</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="880"/>
+        <location filename="../main/MainWindow.cpp" line="921"/>
         <source>Decrease the zoom level</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="886"/>
+        <location filename="../main/MainWindow.cpp" line="927"/>
         <source>Restore &amp;Default Zoom</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="887"/>
+        <location filename="../main/MainWindow.cpp" line="928"/>
         <source>Restore the zoom level to the default</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="893"/>
+        <location filename="../main/MainWindow.cpp" line="934"/>
         <source>Zoom to &amp;Fit</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="894"/>
+        <location filename="../main/MainWindow.cpp" line="935"/>
         <source>F</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="895"/>
+        <location filename="../main/MainWindow.cpp" line="936"/>
         <source>Zoom to show the whole file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="903"/>
+        <location filename="../main/MainWindow.cpp" line="944"/>
         <source>Display Features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="905"/>
+        <location filename="../main/MainWindow.cpp" line="946"/>
         <source>Show &amp;Centre Line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="906"/>
+        <location filename="../main/MainWindow.cpp" line="947"/>
         <source>&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="907"/>
+        <location filename="../main/MainWindow.cpp" line="948"/>
         <source>Show or hide the centre line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="914"/>
+        <location filename="../main/MainWindow.cpp" line="955"/>
         <source>Toggle All Time Rulers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="925"/>
+        <location filename="../main/MainWindow.cpp" line="968"/>
         <source>Show &amp;No Overlays</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="926"/>
+        <location filename="../main/MainWindow.cpp" line="969"/>
         <source>0</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2273,12 +2537,12 @@
         <translation type="obsolete">Hide center indicator, frame times, layer names and scale</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="935"/>
+        <location filename="../main/MainWindow.cpp" line="978"/>
         <source>Show &amp;Minimal Overlays</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="936"/>
+        <location filename="../main/MainWindow.cpp" line="979"/>
         <source>9</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2287,7 +2551,7 @@
         <translation type="obsolete">Show center indicator only</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="946"/>
+        <location filename="../main/MainWindow.cpp" line="989"/>
         <source>8</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2296,1688 +2560,1931 @@
         <translation type="obsolete">Show center indicator, frame times and scale</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="945"/>
+        <location filename="../main/MainWindow.cpp" line="988"/>
         <source>Show &amp;All Overlays</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="915"/>
+        <location filename="../main/MainWindow.cpp" line="956"/>
         <source>#</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="528"/>
-        <source>&amp;Export Audio Data...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="529"/>
+        <location filename="../main/MainWindow.cpp" line="561"/>
         <source>Export audio from selection into a data file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="916"/>
+        <location filename="../main/MainWindow.cpp" line="576"/>
+        <source>Export Annotation La&amp;yer...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="577"/>
+        <source>Ctrl+Y</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="594"/>
+        <source>Browse Recorded Audio Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="595"/>
+        <source>Open the Recorded Audio folder in the system file browser</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="775"/>
+        <source>Ctrl+Shift+Return</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="957"/>
         <source>Show or hide all time rulers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="927"/>
+        <location filename="../main/MainWindow.cpp" line="970"/>
         <source>Hide times, layer names, and scale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="937"/>
+        <location filename="../main/MainWindow.cpp" line="980"/>
         <source>Show times and basic scale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="947"/>
+        <location filename="../main/MainWindow.cpp" line="990"/>
         <source>Show times, layer names, and scale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="957"/>
+        <location filename="../main/MainWindow.cpp" line="1000"/>
         <source>Show &amp;Zoom Wheels</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="958"/>
+        <location filename="../main/MainWindow.cpp" line="1001"/>
         <source>Z</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="959"/>
+        <location filename="../main/MainWindow.cpp" line="1002"/>
         <source>Show thumbwheels for zooming horizontally and vertically</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="966"/>
+        <location filename="../main/MainWindow.cpp" line="1009"/>
         <source>Show Property Bo&amp;xes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="967"/>
+        <location filename="../main/MainWindow.cpp" line="1010"/>
         <source>X</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="968"/>
+        <location filename="../main/MainWindow.cpp" line="1011"/>
         <source>Show the layer property boxes at the side of the main window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="975"/>
+        <location filename="../main/MainWindow.cpp" line="1018"/>
         <source>Show Status &amp;Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="976"/>
+        <location filename="../main/MainWindow.cpp" line="1019"/>
         <source>Show context help information in the status bar at the bottom of the window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="993"/>
+        <location filename="../main/MainWindow.cpp" line="1036"/>
         <source>Show La&amp;yer Summary</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="994"/>
+        <location filename="../main/MainWindow.cpp" line="1037"/>
         <source>Y</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="995"/>
+        <location filename="../main/MainWindow.cpp" line="1038"/>
         <source>Open a window displaying the hierarchy of panes and layers in this session</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1000"/>
+        <location filename="../main/MainWindow.cpp" line="1043"/>
         <source>Show Acti&amp;vity Log</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1001"/>
+        <location filename="../main/MainWindow.cpp" line="1044"/>
         <source>Open a window listing interactions and other events</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1007"/>
+        <location filename="../main/MainWindow.cpp" line="1048"/>
+        <source>Show &amp;Unit Converter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1049"/>
+        <source>Open a window of pitch and timing conversion utilities</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1055"/>
         <source>Go Full-Screen</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1008"/>
+        <location filename="../main/MainWindow.cpp" line="1056"/>
         <source>F11</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1009"/>
+        <location filename="../main/MainWindow.cpp" line="1057"/>
         <source>Expand the pane area to the whole screen</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1022"/>
+        <location filename="../main/MainWindow.cpp" line="1070"/>
         <source>&amp;Pane</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1046"/>
+        <location filename="../main/MainWindow.cpp" line="1094"/>
         <source>Managing Panes and Layers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1048"/>
+        <location filename="../main/MainWindow.cpp" line="1096"/>
         <source>Add &amp;New Pane</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1049"/>
+        <location filename="../main/MainWindow.cpp" line="1097"/>
         <source>N</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1050"/>
+        <location filename="../main/MainWindow.cpp" line="1098"/>
         <source>Add a new pane containing only a time ruler</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1076"/>
+        <location filename="../main/MainWindow.cpp" line="1124"/>
         <source>Add New %1 Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1077"/>
+        <location filename="../main/MainWindow.cpp" line="1125"/>
         <source>Add a new empty layer of type %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1083"/>
+        <location filename="../main/MainWindow.cpp" line="1131"/>
         <source>T</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1133"/>
+        <location filename="../main/MainWindow.cpp" line="1186"/>
         <source>Add &amp;Waveform</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1135"/>
+        <location filename="../main/MainWindow.cpp" line="1188"/>
         <source>W</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1136"/>
+        <location filename="../main/MainWindow.cpp" line="1189"/>
         <source>Add a new pane showing a waveform view</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1138"/>
+        <location filename="../main/MainWindow.cpp" line="1191"/>
         <source>Shift+W</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1139"/>
+        <location filename="../main/MainWindow.cpp" line="1192"/>
         <source>Add a new layer showing a waveform view</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1146"/>
+        <location filename="../main/MainWindow.cpp" line="1199"/>
         <source>Add Spectro&amp;gram</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1148"/>
+        <location filename="../main/MainWindow.cpp" line="1201"/>
         <source>G</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1149"/>
+        <location filename="../main/MainWindow.cpp" line="1202"/>
         <source>Add a new pane showing a spectrogram</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1151"/>
+        <location filename="../main/MainWindow.cpp" line="1204"/>
         <source>Shift+G</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1152"/>
+        <location filename="../main/MainWindow.cpp" line="1205"/>
         <source>Add a new layer showing a spectrogram</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1158"/>
+        <location filename="../main/MainWindow.cpp" line="1211"/>
         <source>Add &amp;Melodic Range Spectrogram</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1160"/>
+        <location filename="../main/MainWindow.cpp" line="1213"/>
         <source>M</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1161"/>
+        <location filename="../main/MainWindow.cpp" line="1214"/>
         <source>Add a new pane showing a spectrogram set up for an overview of note pitches</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1163"/>
+        <location filename="../main/MainWindow.cpp" line="1216"/>
         <source>Shift+M</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1164"/>
+        <location filename="../main/MainWindow.cpp" line="1217"/>
         <source>Add a new layer showing a spectrogram set up for an overview of note pitches</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1170"/>
+        <location filename="../main/MainWindow.cpp" line="1223"/>
         <source>Add Pea&amp;k Frequency Spectrogram</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1172"/>
+        <location filename="../main/MainWindow.cpp" line="1225"/>
         <source>K</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1173"/>
+        <location filename="../main/MainWindow.cpp" line="1226"/>
         <source>Add a new pane showing a spectrogram set up for tracking frequencies</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1175"/>
+        <location filename="../main/MainWindow.cpp" line="1228"/>
         <source>Shift+K</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1176"/>
+        <location filename="../main/MainWindow.cpp" line="1229"/>
         <source>Add a new layer showing a spectrogram set up for tracking frequencies</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1182"/>
+        <location filename="../main/MainWindow.cpp" line="1235"/>
         <source>Add Spectr&amp;um</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1184"/>
+        <location filename="../main/MainWindow.cpp" line="1237"/>
         <source>U</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1185"/>
+        <location filename="../main/MainWindow.cpp" line="1238"/>
         <source>Add a new pane showing a frequency spectrum</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1187"/>
+        <location filename="../main/MainWindow.cpp" line="1240"/>
         <source>Shift+U</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1188"/>
+        <location filename="../main/MainWindow.cpp" line="1241"/>
         <source>Add a new layer showing a frequency spectrum</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1258"/>
+        <location filename="../main/MainWindow.cpp" line="1311"/>
         <source>&amp;All Channels Mixed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1260"/>
+        <location filename="../main/MainWindow.cpp" line="1313"/>
         <source>&amp;All Channels</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1263"/>
+        <location filename="../main/MainWindow.cpp" line="1316"/>
         <source>Channel &amp;%1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1267"/>
+        <location filename="../main/MainWindow.cpp" line="1320"/>
+        <location filename="../main/MainWindow.cpp" line="3447"/>
         <source>%1: %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1326"/>
+        <location filename="../main/MainWindow.cpp" line="1379"/>
         <source>Switch to Previous Pane</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1327"/>
+        <location filename="../main/MainWindow.cpp" line="1380"/>
         <source>[</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1328"/>
+        <location filename="../main/MainWindow.cpp" line="1381"/>
         <source>Make the next pane up in the pane stack current</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1334"/>
+        <location filename="../main/MainWindow.cpp" line="1387"/>
         <source>Switch to Next Pane</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1335"/>
+        <location filename="../main/MainWindow.cpp" line="1388"/>
         <source>]</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1336"/>
+        <location filename="../main/MainWindow.cpp" line="1389"/>
         <source>Make the next pane down in the pane stack current</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1344"/>
+        <location filename="../main/MainWindow.cpp" line="1397"/>
         <source>&amp;Delete Pane</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1345"/>
+        <location filename="../main/MainWindow.cpp" line="1398"/>
         <source>Ctrl+Shift+D</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1346"/>
+        <location filename="../main/MainWindow.cpp" line="1399"/>
         <source>Delete the currently active pane</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1354"/>
+        <location filename="../main/MainWindow.cpp" line="1407"/>
         <source>Add &amp;Time Ruler</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1355"/>
+        <location filename="../main/MainWindow.cpp" line="1408"/>
         <source>Add a new layer showing a time ruler</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1363"/>
+        <location filename="../main/MainWindow.cpp" line="1416"/>
         <source>Add &amp;Existing Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1367"/>
+        <location filename="../main/MainWindow.cpp" line="1420"/>
         <source>Add S&amp;lice of Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1395"/>
+        <location filename="../main/MainWindow.cpp" line="1428"/>
+        <source>Switch to Previous Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1429"/>
+        <source>{</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1430"/>
+        <source>Make the previous layer in the pane current</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1436"/>
+        <source>Switch to Next Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1437"/>
+        <source>}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1438"/>
+        <source>Make the next layer in the pane current</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1447"/>
         <source>&amp;Rename Layer...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1396"/>
+        <location filename="../main/MainWindow.cpp" line="1448"/>
         <source>R</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1397"/>
+        <location filename="../main/MainWindow.cpp" line="1449"/>
         <source>Rename the currently active layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1403"/>
+        <location filename="../main/MainWindow.cpp" line="1455"/>
         <source>Edit Layer Data</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1404"/>
+        <location filename="../main/MainWindow.cpp" line="1456"/>
         <source>E</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1405"/>
+        <location filename="../main/MainWindow.cpp" line="1457"/>
         <source>Edit the currently active layer as a data grid</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1411"/>
+        <location filename="../main/MainWindow.cpp" line="1463"/>
         <source>&amp;Delete Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1412"/>
+        <location filename="../main/MainWindow.cpp" line="1464"/>
         <source>Ctrl+D</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1413"/>
+        <location filename="../main/MainWindow.cpp" line="1465"/>
         <source>Delete the currently active layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1450"/>
+        <location filename="../main/MainWindow.cpp" line="1504"/>
         <source>&amp;Recent Transforms</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1467"/>
+        <location filename="../main/MainWindow.cpp" line="1521"/>
         <source>%1 by Category</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1482"/>
-        <location filename="../main/MainWindow.cpp" line="1570"/>
+        <location filename="../main/MainWindow.cpp" line="1536"/>
+        <location filename="../main/MainWindow.cpp" line="1624"/>
         <source>Unclassified</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1513"/>
+        <location filename="../main/MainWindow.cpp" line="1567"/>
         <source>%1 by Plugin Name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1521"/>
+        <location filename="../main/MainWindow.cpp" line="1575"/>
         <source>%1 by Maker</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1535"/>
-        <location filename="../main/MainWindow.cpp" line="1573"/>
+        <location filename="../main/MainWindow.cpp" line="1589"/>
+        <location filename="../main/MainWindow.cpp" line="1627"/>
         <source>Unknown</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1536"/>
-        <location filename="../main/MainWindow.cpp" line="1574"/>
+        <location filename="../main/MainWindow.cpp" line="1590"/>
+        <location filename="../main/MainWindow.cpp" line="1628"/>
         <source> [\(&lt;].*$</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1589"/>
-        <location filename="../main/MainWindow.cpp" line="1615"/>
+        <location filename="../main/MainWindow.cpp" line="1643"/>
+        <location filename="../main/MainWindow.cpp" line="1669"/>
         <source>%1...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1654"/>
+        <location filename="../main/MainWindow.cpp" line="1708"/>
         <source>Find a Transform...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1655"/>
+        <location filename="../main/MainWindow.cpp" line="1709"/>
         <source>Search for a transform from the installed plugins, by name or description</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1656"/>
+        <location filename="../main/MainWindow.cpp" line="1710"/>
         <source>Ctrl+M</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1669"/>
+        <location filename="../main/MainWindow.cpp" line="1723"/>
         <source>&amp;Help</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1672"/>
+        <location filename="../main/MainWindow.cpp" line="1726"/>
         <source>Help</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1679"/>
+        <location filename="../main/MainWindow.cpp" line="1733"/>
         <source>&amp;Help Reference</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1680"/>
+        <location filename="../main/MainWindow.cpp" line="1734"/>
         <source>F1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1686"/>
+        <location filename="../main/MainWindow.cpp" line="1740"/>
         <source>&amp;Key and Mouse Reference</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1687"/>
+        <location filename="../main/MainWindow.cpp" line="1741"/>
         <source>F2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1713"/>
+        <location filename="../main/MainWindow.cpp" line="1767"/>
         <source>Ctrl+R</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1715"/>
+        <location filename="../main/MainWindow.cpp" line="1769"/>
         <source>Re-open</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1717"/>
+        <location filename="../main/MainWindow.cpp" line="1771"/>
         <source>Re-open the current or most recently opened file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1728"/>
+        <location filename="../main/MainWindow.cpp" line="1782"/>
         <source>Standard Waveform</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1764"/>
+        <location filename="../main/MainWindow.cpp" line="1818"/>
         <source>Choose Default Template...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1789"/>
+        <location filename="../main/MainWindow.cpp" line="1843"/>
         <source>Ctrl+T</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1791"/>
+        <location filename="../main/MainWindow.cpp" line="1845"/>
         <source>Repeat Transform</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1793"/>
+        <location filename="../main/MainWindow.cpp" line="1847"/>
         <source>Re-select the most recently run transform</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1883"/>
+        <location filename="../main/MainWindow.cpp" line="1937"/>
         <source>Playback and Transport Controls</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1887"/>
+        <location filename="../main/MainWindow.cpp" line="1941"/>
         <source>Play&amp;back</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1890"/>
+        <location filename="../main/MainWindow.cpp" line="1944"/>
         <source>Playback</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1892"/>
+        <location filename="../main/MainWindow.cpp" line="1946"/>
         <source>Playback Toolbar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1895"/>
+        <location filename="../main/MainWindow.cpp" line="1949"/>
         <source>Rewind to Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1896"/>
+        <location filename="../main/MainWindow.cpp" line="1950"/>
         <source>Home</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1897"/>
+        <location filename="../main/MainWindow.cpp" line="1951"/>
         <source>Rewind to the start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1901"/>
-        <location filename="../main/MainWindow.cpp" line="2218"/>
+        <location filename="../main/MainWindow.cpp" line="1955"/>
+        <location filename="../main/MainWindow.cpp" line="2360"/>
+        <location filename="../main/MainWindow.cpp" line="2361"/>
+        <source>Rewind</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1956"/>
+        <source>PgUp</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1957"/>
+        <source>Rewind to the previous time instant or time ruler notch</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1961"/>
+        <source>Rewind to Similar Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1962"/>
+        <source>Shift+PgUp</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1963"/>
+        <source>Rewind to the previous similarly valued time instant</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1968"/>
+        <source>Play / Pause</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1970"/>
+        <source>Space</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1971"/>
+        <source>Start or stop playback from the current position</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1980"/>
+        <location filename="../main/MainWindow.cpp" line="2358"/>
+        <source>Fast Forward</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1981"/>
+        <source>PgDown</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1982"/>
+        <source>Fast-forward to the next time instant or time ruler notch</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1986"/>
+        <source>Fast Forward to Similar Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1987"/>
+        <source>Shift+PgDown</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1988"/>
+        <source>Fast-forward to the next similarly valued time instant</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1993"/>
+        <source>Fast Forward to End</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1994"/>
+        <source>End</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1995"/>
+        <source>Fast-forward to the end</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2000"/>
+        <source>Record</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2002"/>
+        <source>Ctrl+Space</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2003"/>
+        <source>Record a new audio file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2010"/>
+        <source>Play Mode Toolbar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2013"/>
+        <source>Constrain Playback to Selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2016"/>
+        <source>s</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2017"/>
+        <source>Constrain playback to the selected regions</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2024"/>
+        <source>Loop Playback</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2027"/>
+        <source>l</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2028"/>
+        <source>Loop playback</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2035"/>
+        <source>Solo Current Pane</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2039"/>
+        <source>o</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2040"/>
+        <source>Solo the current pane during playback</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2049"/>
+        <source>Align File Timelines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2052"/>
+        <source>Treat multiple audio files as versions of the same work, and align their timelines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2107"/>
+        <source>Speed Up</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2108"/>
+        <source>Ctrl+PgUp</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2109"/>
+        <source>Time-stretch playback to speed it up without changing pitch</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2113"/>
+        <source>Slow Down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2114"/>
+        <source>Ctrl+PgDown</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2115"/>
+        <source>Time-stretch playback to slow it down without changing pitch</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2119"/>
+        <source>Restore Normal Speed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2120"/>
+        <source>Ctrl+Home</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2121"/>
+        <source>Restore non-time-stretched playback</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2133"/>
+        <source>Edit Toolbar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2139"/>
+        <location filename="../main/MainWindow.cpp" line="2167"/>
+        <location filename="../main/MainWindow.cpp" line="2196"/>
+        <location filename="../main/MainWindow.cpp" line="2217"/>
+        <location filename="../main/MainWindow.cpp" line="2235"/>
+        <location filename="../main/MainWindow.cpp" line="2253"/>
+        <source>Tool Selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="3937"/>
+        <source>Playback speed: %1% (%2x slower)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="3943"/>
+        <source>Playback speed: %1% (%2x faster)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="4377"/>
+        <source>&lt;b&gt;Layer generation failed&lt;/b&gt;&lt;p&gt;Failed to generate derived layer.&lt;p&gt;The layer transform %1failed:&lt;p&gt;%2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="4384"/>
+        <source>&lt;b&gt;Layer generation failed&lt;/b&gt;&lt;p&gt;Failed to generate a derived layer.&lt;p&gt;The layer transform %1failed.&lt;p&gt;No error information is available.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="4697"/>
+        <source>&lt;h3&gt;Newer version available&lt;/h3&gt;&lt;p&gt;You are using version %1 of Sonic Visualiser, but version %2 is now available.&lt;/p&gt;&lt;p&gt;Please see the &lt;a href=&quot;http://sonicvisualiser.org/&quot;&gt;Sonic Visualiser website&lt;/a&gt; for more information.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2136"/>
+        <source>Tools Toolbar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2141"/>
+        <location filename="../main/MainWindow.cpp" line="2145"/>
+        <location filename="../main/MainWindow.cpp" line="2155"/>
+        <source>Navigate</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2144"/>
+        <source>1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2169"/>
+        <location filename="../main/MainWindow.cpp" line="2181"/>
+        <source>Select</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2171"/>
+        <source>2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2172"/>
+        <source>Select ranges</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2164"/>
+        <location filename="../main/MainWindow.cpp" line="2198"/>
+        <location filename="../main/MainWindow.cpp" line="2214"/>
+        <source>Edit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2153"/>
+        <source>Navigate Tool Mouse Actions</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2156"/>
+        <source>Click left button and drag to move around</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2158"/>
+        <location filename="../main/MainWindow.cpp" line="2273"/>
+        <source>Zoom to Area</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2159"/>
+        <location filename="../main/MainWindow.cpp" line="2274"/>
+        <source>Shift-click left button and drag to zoom to a rectangular area</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2161"/>
+        <source>Relocate</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2161"/>
+        <location filename="../main/MainWindow.cpp" line="2164"/>
+        <location filename="../main/MainWindow.cpp" line="2214"/>
+        <location filename="../main/MainWindow.cpp" line="2270"/>
+        <source>Double-Click Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2162"/>
+        <source>Double-click left button to jump to clicked location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2165"/>
+        <location filename="../main/MainWindow.cpp" line="2215"/>
+        <source>Double-click left button on an item to edit it</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2179"/>
+        <source>Select Tool Mouse Actions</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2182"/>
+        <source>Click left button and drag to select region; drag region edge to resize</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2185"/>
+        <location filename="../main/MainWindow.cpp" line="2189"/>
+        <source>Multi Select</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2186"/>
+        <source>Cmd-click left button and drag to select an additional region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2190"/>
+        <source>Ctrl-click left button and drag to select an additional region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2193"/>
+        <source>Fine Select</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2194"/>
+        <source>Shift-click left button and drag to select without snapping to items or grid</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2200"/>
+        <source>3</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2201"/>
+        <source>Edit items in layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2209"/>
+        <source>Edit Tool Mouse Actions</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2211"/>
+        <source>Move</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2212"/>
+        <source>Click left button on an item or selected region and drag to move</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../main/MainWindow.cpp" line="2219"/>
-        <source>Rewind</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1902"/>
-        <source>PgUp</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1903"/>
-        <source>Rewind to the previous time instant or time ruler notch</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1907"/>
-        <source>Rewind to Similar Point</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1908"/>
-        <source>Shift+PgUp</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1909"/>
-        <source>Rewind to the previous similarly valued time instant</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1914"/>
-        <source>Play / Pause</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1916"/>
-        <source>Space</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1917"/>
-        <source>Start or stop playback from the current position</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1926"/>
-        <location filename="../main/MainWindow.cpp" line="2216"/>
-        <source>Fast Forward</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1927"/>
-        <source>PgDown</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1928"/>
-        <source>Fast-forward to the next time instant or time ruler notch</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1932"/>
-        <source>Fast Forward to Similar Point</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1933"/>
-        <source>Shift+PgDown</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1934"/>
-        <source>Fast-forward to the next similarly valued time instant</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1939"/>
-        <source>Fast Forward to End</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1940"/>
-        <source>End</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1941"/>
-        <source>Fast-forward to the end</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1945"/>
-        <source>Play Mode Toolbar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1948"/>
-        <source>Constrain Playback to Selection</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1951"/>
-        <source>s</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1952"/>
-        <source>Constrain playback to the selected regions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1959"/>
-        <source>Loop Playback</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1962"/>
-        <source>l</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1963"/>
-        <source>Loop playback</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1970"/>
-        <source>Solo Current Pane</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1974"/>
-        <source>o</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1975"/>
-        <source>Solo the current pane during playback</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1984"/>
-        <source>Align File Timelines</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1987"/>
-        <source>Treat multiple audio files as versions of the same work, and align their timelines</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2035"/>
-        <source>Speed Up</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2036"/>
-        <source>Ctrl+PgUp</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2037"/>
-        <source>Time-stretch playback to speed it up without changing pitch</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2041"/>
-        <source>Slow Down</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2042"/>
-        <source>Ctrl+PgDown</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2043"/>
-        <source>Time-stretch playback to slow it down without changing pitch</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2047"/>
-        <source>Restore Normal Speed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2048"/>
-        <source>Ctrl+Home</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2049"/>
-        <source>Restore non-time-stretched playback</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2061"/>
-        <source>Edit Toolbar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2064"/>
-        <source>Tool Selection</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2066"/>
-        <source>Tools Toolbar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2070"/>
-        <location filename="../main/MainWindow.cpp" line="2074"/>
-        <source>Navigate</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2073"/>
-        <source>1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2082"/>
-        <source>Select</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2084"/>
-        <source>2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2085"/>
-        <source>Select ranges</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2092"/>
-        <source>Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2094"/>
-        <source>3</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2095"/>
-        <source>Edit items in layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2103"/>
+        <location filename="../main/MainWindow.cpp" line="2232"/>
         <source>Draw</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2105"/>
+        <location filename="../main/MainWindow.cpp" line="2221"/>
         <source>4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2106"/>
+        <location filename="../main/MainWindow.cpp" line="2222"/>
         <source>Draw new items in layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2114"/>
+        <location filename="../main/MainWindow.cpp" line="2230"/>
+        <source>Draw Tool Mouse Actions</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2233"/>
+        <source>Click left button and drag to create new item</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2237"/>
+        <location filename="../main/MainWindow.cpp" line="2250"/>
         <source>Erase</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2116"/>
+        <location filename="../main/MainWindow.cpp" line="2239"/>
         <source>5</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2117"/>
+        <location filename="../main/MainWindow.cpp" line="2240"/>
         <source>Erase items from layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2124"/>
+        <location filename="../main/MainWindow.cpp" line="2248"/>
+        <source>Erase Tool Mouse Actions</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2251"/>
+        <source>Click left button on an item to remove it from the layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2254"/>
         <source>Measure</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2126"/>
+        <location filename="../main/MainWindow.cpp" line="2256"/>
         <source>6</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2127"/>
+        <location filename="../main/MainWindow.cpp" line="2257"/>
         <source>Make measurements in layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2196"/>
+        <location filename="../main/MainWindow.cpp" line="2265"/>
+        <source>Measure Tool Mouse Actions</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2267"/>
+        <source>Measure Area</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2268"/>
+        <source>Click left button and drag to measure a rectangular area</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2270"/>
+        <source>Measure Item</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2271"/>
+        <source>Click left button and drag to measure extents of an item or shape</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2338"/>
         <source>&amp;Delete Current Measurement</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2197"/>
+        <location filename="../main/MainWindow.cpp" line="2339"/>
         <source>Delete the measurement currently under the mouse pointer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2206"/>
+        <location filename="../main/MainWindow.cpp" line="2348"/>
         <source>Fast Forward to Next Instant</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2207"/>
+        <location filename="../main/MainWindow.cpp" line="2349"/>
         <source>Fast forward to the next time instant in the current layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2208"/>
+        <location filename="../main/MainWindow.cpp" line="2350"/>
         <source>Rewind to Previous Instant</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2209"/>
+        <location filename="../main/MainWindow.cpp" line="2351"/>
         <source>Rewind to the previous time instant in the current layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2211"/>
+        <location filename="../main/MainWindow.cpp" line="2353"/>
         <source>Fast Forward to Next Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2212"/>
+        <location filename="../main/MainWindow.cpp" line="2354"/>
         <source>Fast forward to the next point in the current layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2213"/>
+        <location filename="../main/MainWindow.cpp" line="2355"/>
         <source>Rewind to Previous Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2214"/>
+        <location filename="../main/MainWindow.cpp" line="2356"/>
         <source>Rewind to the previous point in the current layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2217"/>
+        <location filename="../main/MainWindow.cpp" line="2359"/>
         <source>Fast forward</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2228"/>
+        <location filename="../main/MainWindow.cpp" line="2370"/>
         <source>No audio file loaded.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2239"/>
+        <location filename="../main/MainWindow.cpp" line="2381"/>
         <source>%1Hz (resampling to %2Hz)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2310"/>
-        <location filename="../main/MainWindow.cpp" line="2324"/>
-        <location filename="../main/MainWindow.cpp" line="2338"/>
-        <location filename="../main/MainWindow.cpp" line="2577"/>
-        <location filename="../main/MainWindow.cpp" line="2582"/>
-        <location filename="../main/MainWindow.cpp" line="2878"/>
-        <location filename="../main/MainWindow.cpp" line="2898"/>
-        <location filename="../main/MainWindow.cpp" line="2902"/>
+        <location filename="../main/MainWindow.cpp" line="2452"/>
+        <location filename="../main/MainWindow.cpp" line="2466"/>
+        <location filename="../main/MainWindow.cpp" line="2480"/>
+        <location filename="../main/MainWindow.cpp" line="2717"/>
+        <location filename="../main/MainWindow.cpp" line="2722"/>
+        <location filename="../main/MainWindow.cpp" line="3031"/>
+        <location filename="../main/MainWindow.cpp" line="3035"/>
         <source>Failed to open file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2311"/>
-        <location filename="../main/MainWindow.cpp" line="2325"/>
-        <location filename="../main/MainWindow.cpp" line="2339"/>
+        <location filename="../main/MainWindow.cpp" line="2453"/>
+        <location filename="../main/MainWindow.cpp" line="2467"/>
+        <location filename="../main/MainWindow.cpp" line="2481"/>
         <source>&lt;b&gt;File open failed&lt;/b&gt;&lt;p&gt;Audio file &quot;%1&quot; could not be opened</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2407"/>
+        <location filename="../main/MainWindow.cpp" line="2529"/>
+        <source>1. %2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2536"/>
+        <source>%1. %2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2549"/>
         <source>Select audio file to export</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2408"/>
+        <location filename="../main/MainWindow.cpp" line="2550"/>
         <source>Which audio file do you want to export from?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2441"/>
+        <location filename="../main/MainWindow.cpp" line="2583"/>
         <source>Export the selected region only</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2442"/>
+        <location filename="../main/MainWindow.cpp" line="2584"/>
         <source>Export the whole audio file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2446"/>
-        <location filename="../main/MainWindow.cpp" line="2466"/>
-        <location filename="../main/MainWindow.cpp" line="2731"/>
+        <location filename="../main/MainWindow.cpp" line="2588"/>
+        <location filename="../main/MainWindow.cpp" line="2606"/>
+        <location filename="../main/MainWindow.cpp" line="2872"/>
         <source>Select region to export</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2447"/>
+        <location filename="../main/MainWindow.cpp" line="2589"/>
         <source>Which region from the original audio file do you want to export?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2462"/>
+        <location filename="../main/MainWindow.cpp" line="2602"/>
         <source>Export the selected regions into separate files</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2467"/>
+        <location filename="../main/MainWindow.cpp" line="2607"/>
         <source>Multiple regions of the original audio file are selected.
 What do you want to export?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2498"/>
+        <location filename="../main/MainWindow.cpp" line="2638"/>
         <source>Fragment file %1 already exists, aborting</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2542"/>
+        <location filename="../main/MainWindow.cpp" line="2682"/>
         <source>Export multiple audio files</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2544"/>
+        <location filename="../main/MainWindow.cpp" line="2684"/>
         <source>Export audio to &quot;%1&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2548"/>
-        <location filename="../main/MainWindow.cpp" line="2675"/>
+        <location filename="../main/MainWindow.cpp" line="2688"/>
+        <location filename="../main/MainWindow.cpp" line="2816"/>
         <source>Failed to write file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2578"/>
+        <location filename="../main/MainWindow.cpp" line="2718"/>
         <source>&lt;b&gt;File open failed&lt;/b&gt;&lt;p&gt;Layer file %1 could not be opened.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2583"/>
-        <location filename="../main/MainWindow.cpp" line="2903"/>
-        <location filename="../main/MainWindow.cpp" line="2935"/>
-        <location filename="../main/MainWindow.cpp" line="2963"/>
+        <location filename="../main/MainWindow.cpp" line="2723"/>
+        <location filename="../main/MainWindow.cpp" line="3036"/>
+        <location filename="../main/MainWindow.cpp" line="3068"/>
+        <location filename="../main/MainWindow.cpp" line="3096"/>
+        <location filename="../main/MainWindow.cpp" line="3228"/>
+        <source>&lt;b&gt;Audio required&lt;/b&gt;&lt;p&gt;Unable to load layer data from &quot;%1&quot; without an audio file.&lt;br&gt;Please load at least one audio file before importing annotations.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2795"/>
+        <source>Sorry, cannot export this layer type to RDF (supported types are: region, note, text, time instants, time values)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="3135"/>
+        <source>Enter template name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="3140"/>
+        <source>Please enter a name for the saved template:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="3144"/>
+        <source>Set as default template for future audio files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="3164"/>
+        <source>Template file exists</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="3165"/>
+        <source>&lt;b&gt;Template file exists&lt;/b&gt;&lt;p&gt;The template &quot;%1&quot; already exists.&lt;br&gt;Overwrite it?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="4543"/>
+        <source>http://www.sonicvisualiser.org/doc/reference/%1/en/</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="4648"/>
+        <source>&lt;br&gt;With Serd and Sord RDF parser and store &amp;copy; David Robillard</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="4649"/>
+        <source>&lt;br&gt;With Dataquay Qt/RDF library &amp;copy; Chris Cannam</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="4696"/>
+        <source>Newer version available</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2758"/>
+        <source>Failed to open file %1 for writing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="472"/>
+        <source>Abandon the current %1 session and start a new one</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="489"/>
+        <source>&amp;Import More Audio...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="491"/>
+        <source>Import an extra audio file into a new pane</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="498"/>
+        <source>Replace &amp;Main Audio...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="499"/>
+        <source>Replace the main audio file of the session with a different file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="510"/>
+        <source>Open &amp;Recent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="521"/>
+        <source>Save the current session into a %1 session file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="531"/>
+        <source>Save the current session into a new %1 session file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="601"/>
+        <source>Apply Session Template</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="610"/>
+        <source>Export Session as Template...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="617"/>
+        <source>Manage Exported Templates</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="632"/>
+        <source>Exit %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1735"/>
+        <source>Open the %1 reference manual</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1742"/>
+        <source>Open a window showing the keystrokes you can use in %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1747"/>
+        <source>%1 on the &amp;Web</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1748"/>
+        <source>Open the %1 website</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1752"/>
+        <source>&amp;About %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1753"/>
+        <source>Show information about %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2601"/>
+        <source>Export the selected regions into a single file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2603"/>
+        <source>Export the whole file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2783"/>
+        <source>Can&apos;t export non-note layers to MIDI</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2819"/>
+        <source>Export layer to &quot;%1&quot;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2854"/>
+        <source>Export the whole pane (%1x%2 pixels)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2856"/>
+        <source>Export the visible area only (%1x%2 pixels)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2859"/>
+        <source>Export the selection extent (%1x%2 pixels)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2862"/>
+        <source>Export the selection extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2873"/>
+        <source>Which region of the current pane do you want to export as an image?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2881"/>
+        <source>Note: the whole pane is too wide to be exported as a single image.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2906"/>
+        <source>Failed to save image file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2907"/>
+        <source>Failed to save image file %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="3032"/>
+        <source>&lt;b&gt;File open failed&lt;/b&gt;&lt;p&gt;File &quot;%1&quot; could not be opened</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="3049"/>
+        <source>Open Location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="3050"/>
+        <source>Please enter the URL of the location to open:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="3063"/>
+        <location filename="../main/MainWindow.cpp" line="3067"/>
+        <location filename="../main/MainWindow.cpp" line="3091"/>
         <location filename="../main/MainWindow.cpp" line="3095"/>
-        <source>&lt;b&gt;Audio required&lt;/b&gt;&lt;p&gt;Unable to load layer data from &quot;%1&quot; without an audio file.&lt;br&gt;Please load at least one audio file before importing annotations.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2654"/>
-        <source>Sorry, cannot export this layer type to RDF (supported types are: region, note, text, time instants, time values)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="3002"/>
-        <source>Enter template name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="3007"/>
-        <source>Please enter a name for the saved template:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="3011"/>
-        <source>Set as default template for future audio files</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="3031"/>
-        <source>Template file exists</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="3032"/>
-        <source>&lt;b&gt;Template file exists&lt;/b&gt;&lt;p&gt;The template &quot;%1&quot; already exists.&lt;br&gt;Overwrite it?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="3314"/>
-        <source>%1: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="4286"/>
-        <source>http://www.sonicvisualiser.org/doc/reference/%1/en/</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="4391"/>
-        <source>&lt;br&gt;With Serd and Sord RDF parser and store &amp;copy; David Robillard</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="4392"/>
-        <source>&lt;br&gt;With Dataquay Qt/RDF library &amp;copy; Chris Cannam</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="4439"/>
-        <source>Newer version available</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="4440"/>
-        <source>&lt;h3&gt;Newer version available&lt;/h3&gt;&lt;p&gt;You are using version %1 of Sonic Visualiser, but version %3 is now available.&lt;/p&gt;&lt;p&gt;Please see the &lt;a href=&quot;http://sonicvisualiser.org/&quot;&gt;Sonic Visualiser website&lt;/a&gt; for more information.&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2618"/>
-        <source>Failed to open file %1 for writing</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="438"/>
-        <source>Abandon the current %1 session and start a new one</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="455"/>
-        <source>&amp;Import More Audio...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="457"/>
-        <source>Import an extra audio file into a new pane</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="464"/>
-        <source>Replace &amp;Main Audio...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="465"/>
-        <source>Replace the main audio file of the session with a different file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="476"/>
-        <source>Open &amp;Recent</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="488"/>
-        <source>Save the current session into a %1 session file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="499"/>
-        <source>Save the current session into a new %1 session file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="560"/>
-        <source>Apply Session Template</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="569"/>
-        <source>Export Session as Template...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="576"/>
-        <source>Manage Exported Templates</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="591"/>
-        <source>Exit %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1681"/>
-        <source>Open the %1 reference manual</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1688"/>
-        <source>Open a window showing the keystrokes you can use in %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1693"/>
-        <source>%1 on the &amp;Web</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1694"/>
-        <source>Open the %1 website</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1698"/>
-        <source>&amp;About %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="1699"/>
-        <source>Show information about %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2461"/>
-        <source>Export the selected regions into a single file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2463"/>
-        <source>Export the whole file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2642"/>
-        <source>Can&apos;t export non-note layers to MIDI</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2678"/>
-        <source>Export layer to &quot;%1&quot;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2713"/>
-        <source>Export the whole pane (%1x%2 pixels)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2715"/>
-        <source>Export the visible area only (%1x%2 pixels)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2718"/>
-        <source>Export the selection extent (%1x%2 pixels)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2721"/>
-        <source>Export the selection extent</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2732"/>
-        <source>Which region of the current pane do you want to export as an image?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2740"/>
-        <source>Note: the whole pane is too wide to be exported as a single image.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2765"/>
-        <source>Failed to save image file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2766"/>
-        <source>Failed to save image file %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2879"/>
-        <source>&lt;b&gt;File open failed&lt;/b&gt;&lt;p&gt;Session file &quot;%1&quot; could not be opened</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2899"/>
-        <source>&lt;b&gt;File open failed&lt;/b&gt;&lt;p&gt;File &quot;%1&quot; could not be opened</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2916"/>
-        <source>Open Location</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2917"/>
-        <source>Please enter the URL of the location to open:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2930"/>
-        <location filename="../main/MainWindow.cpp" line="2934"/>
-        <location filename="../main/MainWindow.cpp" line="2958"/>
-        <location filename="../main/MainWindow.cpp" line="2962"/>
         <source>Failed to open location</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2931"/>
+        <location filename="../main/MainWindow.cpp" line="3064"/>
         <source>&lt;b&gt;Open failed&lt;/b&gt;&lt;p&gt;URL &quot;%1&quot; could not be opened</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2959"/>
+        <location filename="../main/MainWindow.cpp" line="3092"/>
         <source>&lt;b&gt;Open failed&lt;/b&gt;&lt;p&gt;File or URL &quot;%1&quot; could not be opened</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3089"/>
-        <location filename="../main/MainWindow.cpp" line="3094"/>
+        <location filename="../main/MainWindow.cpp" line="3222"/>
+        <location filename="../main/MainWindow.cpp" line="3227"/>
         <source>Failed to open dropped URL</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3090"/>
+        <location filename="../main/MainWindow.cpp" line="3223"/>
         <source>&lt;b&gt;Open failed&lt;/b&gt;&lt;p&gt;Dropped URL &quot;%1&quot; could not be opened</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3205"/>
+        <location filename="../main/MainWindow.cpp" line="3338"/>
         <source>Export image to &quot;%1&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3226"/>
+        <location filename="../main/MainWindow.cpp" line="3359"/>
         <source>Session modified</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3227"/>
+        <location filename="../main/MainWindow.cpp" line="3360"/>
         <source>&lt;b&gt;Session modified&lt;/b&gt;&lt;p&gt;The current session has been modified.&lt;br&gt;Do you want to save it?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3260"/>
+        <location filename="../main/MainWindow.cpp" line="3393"/>
         <source>Close the current session and create a new one</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3261"/>
+        <location filename="../main/MainWindow.cpp" line="3394"/>
         <source>Add this data to the current session</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3265"/>
+        <location filename="../main/MainWindow.cpp" line="3398"/>
         <source>Select target for import</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3266"/>
+        <location filename="../main/MainWindow.cpp" line="3399"/>
         <source>&lt;b&gt;Select a target for import&lt;/b&gt;&lt;p&gt;This RDF document refers to one or more audio files.&lt;br&gt;You already have an audio waveform loaded.&lt;br&gt;What would you like to do with the new data?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3288"/>
-        <location filename="../main/MainWindow.cpp" line="3311"/>
+        <location filename="../main/MainWindow.cpp" line="3421"/>
+        <location filename="../main/MainWindow.cpp" line="3444"/>
         <source>Failed to save file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3289"/>
-        <location filename="../main/MainWindow.cpp" line="3312"/>
+        <location filename="../main/MainWindow.cpp" line="3422"/>
+        <location filename="../main/MainWindow.cpp" line="3445"/>
         <source>&lt;b&gt;Save failed&lt;/b&gt;&lt;p&gt;Session file &quot;%1&quot; could not be saved.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3321"/>
+        <location filename="../main/MainWindow.cpp" line="3454"/>
         <source>Save session as &quot;%1&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3673"/>
+        <location filename="../main/MainWindow.cpp" line="3788"/>
+        <source>Multiplex all of the above</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="3837"/>
         <source>Rename Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3674"/>
+        <location filename="../main/MainWindow.cpp" line="3838"/>
         <source>New name for this layer:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3765"/>
+        <location filename="../main/MainWindow.cpp" line="3933"/>
         <source>Playback speed: Normal</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3767"/>
-        <source>Playback speed: %1%2%</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="3863"/>
+        <location filename="../main/MainWindow.cpp" line="4062"/>
         <source>Selection: %1 to %2 (duration %3)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3866"/>
+        <location filename="../main/MainWindow.cpp" line="4065"/>
         <source>Visible: %1 to %2 (duration %3)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3914"/>
+        <location filename="../main/MainWindow.cpp" line="4116"/>
         <source>Sample rate mismatch</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3915"/>
+        <location filename="../main/MainWindow.cpp" line="4117"/>
         <source>&lt;b&gt;Wrong sample rate&lt;/b&gt;&lt;p&gt;The sample rate of this audio file (%1 Hz) does not match
 the current playback rate (%2 Hz).&lt;p&gt;The file will play at the wrong speed and pitch.&lt;p&gt;Change the &lt;i&gt;Resample mismatching files on import&lt;/i&gt; option under &lt;i&gt;File&lt;/i&gt; -&gt; &lt;i&gt;Preferences&lt;/i&gt; if you want to alter this behaviour.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3926"/>
-        <location filename="../main/MainWindow.cpp" line="3936"/>
+        <location filename="../main/MainWindow.cpp" line="4128"/>
+        <location filename="../main/MainWindow.cpp" line="4138"/>
         <source>Audio processing overload</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3927"/>
+        <location filename="../main/MainWindow.cpp" line="4129"/>
         <source>&lt;b&gt;Overloaded&lt;/b&gt;&lt;p&gt;Audio effects plugin auditioning has been disabled due to a processing overload.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3937"/>
+        <location filename="../main/MainWindow.cpp" line="4139"/>
         <source>&lt;b&gt;Overloaded&lt;/b&gt;&lt;p&gt;Audio playback speed processing has been reduced to a single channel, due to a processing overload.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4007"/>
+        <location filename="../main/MainWindow.cpp" line="4146"/>
+        <source>Problems loading plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="4224"/>
         <source>Add Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4108"/>
+        <location filename="../main/MainWindow.cpp" line="4352"/>
         <source>Reset Counters</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4127"/>
-        <location filename="../main/MainWindow.cpp" line="4134"/>
+        <location filename="../main/MainWindow.cpp" line="4376"/>
+        <location filename="../main/MainWindow.cpp" line="4383"/>
         <source>Failed to generate layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4128"/>
-        <source>&lt;b&gt;Layer generation failed&lt;/b&gt;&lt;p&gt;Failed to generate derived layer.&lt;p&gt;The layer transform &quot;%1&quot; failed:&lt;p&gt;%2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="4135"/>
-        <source>&lt;b&gt;Layer generation failed&lt;/b&gt;&lt;p&gt;Failed to generate a derived layer.&lt;p&gt;The layer transform &quot;%1&quot; failed.&lt;p&gt;No error information is available.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="4147"/>
-        <location filename="../main/MainWindow.cpp" line="4181"/>
+        <location filename="../main/MainWindow.cpp" line="4396"/>
+        <location filename="../main/MainWindow.cpp" line="4431"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4160"/>
-        <location filename="../main/MainWindow.cpp" line="4167"/>
+        <location filename="../main/MainWindow.cpp" line="4409"/>
+        <location filename="../main/MainWindow.cpp" line="4416"/>
         <source>Failed to regenerate layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4161"/>
+        <location filename="../main/MainWindow.cpp" line="4410"/>
         <source>&lt;b&gt;Layer generation failed&lt;/b&gt;&lt;p&gt;Failed to regenerate derived layer &quot;%1&quot; using new data model as input.&lt;p&gt;The layer transform &quot;%2&quot; failed:&lt;p&gt;%3</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4168"/>
+        <location filename="../main/MainWindow.cpp" line="4417"/>
         <source>&lt;b&gt;Layer generation failed&lt;/b&gt;&lt;p&gt;Failed to regenerate derived layer &quot;%1&quot; using new data model as input.&lt;p&gt;The layer transform &quot;%2&quot; failed.&lt;p&gt;No error information is available.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4181"/>
+        <location filename="../main/MainWindow.cpp" line="4431"/>
         <source>&lt;b&gt;Warning when regenerating layer&lt;/b&gt;&lt;p&gt;When regenerating the derived layer &quot;%1&quot; using new data model as input:&lt;p&gt;%2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4191"/>
+        <location filename="../main/MainWindow.cpp" line="4441"/>
         <source>Failed to calculate alignment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4192"/>
+        <location filename="../main/MainWindow.cpp" line="4442"/>
         <source>&lt;b&gt;Alignment calculation failed&lt;/b&gt;&lt;p&gt;Failed to calculate an audio alignment using transform &quot;%1&quot;:&lt;p&gt;%2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4265"/>
+        <location filename="../main/MainWindow.cpp" line="4522"/>
         <source>Adjust the master playback level</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4267"/>
+        <location filename="../main/MainWindow.cpp" line="4524"/>
         <source>Adjust the master playback speed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4280"/>
+        <location filename="../main/MainWindow.cpp" line="4537"/>
         <source>http://www.sonicvisualiser.org/</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4300"/>
+        <location filename="../main/MainWindow.cpp" line="4557"/>
         <source>Release %1 : Revision %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4302"/>
+        <location filename="../main/MainWindow.cpp" line="4559"/>
         <source>Release %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4306"/>
+        <location filename="../main/MainWindow.cpp" line="4563"/>
         <source>Unreleased : Revision %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4312"/>
+        <location filename="../main/MainWindow.cpp" line="4569"/>
         <source>&lt;h3&gt;About Sonic Visualiser&lt;/h3&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4313"/>
+        <location filename="../main/MainWindow.cpp" line="4570"/>
         <source>&lt;p&gt;Sonic Visualiser is a program for viewing and exploring audio data for semantic music analysis and annotation.&lt;br&gt;&lt;a href=&quot;http://www.sonicvisualiser.org/&quot;&gt;http://www.sonicvisualiser.org/&lt;/a&gt;&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4314"/>
+        <location filename="../main/MainWindow.cpp" line="4571"/>
         <source>&lt;p&gt;&lt;small&gt;%1 : %2 configuration&lt;/small&gt;&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4316"/>
+        <location filename="../main/MainWindow.cpp" line="4573"/>
         <source>Debug</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4316"/>
+        <location filename="../main/MainWindow.cpp" line="4573"/>
         <source>Release</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4320"/>
+        <location filename="../main/MainWindow.cpp" line="4577"/>
         <source>With Qt v%1 &amp;copy; Nokia Corporation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4324"/>
+        <location filename="../main/MainWindow.cpp" line="4581"/>
         <source>&lt;br&gt;With JACK audio output library v%1 &amp;copy; Paul Davis and Jack O&apos;Quin</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4326"/>
+        <location filename="../main/MainWindow.cpp" line="4583"/>
         <source>&lt;br&gt;With JACK audio output library &amp;copy; Paul Davis and Jack O&apos;Quin</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4330"/>
+        <location filename="../main/MainWindow.cpp" line="4587"/>
         <source>&lt;br&gt;With PortAudio audio output library &amp;copy; Ross Bencina and Phil Burk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4334"/>
+        <location filename="../main/MainWindow.cpp" line="4591"/>
         <source>&lt;br&gt;With PulseAudio audio output library v%1 &amp;copy; Lennart Poettering and Pierre Ossman</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4336"/>
+        <location filename="../main/MainWindow.cpp" line="4593"/>
         <source>&lt;br&gt;With PulseAudio audio output library &amp;copy; Lennart Poettering and Pierre Ossman</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4341"/>
+        <location filename="../main/MainWindow.cpp" line="4598"/>
         <source>&lt;br&gt;With Ogg file decoder (oggz v%1, fishsound v%2) &amp;copy; CSIRO Australia</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4343"/>
+        <location filename="../main/MainWindow.cpp" line="4600"/>
         <source>&lt;br&gt;With Ogg file decoder &amp;copy; CSIRO Australia</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4348"/>
+        <location filename="../main/MainWindow.cpp" line="4605"/>
         <source>&lt;br&gt;With MAD mp3 decoder v%1 &amp;copy; Underbit Technologies Inc</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4350"/>
+        <location filename="../main/MainWindow.cpp" line="4607"/>
         <source>&lt;br&gt;With MAD mp3 decoder &amp;copy; Underbit Technologies Inc</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4355"/>
+        <location filename="../main/MainWindow.cpp" line="4612"/>
         <source>&lt;br&gt;With libsamplerate v%1 &amp;copy; Erik de Castro Lopo</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4357"/>
+        <location filename="../main/MainWindow.cpp" line="4614"/>
         <source>&lt;br&gt;With libsamplerate &amp;copy; Erik de Castro Lopo</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4362"/>
+        <location filename="../main/MainWindow.cpp" line="4619"/>
         <source>&lt;br&gt;With libsndfile v%1 &amp;copy; Erik de Castro Lopo</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4364"/>
+        <location filename="../main/MainWindow.cpp" line="4621"/>
         <source>&lt;br&gt;With libsndfile &amp;copy; Erik de Castro Lopo</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4369"/>
+        <location filename="../main/MainWindow.cpp" line="4626"/>
         <source>&lt;br&gt;With FFTW3 v%1 &amp;copy; Matteo Frigo and MIT</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4371"/>
+        <location filename="../main/MainWindow.cpp" line="4628"/>
         <source>&lt;br&gt;With FFTW3 &amp;copy; Matteo Frigo and MIT</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4376"/>
+        <location filename="../main/MainWindow.cpp" line="4633"/>
         <source>&lt;br&gt;With Rubber Band v%1 &amp;copy; Chris Cannam</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4378"/>
+        <location filename="../main/MainWindow.cpp" line="4635"/>
         <source>&lt;br&gt;With Rubber Band &amp;copy; Chris Cannam</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4382"/>
+        <location filename="../main/MainWindow.cpp" line="4639"/>
         <source>&lt;br&gt;With Vamp plugin support (API v%1, host SDK v%2) &amp;copy; Chris Cannam</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4384"/>
+        <location filename="../main/MainWindow.cpp" line="4641"/>
         <source>&lt;br&gt;With LADSPA plugin support (API v%1) &amp;copy; Richard Furse, Paul Davis, Stefan Westerfeld</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4385"/>
+        <location filename="../main/MainWindow.cpp" line="4642"/>
         <source>&lt;br&gt;With DSSI plugin support (API v%1) &amp;copy; Chris Cannam, Steve Harris, Sean Bolton</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4387"/>
+        <location filename="../main/MainWindow.cpp" line="4644"/>
         <source>&lt;br&gt;With Redland RDF datastore v%1 &amp;copy; Dave Beckett and the University of Bristol</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4389"/>
+        <location filename="../main/MainWindow.cpp" line="4646"/>
         <source>&lt;br&gt;With Redland RDF datastore &amp;copy; Dave Beckett and the University of Bristol</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4394"/>
+        <location filename="../main/MainWindow.cpp" line="4651"/>
         <source>&lt;br&gt;With RtMidi &amp;copy; Gary P. Scavone</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4398"/>
+        <location filename="../main/MainWindow.cpp" line="4655"/>
         <source>&lt;br&gt;With liblo Lite OSC library v%1 &amp;copy; Steve Harris</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4400"/>
+        <location filename="../main/MainWindow.cpp" line="4657"/>
         <source>&lt;br&gt;With liblo Lite OSC library &amp;copy; Steve Harris</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4404"/>
+        <location filename="../main/MainWindow.cpp" line="4661"/>
         <source>&lt;/small&gt;&lt;p&gt;&lt;small&gt;The OSC URL for this instance is: &quot;%1&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4411"/>
+        <location filename="../main/MainWindow.cpp" line="4668"/>
         <source>With </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4411"/>
+        <location filename="../main/MainWindow.cpp" line="4668"/>
         <source>Using </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4423"/>
+        <location filename="../main/MainWindow.cpp" line="4680"/>
         <source>About Sonic Visualiser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/OSCHandler.cpp" line="318"/>
+        <location filename="../main/OSCHandler.cpp" line="319"/>
         <source>Add %1 Pane</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3985,208 +4492,215 @@
 <context>
     <name>MainWindowBase</name>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="481"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="645"/>
         <source>%1 (modified)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="496"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="660"/>
         <source> (modified)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="694"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="858"/>
         <source>Cut</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="765"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="929"/>
         <source>Paste</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="869"/>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="892"/>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="982"/>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1001"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1035"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1058"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1148"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1167"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1186"/>
         <source>Add Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="923"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1089"/>
         <source>Add Point at %1 s</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="966"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1132"/>
         <source>Add Item at %1 s</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1042"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1227"/>
         <source>Opening file or URL...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1169"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1366"/>
         <source>Select target for import</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1268"/>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1687"/>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1814"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1468"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1892"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2022"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2763"/>
         <source>%1: %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1275"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1475"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2770"/>
         <source>%1: %2 [%3]</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1290"/>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1331"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1490"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1531"/>
         <source>Import &quot;%1&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1385"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1587"/>
         <source>Opening playlist...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1831"/>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1855"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2041"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2065"/>
         <source>Importing from RDF...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1590"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1792"/>
         <source>Opening session...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1163"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1360"/>
         <source>Close the current session and start a new one</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1164"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1361"/>
         <source>Replace the main audio file in this session</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1165"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1362"/>
         <source>Add the audio file to this session</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1170"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1367"/>
         <source>&lt;b&gt;Select a target for import&lt;/b&gt;&lt;p&gt;You already have an audio file loaded.&lt;br&gt;What would you like to do with the new audio file?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1249"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1449"/>
         <source>Import audio file &quot;%1&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1471"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1673"/>
         <source>Import layer XML file &quot;%1&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1505"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1707"/>
         <source>Import MIDI file &quot;%1&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1672"/>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1770"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1877"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1976"/>
         <source>SV XML file read error:
 %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1685"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1890"/>
         <source>Import session file &quot;%1&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1782"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1988"/>
         <source>Open session template &quot;%1&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1846"/>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1859"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2056"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2069"/>
         <source>Failed to import RDF</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1847"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2057"/>
         <source>&lt;b&gt;Failed to import RDF&lt;/b&gt;&lt;p&gt;Importing data from RDF document at &quot;%1&quot; failed: %2&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1860"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2070"/>
         <source>&lt;b&gt;Failed to import RDF&lt;/b&gt;&lt;p&gt;No suitable data models found for import from RDF document at &quot;%1&quot;&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1864"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2074"/>
         <source>Import RDF document &quot;%1&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1992"/>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1997"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2217"/>
         <source>Couldn&apos;t open audio device</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1993"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2218"/>
         <source>&lt;b&gt;No audio available&lt;/b&gt;&lt;p&gt;Could not open an audio device for playback.&lt;p&gt;Automatic audio device detection failed. Audio playback will not be available during this session.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1998"/>
-        <source>&lt;b&gt;No audio available&lt;/b&gt;&lt;p&gt;Failed to open your preferred audio device (&quot;%1&quot;).&lt;p&gt;Audio playback will not be available during this session.&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="2079"/>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="2092"/>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="2129"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="3392"/>
+        <source>Recording: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2308"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2321"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2359"/>
         <source>Failed to write file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="2080"/>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="2093"/>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="2130"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2309"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2322"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2360"/>
         <source>&lt;b&gt;Save failed&lt;/b&gt;&lt;p&gt;Failed to write to file &quot;%1&quot;: %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="2678"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2783"/>
+        <source>Import Recorded Audio</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="3075"/>
         <source>Add Pane</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="2723"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="3121"/>
         <source>Remove Pane</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="2746"/>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="3127"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="3144"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="3561"/>
         <source>Delete Pane</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="2960"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="3380"/>
         <source>Playing: %1 of %2 (%3 remaining)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4194,77 +4708,77 @@
 <context>
     <name>ModelDataTableDialog</name>
     <message>
-        <location filename="../../svgui/widgets/ModelDataTableDialog.cpp" line="45"/>
+        <location filename="../svgui/widgets/ModelDataTableDialog.cpp" line="45"/>
         <source>Data Editor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ModelDataTableDialog.cpp" line="49"/>
+        <location filename="../svgui/widgets/ModelDataTableDialog.cpp" line="49"/>
         <source>Playback Toolbar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ModelDataTableDialog.cpp" line="51"/>
+        <location filename="../svgui/widgets/ModelDataTableDialog.cpp" line="51"/>
         <source>Play Mode Toolbar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ModelDataTableDialog.cpp" line="55"/>
+        <location filename="../svgui/widgets/ModelDataTableDialog.cpp" line="55"/>
         <source>Track Playback</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ModelDataTableDialog.cpp" line="56"/>
+        <location filename="../svgui/widgets/ModelDataTableDialog.cpp" line="56"/>
         <source>Toggle tracking of playback position</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ModelDataTableDialog.cpp" line="62"/>
+        <location filename="../svgui/widgets/ModelDataTableDialog.cpp" line="62"/>
         <source>Edit Toolbar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ModelDataTableDialog.cpp" line="64"/>
+        <location filename="../svgui/widgets/ModelDataTableDialog.cpp" line="64"/>
         <source>Insert New Item</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ModelDataTableDialog.cpp" line="65"/>
+        <location filename="../svgui/widgets/ModelDataTableDialog.cpp" line="65"/>
         <source>Insert</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ModelDataTableDialog.cpp" line="66"/>
+        <location filename="../svgui/widgets/ModelDataTableDialog.cpp" line="66"/>
         <source>Insert a new item</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ModelDataTableDialog.cpp" line="70"/>
+        <location filename="../svgui/widgets/ModelDataTableDialog.cpp" line="70"/>
         <source>Delete Selected Items</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ModelDataTableDialog.cpp" line="71"/>
+        <location filename="../svgui/widgets/ModelDataTableDialog.cpp" line="71"/>
         <source>Delete</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ModelDataTableDialog.cpp" line="72"/>
+        <location filename="../svgui/widgets/ModelDataTableDialog.cpp" line="72"/>
         <source>Delete the selected item or items</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ModelDataTableDialog.cpp" line="96"/>
+        <location filename="../svgui/widgets/ModelDataTableDialog.cpp" line="96"/>
         <source>Data in Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ModelDataTableDialog.cpp" line="107"/>
+        <location filename="../svgui/widgets/ModelDataTableDialog.cpp" line="107"/>
         <source>Find:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ModelDataTableDialog.cpp" line="108"/>
+        <location filename="../svgui/widgets/ModelDataTableDialog.cpp" line="108"/>
         <source> </source>
         <translation type="unfinished"></translation>
     </message>
@@ -4272,22 +4786,22 @@
 <context>
     <name>ModelMetadataModel</name>
     <message>
-        <location filename="../../svgui/widgets/LayerTree.cpp" line="227"/>
+        <location filename="../svgui/widgets/LayerTree.cpp" line="227"/>
         <source>Type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/LayerTree.cpp" line="228"/>
+        <location filename="../svgui/widgets/LayerTree.cpp" line="228"/>
         <source>Name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/LayerTree.cpp" line="229"/>
+        <location filename="../svgui/widgets/LayerTree.cpp" line="229"/>
         <source>Maker</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/LayerTree.cpp" line="230"/>
+        <location filename="../svgui/widgets/LayerTree.cpp" line="230"/>
         <source>Source</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4295,88 +4809,106 @@
 <context>
     <name>ModelTransformerFactory</name>
     <message>
-        <location filename="../../svcore/transform/ModelTransformerFactory.cpp" line="76"/>
+        <location filename="../svcore/transform/ModelTransformerFactory.cpp" line="78"/>
         <source>%1 &lt;%2&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/ModelTransformerFactory.cpp" line="217"/>
+        <location filename="../svcore/transform/ModelTransformerFactory.cpp" line="239"/>
         <source>%1: %2</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
+    <name>NetworkPermissionTester</name>
+    <message>
+        <location filename="../main/NetworkPermissionTester.cpp" line="44"/>
+        <source>Welcome to Sonic Visualiser</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/NetworkPermissionTester.cpp" line="53"/>
+        <source>&lt;h2&gt;Welcome to Sonic Visualiser!&lt;/h2&gt;&lt;p&gt;&lt;img src=&quot;:icons/qm-logo-smaller.png&quot; style=&quot;float:right&quot;&gt;Sonic Visualiser is a program for viewing and exploring audio data for semantic music analysis and annotation.&lt;/p&gt;&lt;p&gt;Developed in the Centre for Digital Music at Queen Mary, University of London, Sonic Visualiser is provided free as open source software under the GNU General Public License.&lt;/p&gt;&lt;p&gt;&lt;hr&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Before we go on...&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Sonic Visualiser would like to make networking connections and open a network port.&lt;/p&gt;&lt;p&gt;This is to:&lt;/p&gt;&lt;ul&gt;&lt;li&gt; Find information about available and installed plugins;&lt;/li&gt;&lt;li&gt; Support the use of Open Sound Control, where configured; and&lt;/li&gt;&lt;li&gt; Tell you when updates are available.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;No personal information will be sent, no tracking is carried out, and all requests happen in the background without interrupting your work.&lt;/p&gt;&lt;p&gt;We recommend that you allow this, because it makes Sonic Visualiser more useful. But if you do not wish to do so, please un-check the box below.&lt;br&gt;&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/NetworkPermissionTester.cpp" line="69"/>
+        <source>Allow this</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>NoteLayer</name>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="45"/>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="46"/>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="807"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="56"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="57"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="897"/>
         <source>New Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="83"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="94"/>
         <source>Vertical Scale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="84"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="95"/>
         <source>Scale Units</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="100"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="111"/>
         <source>Scale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="142"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="160"/>
         <source>Auto-Align</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="143"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="161"/>
         <source>Linear</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="144"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="162"/>
         <source>Log</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="145"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="163"/>
         <source>MIDI Notes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="447"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="473"/>
         <source>In progress</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="449"/>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="472"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="475"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="498"/>
         <source>No local points</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="486"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="512"/>
         <source>%1 (%2, %3 Hz)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="493"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="519"/>
         <source>%1 Hz (%2, %3)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="499"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="525"/>
         <source>%1 %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="506"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="532"/>
         <source>Time:	%1
 Pitch:	%2
 Duration:	%3
@@ -4384,7 +4916,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="511"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="537"/>
         <source>Time:	%1
 Pitch:	%2
 Duration:	%3
@@ -4392,68 +4924,68 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="812"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="902"/>
         <source>Draw Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="888"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="978"/>
         <source>Erase Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="940"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="1030"/>
         <source>Drag Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="961"/>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="1009"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="1051"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="1099"/>
         <source>Edit Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="963"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="1053"/>
         <source>Relocate Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="966"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="1056"/>
         <source>Change Point Value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="1025"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="1115"/>
         <source>Drag Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="1050"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="1140"/>
         <source>Resize Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="1089"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="1179"/>
         <source>Delete Selected Points</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="1135"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="1225"/>
         <source>Re-align pasted items?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="1136"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="1226"/>
         <source>The items you are pasting came from a layer with different source material from this one.  Do you want to re-align them in time, to match the source material for this layer?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="1150"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="1240"/>
         <source>Paste</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="1221"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="1311"/>
         <source>Record Note</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4461,47 +4993,47 @@
 <context>
     <name>NoteModel</name>
     <message>
-        <location filename="../../svcore/data/model/NoteModel.h" line="126"/>
+        <location filename="../svcore/data/model/NoteModel.h" line="129"/>
         <source>Note</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/NoteModel.h" line="166"/>
+        <location filename="../svcore/data/model/NoteModel.h" line="164"/>
         <source>Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/NoteModel.h" line="167"/>
+        <location filename="../svcore/data/model/NoteModel.h" line="165"/>
         <source>Frame</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/NoteModel.h" line="168"/>
+        <location filename="../svcore/data/model/NoteModel.h" line="166"/>
         <source>Pitch</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/NoteModel.h" line="169"/>
+        <location filename="../svcore/data/model/NoteModel.h" line="167"/>
         <source>Duration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/NoteModel.h" line="170"/>
+        <location filename="../svcore/data/model/NoteModel.h" line="168"/>
         <source>Level</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/NoteModel.h" line="171"/>
+        <location filename="../svcore/data/model/NoteModel.h" line="169"/>
         <source>Label</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/NoteModel.h" line="172"/>
+        <location filename="../svcore/data/model/NoteModel.h" line="170"/>
         <source>Unknown</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/NoteModel.h" line="202"/>
+        <location filename="../svcore/data/model/NoteModel.h" line="200"/>
         <source>Edit Data</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4509,7 +5041,7 @@
 <context>
     <name>OggVorbisFileReader</name>
     <message>
-        <location filename="../../svcore/data/fileio/OggVorbisFileReader.cpp" line="76"/>
+        <location filename="../svcore/data/fileio/OggVorbisFileReader.cpp" line="77"/>
         <source>Decoding %1...</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4517,12 +5049,12 @@
 <context>
     <name>Overview</name>
     <message>
-        <location filename="../../svgui/view/Overview.cpp" line="32"/>
+        <location filename="../svgui/view/Overview.cpp" line="33"/>
         <source>Overview</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Overview.cpp" line="278"/>
+        <location filename="../svgui/view/Overview.cpp" line="362"/>
         <source>Click and drag to navigate; double-click to jump</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4530,465 +5062,300 @@
 <context>
     <name>Pane</name>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="128"/>
+        <location filename="../svgui/view/Pane.cpp" line="141"/>
         <source>Horizontal Zoom</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="154"/>
+        <location filename="../svgui/view/Pane.cpp" line="167"/>
         <source>Vertical Zoom</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="175"/>
+        <location filename="../svgui/view/Pane.cpp" line="188"/>
         <source>Reset zoom to default</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="657"/>
+        <location filename="../svgui/view/Pane.cpp" line="675"/>
         <source>Some lengthy prefix:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="787"/>
+        <location filename="../svgui/view/Pane.cpp" line="836"/>
         <source>Reference</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="789"/>
-        <location filename="../../svgui/view/Pane.cpp" line="793"/>
+        <location filename="../svgui/view/Pane.cpp" line="838"/>
+        <location filename="../svgui/view/Pane.cpp" line="842"/>
         <source>Unaligned</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="795"/>
+        <location filename="../svgui/view/Pane.cpp" line="844"/>
         <source>Aligning: %1%</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="797"/>
+        <location filename="../svgui/view/Pane.cpp" line="846"/>
         <source>Aligned</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="839"/>
+        <location filename="../svgui/view/Pane.cpp" line="888"/>
         <source>%1 - %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="949"/>
-        <location filename="../../svgui/view/Pane.cpp" line="965"/>
+        <location filename="../svgui/view/Pane.cpp" line="998"/>
+        <location filename="../svgui/view/Pane.cpp" line="1014"/>
         <source>+%1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1015"/>
+        <location filename="../svgui/view/Pane.cpp" line="1064"/>
         <source>(R)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1018"/>
+        <location filename="../svgui/view/Pane.cpp" line="1067"/>
         <source>(X)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1022"/>
+        <location filename="../svgui/view/Pane.cpp" line="1071"/>
         <source>%1 / %2Hz%3</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1209"/>
-        <location filename="../../svgui/view/Pane.cpp" line="1215"/>
+        <location filename="../svgui/view/Pane.cpp" line="1255"/>
+        <location filename="../svgui/view/Pane.cpp" line="1261"/>
         <source>Zoom</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1210"/>
+        <location filename="../svgui/view/Pane.cpp" line="1256"/>
         <source>Zoom In</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1210"/>
+        <location filename="../svgui/view/Pane.cpp" line="1256"/>
         <source>Wheel Up</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1211"/>
+        <location filename="../svgui/view/Pane.cpp" line="1257"/>
         <source>Zoom Out</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1211"/>
+        <location filename="../svgui/view/Pane.cpp" line="1257"/>
         <source>Wheel Down</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1213"/>
+        <location filename="../svgui/view/Pane.cpp" line="1259"/>
         <source>General Pane Mouse Actions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1215"/>
+        <location filename="../svgui/view/Pane.cpp" line="1261"/>
         <source>Wheel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1216"/>
+        <location filename="../svgui/view/Pane.cpp" line="1262"/>
         <source>Zoom in or out in time axis</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1217"/>
+        <location filename="../svgui/view/Pane.cpp" line="1263"/>
         <source>Scroll</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1217"/>
+        <location filename="../svgui/view/Pane.cpp" line="1263"/>
         <source>Ctrl+Wheel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1218"/>
+        <location filename="../svgui/view/Pane.cpp" line="1264"/>
         <source>Scroll rapidly left or right in time axis</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1219"/>
+        <location filename="../svgui/view/Pane.cpp" line="1265"/>
         <source>Zoom Vertically</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1219"/>
+        <location filename="../svgui/view/Pane.cpp" line="1265"/>
         <source>Shift+Wheel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1220"/>
+        <location filename="../svgui/view/Pane.cpp" line="1266"/>
         <source>Zoom in or out in the vertical axis</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1221"/>
+        <location filename="../svgui/view/Pane.cpp" line="1267"/>
         <source>Scroll Vertically</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1221"/>
+        <location filename="../svgui/view/Pane.cpp" line="1267"/>
         <source>Alt+Wheel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1222"/>
+        <location filename="../svgui/view/Pane.cpp" line="1268"/>
         <source>Scroll up or down in the vertical axis</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1223"/>
-        <location filename="../../svgui/view/Pane.cpp" line="1232"/>
+        <location filename="../svgui/view/Pane.cpp" line="1269"/>
         <source>Navigate</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1223"/>
+        <location filename="../svgui/view/Pane.cpp" line="1269"/>
         <source>Middle</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1224"/>
+        <location filename="../svgui/view/Pane.cpp" line="1270"/>
         <source>Click middle button and drag to navigate with any tool</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1225"/>
-        <location filename="../../svgui/view/Pane.cpp" line="1236"/>
+        <location filename="../svgui/view/Pane.cpp" line="1271"/>
         <source>Relocate</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1225"/>
+        <location filename="../svgui/view/Pane.cpp" line="1271"/>
         <source>Double-Click Middle</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1226"/>
+        <location filename="../svgui/view/Pane.cpp" line="1272"/>
         <source>Double-click middle button to relocate with any tool</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1227"/>
+        <location filename="../svgui/view/Pane.cpp" line="1273"/>
         <source>Menu</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1227"/>
+        <location filename="../svgui/view/Pane.cpp" line="1273"/>
         <source>Right</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1228"/>
+        <location filename="../svgui/view/Pane.cpp" line="1274"/>
         <source>Show pane context menu</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1230"/>
-        <source>Navigate Tool Mouse Actions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1232"/>
-        <location filename="../../svgui/view/Pane.cpp" line="1242"/>
-        <location filename="../../svgui/view/Pane.cpp" line="1254"/>
-        <location filename="../../svgui/view/Pane.cpp" line="1260"/>
-        <location filename="../../svgui/view/Pane.cpp" line="1264"/>
-        <source>Left</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1233"/>
-        <source>Click left button and drag to move around</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1234"/>
-        <location filename="../../svgui/view/Pane.cpp" line="1268"/>
-        <source>Zoom to Area</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1234"/>
-        <location filename="../../svgui/view/Pane.cpp" line="1250"/>
-        <location filename="../../svgui/view/Pane.cpp" line="1268"/>
-        <source>Shift+Left</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1235"/>
-        <location filename="../../svgui/view/Pane.cpp" line="1269"/>
-        <source>Shift-click left button and drag to zoom to a rectangular area</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1236"/>
-        <location filename="../../svgui/view/Pane.cpp" line="1238"/>
-        <location filename="../../svgui/view/Pane.cpp" line="1256"/>
-        <location filename="../../svgui/view/Pane.cpp" line="1266"/>
-        <source>Double-Click Left</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1237"/>
-        <source>Double-click left button to jump to clicked location</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1238"/>
-        <location filename="../../svgui/view/Pane.cpp" line="1256"/>
-        <source>Edit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1239"/>
-        <location filename="../../svgui/view/Pane.cpp" line="1257"/>
-        <source>Double-click left button on an item to edit it</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1241"/>
-        <source>Select Tool Mouse Actions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1242"/>
-        <source>Select</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1243"/>
-        <source>Click left button and drag to select region; drag region edge to resize</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1244"/>
-        <source>Multi Select</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1244"/>
-        <source>Ctrl+Left</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1246"/>
-        <source>Cmd-click left button and drag to select an additional region</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1248"/>
-        <source>Ctrl-click left button and drag to select an additional region</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1250"/>
-        <source>Fine Select</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1251"/>
-        <source>Shift-click left button and drag to select without snapping to items or grid</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1253"/>
-        <source>Edit Tool Mouse Actions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1254"/>
-        <source>Move</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1255"/>
-        <source>Click left button on an item or selected region and drag to move</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1259"/>
-        <source>Draw Tool Mouse Actions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1260"/>
-        <source>Draw</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1261"/>
-        <source>Click left button and drag to create new item</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1263"/>
-        <source>Measure Tool Mouse Actions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1264"/>
-        <source>Measure Area</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1265"/>
-        <source>Click left button and drag to measure a rectangular area</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1266"/>
-        <source>Measure Item</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1267"/>
-        <source>Click left button and drag to measure extents of an item or shape</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2234"/>
+        <location filename="../svgui/view/Pane.cpp" line="2508"/>
         <source>Enter new range</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2235"/>
+        <location filename="../svgui/view/Pane.cpp" line="2509"/>
         <source>New vertical display range, from %1 to %2 %4:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2354"/>
+        <location filename="../svgui/view/Pane.cpp" line="2631"/>
         <source>Drag Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2361"/>
+        <location filename="../svgui/view/Pane.cpp" line="2638"/>
         <source>Resize Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2520"/>
+        <location filename="../svgui/view/Pane.cpp" line="2802"/>
         <source>Click and drag to navigate</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2531"/>
+        <location filename="../svgui/view/Pane.cpp" line="2813"/>
         <source>Click and drag to select a range; hold Shift to avoid snapping to items; hold Cmd for multi-select; middle-click and drag to navigate</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2533"/>
+        <location filename="../svgui/view/Pane.cpp" line="2815"/>
         <source>Click and drag to select a range; hold Cmd for multi-select; middle-click and drag to navigate</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2537"/>
+        <location filename="../svgui/view/Pane.cpp" line="2819"/>
         <source>Click and drag to select a range; hold Shift to avoid snapping to items; hold Ctrl for multi-select; middle-click and drag to navigate</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2539"/>
+        <location filename="../svgui/view/Pane.cpp" line="2821"/>
         <source>Click and drag to select a range; hold Ctrl for multi-select; middle-click and drag to navigate</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2548"/>
+        <location filename="../svgui/view/Pane.cpp" line="2830"/>
         <source>Click and drag to move the selection boundary</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2553"/>
+        <location filename="../svgui/view/Pane.cpp" line="2835"/>
         <source>Click and drag to select a range; hold Shift to avoid snapping to items; middle-click to navigate</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2555"/>
+        <location filename="../svgui/view/Pane.cpp" line="2837"/>
         <source>Click and drag to select a range; middle-click and drag to navigate</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2563"/>
+        <location filename="../svgui/view/Pane.cpp" line="2845"/>
         <source>Click to add a new item in the active layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2570"/>
+        <location filename="../svgui/view/Pane.cpp" line="2852"/>
         <source>Click to erase an item from the active layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2577"/>
+        <location filename="../svgui/view/Pane.cpp" line="2859"/>
         <source>Click and drag an item in the active layer to move it; hold Shift to override initial resistance</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2582"/>
+        <location filename="../svgui/view/Pane.cpp" line="2864"/>
         <source>Click and drag to move all items in the selected range</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2598"/>
+        <location filename="../svgui/view/Pane.cpp" line="2880"/>
         <source>Click and drag to adjust the visible range of the vertical scale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2600"/>
+        <location filename="../svgui/view/Pane.cpp" line="2882"/>
         <source>Click and drag to adjust the vertical zoom level</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2602"/>
+        <location filename="../svgui/view/Pane.cpp" line="2884"/>
         <source>Click and drag to adjust the horizontal zoom level</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2604"/>
+        <location filename="../svgui/view/Pane.cpp" line="2886"/>
         <source>Reset horizontal and vertical zoom levels to their defaults</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4996,45 +5363,40 @@
 <context>
     <name>PlayParameterRepository</name>
     <message>
-        <location filename="../../svcore/base/PlayParameterRepository.cpp" line="206"/>
+        <location filename="../svcore/base/PlayParameterRepository.cpp" line="182"/>
         <source>Adjust Playback Parameters</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/PlayParameterRepository.cpp" line="211"/>
+        <location filename="../svcore/base/PlayParameterRepository.cpp" line="187"/>
         <source>Change Playback Mute State</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/PlayParameterRepository.cpp" line="216"/>
+        <location filename="../svcore/base/PlayParameterRepository.cpp" line="192"/>
         <source>Change Playback Gain</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/PlayParameterRepository.cpp" line="221"/>
+        <location filename="../svcore/base/PlayParameterRepository.cpp" line="197"/>
         <source>Change Playback Pan</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/PlayParameterRepository.cpp" line="226"/>
-        <source>Change Playback Plugin</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svcore/base/PlayParameterRepository.cpp" line="231"/>
-        <source>Configure Playback Plugin</source>
+        <location filename="../svcore/base/PlayParameterRepository.cpp" line="202"/>
+        <source>Change Playback Sample</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>PluginParameterBox</name>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterBox.cpp" line="61"/>
+        <location filename="../svgui/widgets/PluginParameterBox.cpp" line="61"/>
         <source>This plugin has no adjustable parameters.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterBox.cpp" line="82"/>
+        <location filename="../svgui/widgets/PluginParameterBox.cpp" line="82"/>
         <source>Program</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5042,127 +5404,127 @@
 <context>
     <name>PluginParameterDialog</name>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="54"/>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="191"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="56"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="193"/>
         <source>Plugin Parameters</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="102"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="104"/>
         <source>Name:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="125"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="127"/>
         <source>Version:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="138"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="140"/>
         <source>Maker:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="144"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="146"/>
         <source>Copyright:  </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="156"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="158"/>
         <source>Output:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="175"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="177"/>
         <source>Input Material</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="184"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="186"/>
         <source>Restrict to selection extents</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="217"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="219"/>
         <source>Channels</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="223"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="225"/>
         <source>Processing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="233"/>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="604"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="235"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="606"/>
         <source>Advanced &gt;&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="322"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="324"/>
         <source>Channel mismatch</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="323"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="325"/>
         <source>This plugin requires at least %1 input channels, but only %2 %3 available.  The plugin probably will not work correctly.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="323"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="325"/>
         <source>are</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="323"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="325"/>
         <source>is</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="340"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="342"/>
         <source>This plugin accepts no more than %1 input channels,
 but %2 are available.  Only the first %3 will be used.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="347"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="349"/>
         <source>This plugin only has a single channel input,
 but the source has %1 channels.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="350"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="352"/>
         <source>Use mean of source channels</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="352"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="354"/>
         <source>Use channel %1 only</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="404"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="406"/>
         <source>Window size:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="406"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="408"/>
         <source>Audio frames per block:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="431"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="433"/>
         <source>Window increment:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="455"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="457"/>
         <source>Window shape:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="599"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="601"/>
         <source>Advanced &lt;&lt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5170,214 +5532,254 @@
 <context>
     <name>Preferences</name>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="106"/>
+        <location filename="../svcore/base/Preferences.cpp" line="118"/>
         <source>Spectrogram y-axis interpolation:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="109"/>
+        <location filename="../svcore/base/Preferences.cpp" line="121"/>
         <source>Spectrogram x-axis interpolation:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="112"/>
+        <location filename="../svcore/base/Preferences.cpp" line="124"/>
         <source>Frequency of concert A</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="115"/>
+        <location filename="../svcore/base/Preferences.cpp" line="127"/>
         <source>Property box layout</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="118"/>
+        <location filename="../svcore/base/Preferences.cpp" line="130"/>
         <source>Spectral analysis window shape</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="121"/>
+        <location filename="../svcore/base/Preferences.cpp" line="133"/>
         <source>Playback resampler type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="124"/>
+        <location filename="../svcore/base/Preferences.cpp" line="136"/>
+        <source>Normalise audio signal when reading from audio file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/base/Preferences.cpp" line="139"/>
         <source>Omit temporaries from Recent Files menu</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="127"/>
+        <location filename="../svcore/base/Preferences.cpp" line="142"/>
         <source>Resample mismatching files on import</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="130"/>
+        <location filename="../svcore/base/Preferences.cpp" line="145"/>
+        <source>Single fixed sample rate to resample all files to</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/base/Preferences.cpp" line="148"/>
         <source>Location for cache file directory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="133"/>
+        <location filename="../svcore/base/Preferences.cpp" line="151"/>
         <source>Background colour preference</source>
         <translation type="unfinished">Background color preference</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="136"/>
-        <source>Time display format</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="139"/>
+        <location filename="../svcore/base/Preferences.cpp" line="154"/>
+        <source>Time display precision</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/base/Preferences.cpp" line="157"/>
+        <source>Use hours:minutes:seconds format</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/base/Preferences.cpp" line="160"/>
+        <source>Label middle C as</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/base/Preferences.cpp" line="163"/>
         <source>Font size for text overlays</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="142"/>
+        <location filename="../svcore/base/Preferences.cpp" line="166"/>
         <source>Show splash screen on startup</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="270"/>
+        <location filename="../svcore/base/Preferences.cpp" line="323"/>
         <source>Show boxes for all panes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="271"/>
+        <location filename="../svcore/base/Preferences.cpp" line="324"/>
         <source>Show box for current pane only</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="275"/>
+        <location filename="../svcore/base/Preferences.cpp" line="328"/>
         <source>Rectangular</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="276"/>
+        <location filename="../svcore/base/Preferences.cpp" line="329"/>
         <source>Triangular</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="277"/>
+        <location filename="../svcore/base/Preferences.cpp" line="330"/>
         <source>Hamming</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="278"/>
+        <location filename="../svcore/base/Preferences.cpp" line="331"/>
         <source>Hann</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="279"/>
+        <location filename="../svcore/base/Preferences.cpp" line="332"/>
         <source>Blackman</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="280"/>
+        <location filename="../svcore/base/Preferences.cpp" line="333"/>
         <source>Gaussian</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="281"/>
+        <location filename="../svcore/base/Preferences.cpp" line="334"/>
         <source>Parzen</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="282"/>
+        <location filename="../svcore/base/Preferences.cpp" line="335"/>
         <source>Nuttall</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="283"/>
+        <location filename="../svcore/base/Preferences.cpp" line="336"/>
         <source>Blackman-Harris</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="288"/>
+        <location filename="../svcore/base/Preferences.cpp" line="341"/>
         <source>Fastest</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="289"/>
+        <location filename="../svcore/base/Preferences.cpp" line="342"/>
         <source>Standard</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="290"/>
+        <location filename="../svcore/base/Preferences.cpp" line="343"/>
         <source>Highest quality</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="295"/>
-        <location filename="../../svcore/base/Preferences.cpp" line="303"/>
+        <location filename="../svcore/base/Preferences.cpp" line="348"/>
+        <location filename="../svcore/base/Preferences.cpp" line="356"/>
         <source>None</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="296"/>
-        <location filename="../../svcore/base/Preferences.cpp" line="304"/>
+        <location filename="../svcore/base/Preferences.cpp" line="349"/>
+        <location filename="../svcore/base/Preferences.cpp" line="357"/>
         <source>Linear interpolation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="297"/>
+        <location filename="../svcore/base/Preferences.cpp" line="350"/>
         <source>4 x Oversampling</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="298"/>
+        <location filename="../svcore/base/Preferences.cpp" line="351"/>
         <source>4 x Oversampling with interpolation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="309"/>
+        <location filename="../svcore/base/Preferences.cpp" line="362"/>
         <source>Follow desktop theme</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="310"/>
+        <location filename="../svcore/base/Preferences.cpp" line="363"/>
         <source>Dark background</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="311"/>
+        <location filename="../svcore/base/Preferences.cpp" line="364"/>
         <source>Light background</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="316"/>
+        <location filename="../svcore/base/Preferences.cpp" line="369"/>
         <source>Standard (to millisecond)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="317"/>
+        <location filename="../svcore/base/Preferences.cpp" line="370"/>
         <source>High resolution (to microsecond)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="318"/>
+        <location filename="../svcore/base/Preferences.cpp" line="371"/>
         <source>24 FPS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="319"/>
+        <location filename="../svcore/base/Preferences.cpp" line="372"/>
         <source>25 FPS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="320"/>
+        <location filename="../svcore/base/Preferences.cpp" line="373"/>
         <source>30 FPS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="321"/>
+        <location filename="../svcore/base/Preferences.cpp" line="374"/>
         <source>50 FPS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="322"/>
+        <location filename="../svcore/base/Preferences.cpp" line="375"/>
         <source>60 FPS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="332"/>
+        <location filename="../svcore/base/Preferences.cpp" line="380"/>
+        <source>C0 - middle of octave scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/base/Preferences.cpp" line="381"/>
+        <source>C3 - common MIDI sequencer convention</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/base/Preferences.cpp" line="382"/>
+        <source>C4 - ASA American standard</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/base/Preferences.cpp" line="383"/>
+        <source>C5 - used in Cakewalk and others</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/base/Preferences.cpp" line="393"/>
         <source>Preferences</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5385,132 +5787,155 @@
 <context>
     <name>PreferencesDialog</name>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="50"/>
+        <location filename="../main/PreferencesDialog.cpp" line="54"/>
         <source>Sonic Visualiser: Application Preferences</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="64"/>
+        <location filename="../main/PreferencesDialog.cpp" line="68"/>
         <source>Apply</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="179"/>
+        <location filename="../main/PreferencesDialog.cpp" line="223"/>
         <source>&lt;home directory&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="215"/>
+        <location filename="../main/PreferencesDialog.cpp" line="273"/>
         <source>Follow system locale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="229"/>
+        <location filename="../main/PreferencesDialog.cpp" line="287"/>
         <source>Russian</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="230"/>
+        <location filename="../main/PreferencesDialog.cpp" line="288"/>
         <source>British English</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="231"/>
+        <location filename="../main/PreferencesDialog.cpp" line="289"/>
         <source>American English</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="232"/>
+        <location filename="../main/PreferencesDialog.cpp" line="290"/>
         <source>Czech</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="277"/>
-        <location filename="../main/PreferencesDialog.cpp" line="281"/>
-        <location filename="../main/PreferencesDialog.cpp" line="288"/>
-        <location filename="../main/PreferencesDialog.cpp" line="296"/>
-        <location filename="../main/PreferencesDialog.cpp" line="313"/>
-        <location filename="../main/PreferencesDialog.cpp" line="319"/>
-        <location filename="../main/PreferencesDialog.cpp" line="325"/>
-        <location filename="../main/PreferencesDialog.cpp" line="330"/>
-        <location filename="../main/PreferencesDialog.cpp" line="335"/>
+        <location filename="../main/PreferencesDialog.cpp" line="348"/>
         <location filename="../main/PreferencesDialog.cpp" line="352"/>
-        <location filename="../main/PreferencesDialog.cpp" line="367"/>
+        <location filename="../main/PreferencesDialog.cpp" line="356"/>
+        <location filename="../main/PreferencesDialog.cpp" line="363"/>
+        <location filename="../main/PreferencesDialog.cpp" line="371"/>
+        <location filename="../main/PreferencesDialog.cpp" line="388"/>
+        <location filename="../main/PreferencesDialog.cpp" line="400"/>
+        <location filename="../main/PreferencesDialog.cpp" line="418"/>
+        <location filename="../main/PreferencesDialog.cpp" line="424"/>
+        <location filename="../main/PreferencesDialog.cpp" line="429"/>
+        <location filename="../main/PreferencesDialog.cpp" line="434"/>
+        <location filename="../main/PreferencesDialog.cpp" line="451"/>
+        <location filename="../main/PreferencesDialog.cpp" line="456"/>
+        <location filename="../main/PreferencesDialog.cpp" line="471"/>
         <source>%1:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="277"/>
+        <location filename="../main/PreferencesDialog.cpp" line="348"/>
         <source>User interface language</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="293"/>
-        <source>Playback audio device:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/PreferencesDialog.cpp" line="304"/>
+        <location filename="../main/PreferencesDialog.cpp" line="352"/>
+        <source>Allow network usage</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/PreferencesDialog.cpp" line="379"/>
         <source>&amp;General</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="343"/>
+        <location filename="../main/PreferencesDialog.cpp" line="395"/>
+        <source>Draw layers at Retina resolution:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/PreferencesDialog.cpp" line="405"/>
+        <source>Default spectrogram colour:</source>
+        <translation type="unfinished">Default spectrogram color:</translation>
+    </message>
+    <message>
+        <location filename="../main/PreferencesDialog.cpp" line="409"/>
+        <source>Default melodic spectrogram colour:</source>
+        <translation type="unfinished">Default melodic spectrogram color:</translation>
+    </message>
+    <message>
+        <location filename="../main/PreferencesDialog.cpp" line="413"/>
+        <source>Default colour 3D plot colour:</source>
+        <translation type="unfinished">Default color 3d plot color:</translation>
+    </message>
+    <message>
+        <location filename="../main/PreferencesDialog.cpp" line="442"/>
         <source>&amp;Appearance</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="377"/>
+        <location filename="../main/PreferencesDialog.cpp" line="481"/>
         <source>Anal&amp;ysis</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="386"/>
+        <location filename="../main/PreferencesDialog.cpp" line="490"/>
         <source>Default session template for audio files:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="397"/>
+        <location filename="../main/PreferencesDialog.cpp" line="501"/>
         <source>Standard Waveform</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="422"/>
+        <location filename="../main/PreferencesDialog.cpp" line="526"/>
         <source>Session &amp;Template</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="427"/>
+        <location filename="../main/PreferencesDialog.cpp" line="531"/>
         <source>OK</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="428"/>
+        <location filename="../main/PreferencesDialog.cpp" line="532"/>
         <source>Cancel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="544"/>
+        <location filename="../main/PreferencesDialog.cpp" line="685"/>
         <source>Select a directory to create cache subdirectory in</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="621"/>
+        <location filename="../main/PreferencesDialog.cpp" line="783"/>
         <source>Preferences</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="622"/>
+        <location filename="../main/PreferencesDialog.cpp" line="784"/>
         <source>&lt;b&gt;Restart required&lt;/b&gt;&lt;p&gt;One or more of the application preferences you have changed may not take full effect until Sonic Visualiser is restarted.&lt;/p&gt;&lt;p&gt;Please exit and restart the application now if you want these changes to take effect immediately.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="643"/>
+        <location filename="../main/PreferencesDialog.cpp" line="805"/>
         <source>Preferences Changed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="644"/>
+        <location filename="../main/PreferencesDialog.cpp" line="806"/>
         <source>Some preferences have been changed but not applied.
 Apply them before closing?</source>
         <translation type="unfinished"></translation>
@@ -5519,7 +5944,7 @@
 <context>
     <name>ProgressDialog</name>
     <message>
-        <location filename="../../svgui/widgets/ProgressDialog.cpp" line="28"/>
+        <location filename="../svgui/widgets/ProgressDialog.cpp" line="28"/>
         <source>Cancel</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5527,78 +5952,83 @@
 <context>
     <name>PropertyBox</name>
     <message>
-        <location filename="../../svgui/widgets/PropertyBox.cpp" line="155"/>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="160"/>
         <source>Show</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PropertyBox.cpp" line="172"/>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="177"/>
         <source>Play</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PropertyBox.cpp" line="210"/>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="216"/>
         <source>Playback Gain</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PropertyBox.cpp" line="212"/>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="218"/>
         <source>dB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PropertyBox.cpp" line="236"/>
-        <location filename="../../svgui/widgets/PropertyBox.cpp" line="238"/>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="242"/>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="244"/>
         <source>Playback Pan / Balance</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PropertyBox.cpp" line="468"/>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="483"/>
         <source>Add New Colour...</source>
         <translation type="unfinished">Add New Color...</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PropertyBox.cpp" line="654"/>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="674"/>
         <source>Name New Colour</source>
         <translation type="unfinished">Name New Color</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PropertyBox.cpp" line="655"/>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="675"/>
         <source>Enter a name for the new colour:</source>
         <translation type="unfinished">Enter a name for the new color:</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PropertyBox.cpp" line="657"/>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="677"/>
         <source>Prefer black background for this colour</source>
         <translation type="unfinished">Prefer black background for this color</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PropertyBox.cpp" line="829"/>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="788"/>
+        <source>Set playback clip:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="856"/>
         <source> (current value: %1%2)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PropertyBox.cpp" line="831"/>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="858"/>
         <source> (current value: %1)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PropertyBox.cpp" line="836"/>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="863"/>
         <source>Toggle Visibility of %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PropertyBox.cpp" line="838"/>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="865"/>
         <source>Toggle Playback of %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PropertyBox.cpp" line="842"/>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="869"/>
         <source>Toggle %1 property of %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PropertyBox.cpp" line="845"/>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="872"/>
         <source>Adjust %1 property of %2%3</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5606,37 +6036,37 @@
 <context>
     <name>PropertyContainer</name>
     <message>
-        <location filename="../../svcore/base/PropertyContainer.cpp" line="151"/>
+        <location filename="../svcore/base/PropertyContainer.cpp" line="157"/>
         <source>yes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/PropertyContainer.cpp" line="152"/>
+        <location filename="../svcore/base/PropertyContainer.cpp" line="158"/>
         <source>on</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/PropertyContainer.cpp" line="153"/>
+        <location filename="../svcore/base/PropertyContainer.cpp" line="159"/>
         <source>true</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/PropertyContainer.cpp" line="155"/>
+        <location filename="../svcore/base/PropertyContainer.cpp" line="161"/>
         <source>no</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/PropertyContainer.cpp" line="156"/>
+        <location filename="../svcore/base/PropertyContainer.cpp" line="162"/>
         <source>off</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/PropertyContainer.cpp" line="157"/>
+        <location filename="../svcore/base/PropertyContainer.cpp" line="163"/>
         <source>false</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/base/PropertyContainer.cpp" line="244"/>
+        <location filename="../svcore/base/PropertyContainer.cpp" line="250"/>
         <source>Set %1 Property</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5644,12 +6074,12 @@
 <context>
     <name>PropertyStack</name>
     <message>
-        <location filename="../../svgui/widgets/PropertyStack.cpp" line="242"/>
+        <location filename="../svgui/widgets/PropertyStack.cpp" line="242"/>
         <source>Change Layer Visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PropertyStack.cpp" line="259"/>
+        <location filename="../svgui/widgets/PropertyStack.cpp" line="259"/>
         <source>Click to change the current active layer</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5657,7 +6087,7 @@
 <context>
     <name>QApplication</name>
     <message>
-        <location filename="../main/main.cpp" line="269"/>
+        <location filename="../main/main.cpp" line="260"/>
         <source>
 Sonic Visualiser is a program for viewing and exploring audio data
 for semantic music analysis and annotation.
@@ -5673,7 +6103,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/main.cpp" line="279"/>
+        <location filename="../main/main.cpp" line="270"/>
         <source>Sonic Visualiser</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5681,22 +6111,20 @@
 <context>
     <name>QFile</name>
     <message>
-        <location filename="../../svcore/data/fileio/CSVFileReader.cpp" line="47"/>
-        <location filename="../../svcore/data/fileio/MatchFileReader.cpp" line="73"/>
-        <location filename="../../svcore/data/fileio/PlaylistFileReader.cpp" line="69"/>
+        <location filename="../svcore/data/fileio/CSVFileReader.cpp" line="52"/>
+        <location filename="../svcore/data/fileio/PlaylistFileReader.cpp" line="69"/>
         <source>File &quot;%1&quot; does not exist</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/CSVFileReader.cpp" line="49"/>
-        <location filename="../../svcore/data/fileio/MatchFileReader.cpp" line="75"/>
-        <location filename="../../svcore/data/fileio/PlaylistFileReader.cpp" line="72"/>
+        <location filename="../svcore/data/fileio/CSVFileReader.cpp" line="54"/>
+        <location filename="../svcore/data/fileio/PlaylistFileReader.cpp" line="72"/>
         <source>Failed to open file &quot;%1&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/PlaylistFileReader.cpp" line="31"/>
-        <location filename="../../svcore/data/fileio/PlaylistFileReader.cpp" line="43"/>
+        <location filename="../svcore/data/fileio/PlaylistFileReader.cpp" line="31"/>
+        <location filename="../svcore/data/fileio/PlaylistFileReader.cpp" line="43"/>
         <source>File or URL &quot;%1&quot; could not be retrieved</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5704,26 +6132,55 @@
 <context>
     <name>QMessageBox</name>
     <message>
-        <location filename="../main/main.cpp" line="532"/>
-        <location filename="../main/main.cpp" line="537"/>
+        <location filename="../main/main.cpp" line="522"/>
+        <location filename="../main/main.cpp" line="527"/>
         <source>Failed to open file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/main.cpp" line="533"/>
+        <location filename="../main/main.cpp" line="523"/>
         <source>File or URL &quot;%1&quot; could not be opened</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/main.cpp" line="538"/>
+        <location filename="../main/main.cpp" line="528"/>
         <source>&lt;b&gt;Audio required&lt;/b&gt;&lt;p&gt;Please load at least one audio file before importing annotation data</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
+    <name>QObject</name>
+    <message>
+        <location filename="../svcore/plugin/FeatureExtractionPluginFactory.cpp" line="164"/>
+        <source>&lt;b&gt;Failed to load plugins&lt;/b&gt;&lt;p&gt;Failed to load one or more plugin libraries:&lt;/p&gt;
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/plugin/FeatureExtractionPluginFactory.cpp" line="170"/>
+        <source>Failed to load library</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/plugin/FeatureExtractionPluginFactory.cpp" line="172"/>
+        <source>Failed to query plugins from library after loading</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/plugin/FeatureExtractionPluginFactory.cpp" line="174"/>
+        <source>Unknown failure</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/plugin/FeatureExtractionPluginFactory.cpp" line="176"/>
+        <source>Success: internal error?</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>QuickTimeFileReader</name>
     <message>
-        <location filename="../../svcore/data/fileio/QuickTimeFileReader.cpp" line="225"/>
+        <location filename="../svcore/data/fileio/QuickTimeFileReader.cpp" line="226"/>
         <source>Decoding %1...</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5731,17 +6188,17 @@
 <context>
     <name>RDFImporter</name>
     <message>
-        <location filename="../../svcore/rdf/RDFImporter.cpp" line="272"/>
+        <location filename="../svcore/rdf/RDFImporter.cpp" line="270"/>
         <source>Importing audio referenced in RDF...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/rdf/RDFImporter.cpp" line="296"/>
+        <location filename="../svcore/rdf/RDFImporter.cpp" line="294"/>
         <source>Importing dense signal data from RDF...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/rdf/RDFImporter.cpp" line="490"/>
+        <location filename="../svcore/rdf/RDFImporter.cpp" line="488"/>
         <source>Importing event data from RDF...</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5749,7 +6206,7 @@
 <context>
     <name>RangeInputDialog</name>
     <message>
-        <location filename="../../svgui/widgets/RangeInputDialog.cpp" line="48"/>
+        <location filename="../svgui/widgets/RangeInputDialog.cpp" line="48"/>
         <source> to </source>
         <translation type="unfinished"></translation>
     </message>
@@ -5757,87 +6214,95 @@
 <context>
     <name>RangeSummarisableTimeValueModel</name>
     <message>
-        <location filename="../../svcore/data/model/RangeSummarisableTimeValueModel.h" line="124"/>
+        <location filename="../svcore/data/model/RangeSummarisableTimeValueModel.h" line="102"/>
         <source>Range-Summarisable Time-Value</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
+    <name>ReadOnlyWaveFileModel</name>
+    <message>
+        <location filename="../svcore/data/model/ReadOnlyWaveFileModel.h" line="79"/>
+        <source>Wave File</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>RegionLayer</name>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="43"/>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="44"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="54"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="55"/>
         <source>New Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="89"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="100"/>
         <source>Vertical Scale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="90"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="101"/>
         <source>Scale Units</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="91"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="102"/>
         <source>Plot Type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="109"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="120"/>
         <source>Scale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="170"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="181"/>
         <source>Bars</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="171"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="182"/>
         <source>Segmentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="177"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="188"/>
         <source>Auto-Align</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="178"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="189"/>
         <source>Equal Spaced</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="179"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="190"/>
         <source>Linear</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="180"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="191"/>
         <source>Log</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="385"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="396"/>
         <source>In progress</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="387"/>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="413"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="398"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="424"/>
         <source>No local points</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="422"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="433"/>
         <source>%1 %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="427"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="438"/>
         <source>Time:	%1
 Value:	%2
 Duration:	%3
@@ -5845,7 +6310,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="432"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="443"/>
         <source>Time:	%1
 Value:	%2
 Duration:	%3
@@ -5853,63 +6318,63 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="1043"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="1139"/>
         <source>Draw Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="1125"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="1221"/>
         <source>Erase Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="1185"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="1281"/>
         <source>Drag Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="1206"/>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="1253"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="1302"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="1349"/>
         <source>Edit Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="1208"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="1304"/>
         <source>Relocate Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="1211"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="1307"/>
         <source>Change Point Value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="1270"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="1366"/>
         <source>Drag Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="1296"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="1392"/>
         <source>Resize Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="1336"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="1432"/>
         <source>Delete Selected Points</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="1383"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="1479"/>
         <source>Re-align pasted items?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="1384"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="1480"/>
         <source>The items you are pasting came from a layer with different source material from this one.  Do you want to re-align them in time, to match the source material for this layer?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="1398"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="1494"/>
         <source>Paste</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5917,42 +6382,42 @@
 <context>
     <name>RegionModel</name>
     <message>
-        <location filename="../../svcore/data/model/RegionModel.h" line="125"/>
+        <location filename="../svcore/data/model/RegionModel.h" line="125"/>
         <source>Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/RegionModel.h" line="153"/>
+        <location filename="../svcore/data/model/RegionModel.h" line="153"/>
         <source>Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/RegionModel.h" line="154"/>
+        <location filename="../svcore/data/model/RegionModel.h" line="154"/>
         <source>Frame</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/RegionModel.h" line="155"/>
+        <location filename="../svcore/data/model/RegionModel.h" line="155"/>
         <source>Value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/RegionModel.h" line="156"/>
+        <location filename="../svcore/data/model/RegionModel.h" line="156"/>
         <source>Duration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/RegionModel.h" line="157"/>
+        <location filename="../svcore/data/model/RegionModel.h" line="157"/>
         <source>Label</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/RegionModel.h" line="158"/>
+        <location filename="../svcore/data/model/RegionModel.h" line="158"/>
         <source>Unknown</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/RegionModel.h" line="187"/>
+        <location filename="../svcore/data/model/RegionModel.h" line="187"/>
         <source>Edit Data</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5960,29 +6425,21 @@
 <context>
     <name>RemoveLayerCommand</name>
     <message>
-        <location filename="../../svapp/framework/Document.cpp" line="1016"/>
+        <location filename="../svapp/framework/Document.cpp" line="1240"/>
         <source>Delete %1 Layer</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>ResamplingWavFileReader</name>
-    <message>
-        <location filename="../../svcore/data/fileio/ResamplingWavFileReader.cpp" line="63"/>
-        <source>Resampling %1...</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>SVFileReader</name>
     <message>
-        <location filename="../../svapp/framework/SVFileReader.cpp" line="318"/>
-        <location filename="../../svapp/framework/SVFileReader.cpp" line="322"/>
+        <location filename="../svapp/framework/SVFileReader.cpp" line="324"/>
+        <location filename="../svapp/framework/SVFileReader.cpp" line="328"/>
         <source>(derived model in SV-XML)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/SVFileReader.cpp" line="463"/>
+        <location filename="../svapp/framework/SVFileReader.cpp" line="469"/>
         <source>Opening file or URL...</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5990,12 +6447,12 @@
 <context>
     <name>SingleColourLayer</name>
     <message>
-        <location filename="../../svgui/layer/SingleColourLayer.cpp" line="62"/>
+        <location filename="../svgui/layer/SingleColourLayer.cpp" line="70"/>
         <source>Colour</source>
         <translation type="unfinished">Color</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SingleColourLayer.cpp" line="114"/>
+        <location filename="../svgui/layer/SingleColourLayer.cpp" line="122"/>
         <source>&lt;unknown&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6003,13 +6460,13 @@
 <context>
     <name>SliceLayer</name>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="146"/>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="153"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="146"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="153"/>
         <source>%1 - %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="158"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="158"/>
         <source>Time:	%1 - %2
 Range:	%3 samples (%4)
 Bin:	%5
@@ -6017,139 +6474,139 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="164"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="164"/>
         <source>First</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="165"/>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="717"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="165"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="720"/>
         <source>Mean</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="165"/>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="718"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="165"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="721"/>
         <source>Peak</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="172"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="172"/>
         <source>Time:	%1 - %2
 Range:	%3 samples (%4)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="507"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="510"/>
         <source>0dB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="508"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="511"/>
         <source>-Inf</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="539"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="542"/>
         <source>x10</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="564"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="567"/>
         <source>Plot Type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="565"/>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="602"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="568"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="605"/>
         <source>Scale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="566"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="569"/>
         <source>Normalize</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="567"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="570"/>
         <source>Threshold</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="568"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="571"/>
         <source>Gain</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="569"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="572"/>
         <source>Sampling Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="707"/>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="733"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="710"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="736"/>
         <source>Linear</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="708"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="711"/>
         <source>Meter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="735"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="738"/>
         <source>Rev Log</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="745"/>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="748"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="748"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="751"/>
         <source>dB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="716"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="719"/>
         <source>Any</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="570"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="573"/>
         <source>Bin Scale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="604"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="607"/>
         <source>Bins</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="709"/>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="734"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="712"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="737"/>
         <source>Log</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="710"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="713"/>
         <source>Absolute</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="724"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="727"/>
         <source>Lines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="725"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="728"/>
         <source>Steps</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="726"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="729"/>
         <source>Blocks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="727"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="730"/>
         <source>Colours</source>
         <translation type="unfinished">Colors</translation>
     </message>
@@ -6157,22 +6614,22 @@
 <context>
     <name>SparseModel</name>
     <message>
-        <location filename="../../svcore/data/model/SparseModel.h" line="143"/>
+        <location filename="../svcore/data/model/SparseModel.h" line="153"/>
         <source>Sparse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/SparseModel.h" line="328"/>
+        <location filename="../svcore/data/model/SparseModel.h" line="355"/>
         <source>Edit Data</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/SparseModel.h" line="344"/>
+        <location filename="../svcore/data/model/SparseModel.h" line="371"/>
         <source>Insert Data Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/SparseModel.h" line="355"/>
+        <location filename="../svcore/data/model/SparseModel.h" line="384"/>
         <source>Delete Data Point</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6180,7 +6637,7 @@
 <context>
     <name>SparseModel::AddPointCommand</name>
     <message>
-        <location filename="../../svcore/data/model/SparseModel.h" line="172"/>
+        <location filename="../svcore/data/model/SparseModel.h" line="204"/>
         <source>Add Point</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6188,7 +6645,7 @@
 <context>
     <name>SparseModel::DeletePointCommand</name>
     <message>
-        <location filename="../../svcore/data/model/SparseModel.h" line="197"/>
+        <location filename="../svcore/data/model/SparseModel.h" line="229"/>
         <source>Delete Point</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6196,7 +6653,7 @@
 <context>
     <name>SparseModel::RelabelCommand</name>
     <message>
-        <location filename="../../svcore/data/model/SparseModel.h" line="254"/>
+        <location filename="../svcore/data/model/SparseModel.h" line="286"/>
         <source>Re-Label Point</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6204,32 +6661,32 @@
 <context>
     <name>SparseOneDimensionalModel</name>
     <message>
-        <location filename="../../svcore/data/model/SparseOneDimensionalModel.h" line="113"/>
+        <location filename="../svcore/data/model/SparseOneDimensionalModel.h" line="110"/>
         <source>Sparse 1-D</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/SparseOneDimensionalModel.h" line="127"/>
+        <location filename="../svcore/data/model/SparseOneDimensionalModel.h" line="124"/>
         <source>Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/SparseOneDimensionalModel.h" line="128"/>
+        <location filename="../svcore/data/model/SparseOneDimensionalModel.h" line="125"/>
         <source>Frame</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/SparseOneDimensionalModel.h" line="129"/>
+        <location filename="../svcore/data/model/SparseOneDimensionalModel.h" line="126"/>
         <source>Label</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/SparseOneDimensionalModel.h" line="130"/>
+        <location filename="../svcore/data/model/SparseOneDimensionalModel.h" line="127"/>
         <source>Unknown</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/SparseOneDimensionalModel.h" line="160"/>
+        <location filename="../svcore/data/model/SparseOneDimensionalModel.h" line="157"/>
         <source>Edit Data</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6237,37 +6694,37 @@
 <context>
     <name>SparseTimeValueModel</name>
     <message>
-        <location filename="../../svcore/data/model/SparseTimeValueModel.h" line="102"/>
+        <location filename="../svcore/data/model/SparseTimeValueModel.h" line="111"/>
         <source>Sparse Time-Value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/SparseTimeValueModel.h" line="116"/>
+        <location filename="../svcore/data/model/SparseTimeValueModel.h" line="128"/>
         <source>Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/SparseTimeValueModel.h" line="117"/>
+        <location filename="../svcore/data/model/SparseTimeValueModel.h" line="129"/>
         <source>Frame</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/SparseTimeValueModel.h" line="118"/>
+        <location filename="../svcore/data/model/SparseTimeValueModel.h" line="130"/>
         <source>Value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/SparseTimeValueModel.h" line="119"/>
+        <location filename="../svcore/data/model/SparseTimeValueModel.h" line="131"/>
         <source>Label</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/SparseTimeValueModel.h" line="120"/>
+        <location filename="../svcore/data/model/SparseTimeValueModel.h" line="132"/>
         <source>Unknown</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/SparseTimeValueModel.h" line="153"/>
+        <location filename="../svcore/data/model/SparseTimeValueModel.h" line="165"/>
         <source>Edit Data</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6275,7 +6732,7 @@
 <context>
     <name>SparseValueModel</name>
     <message>
-        <location filename="../../svcore/data/model/SparseValueModel.h" line="56"/>
+        <location filename="../svcore/data/model/SparseValueModel.h" line="56"/>
         <source>Sparse Value</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6283,363 +6740,358 @@
 <context>
     <name>SpectrogramLayer</name>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="172"/>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="219"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="177"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="219"/>
         <source>Colour</source>
         <translation type="unfinished">Color</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="173"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="178"/>
         <source>Colour Scale</source>
         <translation type="unfinished">Color Scale</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="174"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="179"/>
         <source>Window Size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="175"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="180"/>
         <source>Window Overlap</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="176"/>
-        <source>Normalize Columns</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="177"/>
-        <source>Normalize Visible Area</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="178"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="181"/>
+        <source>Normalization</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="182"/>
         <source>Bin Display</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="179"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="183"/>
         <source>Threshold</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="180"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="184"/>
         <source>Gain</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="181"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="185"/>
         <source>Colour Rotation</source>
         <translation type="unfinished">Color Rotation</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="182"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="186"/>
         <source>Min Frequency</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="183"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="187"/>
         <source>Max Frequency</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="184"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="188"/>
         <source>Frequency Scale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="185"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="189"/>
         <source>Smoothing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="213"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="213"/>
         <source>Bins</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="216"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="216"/>
         <source>Window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="223"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="222"/>
         <source>Scale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="393"/>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="451"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="389"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="450"/>
         <source>Linear</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="394"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="390"/>
         <source>Meter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="395"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="391"/>
         <source>dBV^2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="396"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="392"/>
         <source>dBV</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="397"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="393"/>
         <source>Phase</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="406"/>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="415"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="405"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="414"/>
         <source>None</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="407"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="406"/>
         <source>25 %</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="408"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="407"/>
         <source>50 %</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="409"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="408"/>
         <source>75 %</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="410"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="409"/>
         <source>87.5 %</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="411"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="410"/>
         <source>93.75 %</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="421"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="420"/>
         <source>No min</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="422"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="421"/>
         <source>10 Hz</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="423"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="422"/>
         <source>20 Hz</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="424"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="423"/>
         <source>40 Hz</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="425"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="424"/>
         <source>100 Hz</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="426"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="425"/>
         <source>250 Hz</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="427"/>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="436"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="426"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="435"/>
         <source>500 Hz</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="428"/>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="437"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="427"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="436"/>
         <source>1 KHz</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="429"/>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="440"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="428"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="439"/>
         <source>4 KHz</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="430"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="429"/>
         <source>10 KHz</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="438"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="437"/>
         <source>1.5 KHz</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="439"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="438"/>
         <source>2 KHz</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="441"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="440"/>
         <source>6 KHz</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="442"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="441"/>
         <source>8 KHz</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="443"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="442"/>
         <source>12 KHz</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="444"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="443"/>
         <source>16 KHz</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="445"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="444"/>
         <source>No max</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="452"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="451"/>
         <source>Log</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="458"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="457"/>
         <source>All Bins</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="459"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="458"/>
         <source>Peak Bins</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="460"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="459"/>
         <source>Frequencies</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="463"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="462"/>
         <source>&lt;unknown&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="470"/>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="473"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="485"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="488"/>
         <source>dB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="1667"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="1492"/>
         <source>FFT cache failed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="1668"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="1493"/>
         <source>Failed to create the FFT model for this spectrogram.
 There may be insufficient memory or disc space to continue.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="3175"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="2968"/>
         <source>Peak Frequency:	%1 - %2 Hz
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="3178"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="2971"/>
         <source>Peak Frequency:	%1 Hz
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="3186"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="2979"/>
         <source>Peak Pitch:	%3 - %4
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="3188"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="2981"/>
         <source>Peak Pitch:	%2
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="3199"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="2992"/>
         <source>Time:	%1 - %2
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="3203"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="2996"/>
         <source>Time:	%1
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="3208"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="3001"/>
         <source>%1Bin Frequency:	%2 - %3 Hz
 %4Bin Pitch:	%5 - %6
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="3216"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="3009"/>
         <source>%1Bin Frequency:	%2 Hz
 %3Bin Pitch:	%4
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="3229"/>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="3234"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="3022"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="3027"/>
         <source>-Inf</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="3239"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="3032"/>
         <source>dB:	%1 - %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="3241"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="3034"/>
         <source>dB:	%1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="3244"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="3037"/>
         <source>
 Phase:	%1 - %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="3246"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="3039"/>
         <source>
 Phase:	%1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="3276"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="3069"/>
         <source>43Hz</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="3423"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="3216"/>
         <source>%1Hz</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6647,90 +7099,90 @@
 <context>
     <name>SpectrumLayer</name>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="146"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="140"/>
         <source>Window Size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="147"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="141"/>
         <source>Window Overlap</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="148"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="142"/>
         <source>Show Peak Frequencies</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="172"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="166"/>
         <source>Window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="173"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="167"/>
         <source>Bins</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="228"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="222"/>
         <source>None</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="229"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="223"/>
         <source>25 %</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="230"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="224"/>
         <source>50 %</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="231"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="225"/>
         <source>75 %</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="232"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="226"/>
         <source>87.5 %</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="233"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="227"/>
         <source>93.75 %</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="591"/>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="603"/>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="624"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="585"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="597"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="618"/>
         <source>%1 - %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="596"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="590"/>
         <source>%1 - %2 Hz</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="598"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="592"/>
         <source>%1 Hz</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="614"/>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="619"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="608"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="613"/>
         <source>-Inf</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="626"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="620"/>
         <source>%1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="632"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="626"/>
         <source>%1
 Bin:	%2 (%3)
 %4 value:	%5
@@ -6738,22 +7190,22 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="636"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="630"/>
         <source>First</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="637"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="631"/>
         <source>Mean</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="637"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="631"/>
         <source>Peak</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="641"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="635"/>
         <source>%1
 Bin:	%2 (%3)
 Value:	%4
@@ -6764,106 +7216,119 @@
 <context>
     <name>SubdividingMenu</name>
     <message>
-        <location filename="../../svgui/widgets/SubdividingMenu.cpp" line="115"/>
+        <location filename="../svgui/widgets/SubdividingMenu.cpp" line="117"/>
         <source>%1 - %2</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
+    <name>Surveyer</name>
+    <message>
+        <location filename="../main/Surveyer.cpp" line="97"/>
+        <source>Yes! Take me to the survey</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/Surveyer.cpp" line="98"/>
+        <source>No, thanks</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>TextLayer</name>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="39"/>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="40"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="39"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="40"/>
         <source>Empty Label</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="135"/>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="373"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="135"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="373"/>
         <source>&lt;no text&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="195"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="195"/>
         <source>In progress</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="208"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="208"/>
         <source>Time:	%1
 Height:	%2
 Label:	%3</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="465"/>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="611"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="465"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="611"/>
         <source>Enter label</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="466"/>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="612"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="466"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="612"/>
         <source>Please enter a new label:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="514"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="514"/>
         <source>Erase Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="563"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="563"/>
         <source>Drag Label</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="584"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="584"/>
         <source>Move Label</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="586"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="586"/>
         <source>Move Label Horizontally</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="589"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="589"/>
         <source>Move Label Vertically</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="629"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="629"/>
         <source>Drag Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="654"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="654"/>
         <source>Resize Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="688"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="688"/>
         <source>Delete Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="731"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="731"/>
         <source>Re-align pasted items?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="732"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="732"/>
         <source>The items you are pasting came from a layer with different source material from this one.  Do you want to re-align them in time, to match the source material for this layer?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="746"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="746"/>
         <source>Paste</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="791"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="791"/>
         <source>New Point</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6871,37 +7336,37 @@
 <context>
     <name>TextModel</name>
     <message>
-        <location filename="../../svcore/data/model/TextModel.h" line="103"/>
+        <location filename="../svcore/data/model/TextModel.h" line="103"/>
         <source>Text</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/TextModel.h" line="117"/>
+        <location filename="../svcore/data/model/TextModel.h" line="117"/>
         <source>Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/TextModel.h" line="118"/>
+        <location filename="../svcore/data/model/TextModel.h" line="118"/>
         <source>Frame</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/TextModel.h" line="119"/>
+        <location filename="../svcore/data/model/TextModel.h" line="119"/>
         <source>Height</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/TextModel.h" line="120"/>
+        <location filename="../svcore/data/model/TextModel.h" line="120"/>
         <source>Label</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/TextModel.h" line="121"/>
+        <location filename="../svcore/data/model/TextModel.h" line="121"/>
         <source>Unknown</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/TextModel.h" line="152"/>
+        <location filename="../svcore/data/model/TextModel.h" line="152"/>
         <source>Edit Data</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6909,39 +7374,39 @@
 <context>
     <name>Thumbwheel</name>
     <message>
-        <location filename="../../svgui/widgets/Thumbwheel.cpp" line="232"/>
+        <location filename="../svgui/widgets/Thumbwheel.cpp" line="232"/>
         <source>%1: %2%3</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/Thumbwheel.cpp" line="234"/>
+        <location filename="../svgui/widgets/Thumbwheel.cpp" line="234"/>
         <source>%2%3</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/Thumbwheel.cpp" line="344"/>
+        <location filename="../svgui/widgets/Thumbwheel.cpp" line="344"/>
         <source>New value for %1, from %2 to %3 %4:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/Thumbwheel.cpp" line="347"/>
+        <location filename="../svgui/widgets/Thumbwheel.cpp" line="347"/>
         <source>New value for %1, from %2 to %3:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/Thumbwheel.cpp" line="352"/>
+        <location filename="../svgui/widgets/Thumbwheel.cpp" line="352"/>
         <source>Enter a new value from %1 to %2 %3:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/Thumbwheel.cpp" line="355"/>
-        <location filename="../../svgui/widgets/Thumbwheel.cpp" line="379"/>
+        <location filename="../svgui/widgets/Thumbwheel.cpp" line="355"/>
+        <location filename="../svgui/widgets/Thumbwheel.cpp" line="379"/>
         <source>Enter a new value from %1 to %2:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/Thumbwheel.cpp" line="362"/>
-        <location filename="../../svgui/widgets/Thumbwheel.cpp" line="378"/>
+        <location filename="../svgui/widgets/Thumbwheel.cpp" line="362"/>
+        <location filename="../svgui/widgets/Thumbwheel.cpp" line="378"/>
         <source>Enter new value</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6949,105 +7414,105 @@
 <context>
     <name>TimeInstantLayer</name>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="44"/>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="481"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="44"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="481"/>
         <source>New Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="84"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="84"/>
         <source>Plot Type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="124"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="124"/>
         <source>Instants</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="125"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="125"/>
         <source>Segmentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="226"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="226"/>
         <source>In progress</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="228"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="228"/>
         <source>No local points</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="239"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="239"/>
         <source>Time:	%1
 No label</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="242"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="242"/>
         <source>Time:	%1
 Label:	%2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="485"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="485"/>
         <source>Draw Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="515"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="515"/>
         <source>Add Point at %1 s</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="560"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="560"/>
         <source>Erase Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="606"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="606"/>
         <source>Drag Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="622"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="622"/>
         <source>Move Point to %1 s</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="658"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="658"/>
         <source>Edit Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="675"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="675"/>
         <source>Drag Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="701"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="701"/>
         <source>Resize Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="736"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="736"/>
         <source>Delete Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="779"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="779"/>
         <source>Re-align pasted instants?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="780"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="780"/>
         <source>The instants you are pasting came from a layer with different source material from this one.  Do you want to re-align them in time, to match the source material for this layer?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="794"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="794"/>
         <source>Paste</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7055,207 +7520,227 @@
 <context>
     <name>TimeValueLayer</name>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="51"/>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="52"/>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1285"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="58"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="59"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1351"/>
         <source>New Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="105"/>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="141"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="112"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="148"/>
         <source>Plot Type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="106"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="113"/>
         <source>Vertical Scale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="107"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="114"/>
         <source>Scale Units</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="108"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="115"/>
         <source>Draw Segment Division Lines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="109"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="116"/>
         <source>Show Derivative</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="137"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="144"/>
         <source>Scale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="215"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="229"/>
         <source>Points</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="216"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="230"/>
         <source>Stems</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="217"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="231"/>
         <source>Connected Points</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="218"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="232"/>
         <source>Lines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="219"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="233"/>
         <source>Curve</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="220"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="234"/>
         <source>Segmentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="225"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="235"/>
+        <source>Discrete Curves</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="240"/>
         <source>Auto-Align</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="226"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="241"/>
         <source>Linear</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="227"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="242"/>
         <source>Log</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="228"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="243"/>
         <source>+/-1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="556"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="600"/>
         <source>In progress</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="558"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="602"/>
         <source>No local points</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="571"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="615"/>
+        <source>%1 Hz (%2, %3)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="620"/>
+        <source>%1 %2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="622"/>
+        <source>%1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="628"/>
         <source>Time:	%1
-Value:	%2%3
+Value:	%2
 No label</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="576"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="632"/>
         <source>Time:	%1
-Value:	%2%3
+Value:	%2
 Label:	%4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1292"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1358"/>
         <source>Draw Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1410"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1476"/>
         <source>Erase Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1459"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1525"/>
         <source>Drag Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1482"/>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1527"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1548"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1593"/>
         <source>Edit Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1484"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1550"/>
         <source>Relocate Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1487"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1553"/>
         <source>Change Point Value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1544"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1610"/>
         <source>Drag Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1570"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1636"/>
         <source>Resize Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1605"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1671"/>
         <source>Delete Selected Points</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1652"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1718"/>
         <source>Re-align pasted items?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1653"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1719"/>
         <source>The items you are pasting came from a layer with different source material from this one.  Do you want to re-align them in time, to match the source material for this layer?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1667"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1733"/>
         <source>Paste</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1723"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1788"/>
         <source>The items you are pasting do not have values.
 What values do you want to use for these items?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1725"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1790"/>
         <source>Some of the items you are pasting do not have values.
 What values do you want to use for these items?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1735"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1800"/>
         <source>Zero for all items</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1744"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1809"/>
         <source>Choose value calculation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1765"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1833"/>
         <source>Select cycle size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1766"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1834"/>
         <source>Cycle size:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7263,27 +7748,27 @@
 <context>
     <name>TipDialog</name>
     <message>
-        <location filename="../../svgui/widgets/TipDialog.cpp" line="35"/>
+        <location filename="../svgui/widgets/TipDialog.cpp" line="35"/>
         <source>Tip of the Day</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TipDialog.cpp" line="65"/>
+        <location filename="../svgui/widgets/TipDialog.cpp" line="65"/>
         <source>Show tip on startup</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TipDialog.cpp" line="71"/>
+        <location filename="../svgui/widgets/TipDialog.cpp" line="71"/>
         <source>&lt;&lt; Previous</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TipDialog.cpp" line="75"/>
+        <location filename="../svgui/widgets/TipDialog.cpp" line="75"/>
         <source>Next &gt;&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TipDialog.cpp" line="79"/>
+        <location filename="../svgui/widgets/TipDialog.cpp" line="79"/>
         <source>Close</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7291,136 +7776,136 @@
 <context>
     <name>TransformFactory</name>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="386"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="386"/>
         <source> [\(&lt;].*$</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="445"/>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="539"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="457"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="551"/>
         <source>&lt;unknown maker&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="451"/>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="714"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="463"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="727"/>
         <source>Extract features using &quot;%1&quot; plugin (from %2)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="454"/>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="717"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="466"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="730"/>
         <source>Extract features using &quot;%1&quot; output of &quot;%2&quot; plugin (from %3)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="459"/>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="722"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="471"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="735"/>
         <source>%1 using &quot;%2&quot; plugin (from %3)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="462"/>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="725"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="474"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="738"/>
         <source>%1 using &quot;%2&quot; output of &quot;%3&quot; plugin (from %4)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="320"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="320"/>
         <source>Analysis</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="323"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="323"/>
         <source>Generator</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="324"/>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="326"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="324"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="326"/>
         <source>Other</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="555"/>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="707"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="567"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="720"/>
         <source>%1: %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="565"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="577"/>
         <source>%1: Output %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="577"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="589"/>
         <source>Extract &quot;%1&quot; data output from &quot;%2&quot; effect plugin (from %3)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="582"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="594"/>
         <source>Extract data output %1 from &quot;%2&quot; effect plugin (from %3)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="322"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="322"/>
         <source>Effects Data</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="321"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="321"/>
         <source>Effects</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="609"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="621"/>
         <source>Transform audio signal with &quot;%1&quot; effect plugin (from %2)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="615"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="627"/>
         <source>Generate audio signal using &quot;%1&quot; plugin (from %2)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="1133"/>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="1171"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="1157"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="1195"/>
         <source>Plugin type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="1135"/>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="1173"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="1159"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="1197"/>
         <source>Category</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="1136"/>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="1174"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="1160"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="1198"/>
         <source>System Identifier</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="1137"/>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="1175"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="1161"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="1199"/>
         <source>Name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="1138"/>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="1176"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="1162"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="1200"/>
         <source>Description</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="1139"/>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="1177"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="1163"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="1201"/>
         <source>Maker</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="1140"/>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="1178"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="1164"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="1202"/>
         <source>Units</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7428,64 +7913,64 @@
 <context>
     <name>TransformFinder</name>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="38"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="38"/>
         <source>Find a Transform</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="44"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="44"/>
         <source>Find:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="77"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="77"/>
         <source>&lt;br&gt;&amp;nbsp;&amp;nbsp;No results found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="85"/>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="86"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="85"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="86"/>
         <source>Up</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="90"/>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="91"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="90"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="91"/>
         <source>Down</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="137"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="137"/>
         <source>&lt;p&gt;Type some text into the search box to search the descriptions of:&lt;ul&gt;&lt;li&gt;All currently installed &lt;a href=&quot;http://www.vamp-plugins.org/&quot;&gt;Vamp&lt;/a&gt; audio feature extraction plugins&lt;/li&gt;&lt;li&gt;All currently installed &lt;a href=&quot;http://www.ladspa.org/&quot;&gt;LADSPA&lt;/a&gt; audio effects plugins&lt;/li&gt;&lt;li&gt;Vamp plugins that are not currently installed but that have descriptions published via the semantic web&lt;/li&gt;&lt;/ul&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="140"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="140"/>
         <source>&lt;b&gt;Unable to retrieve published descriptions from network!&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="143"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="143"/>
         <source>&lt;b&gt;No plugins are currently installed!&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="151"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="151"/>
         <source>&lt;p&gt;%1&lt;br&gt;Perhaps the network connection is down, services are responding too slowly, or a processing problem has occurred.&lt;br&gt;Only the descriptions of installed plugins will be searched.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="157"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="157"/>
         <source>&lt;p&gt;%1&lt;br&gt;Only the published descriptions of Vamp feature extraction plugins will be searched.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="161"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="161"/>
         <source>&lt;p&gt;%1&lt;br&gt;%2&lt;br&gt;Perhaps the network connection is down, or services are responding too slowly.&lt;br&gt;No search results will be available.</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="227"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="227"/>
         <source>Found %n description(s) containing &lt;b&gt;%1&lt;/b&gt;, showing the first %2 only</source>
         <translation type="unfinished">
             <numerusform>Found %n description containing &lt;b&gt;%1&lt;/b&gt;, showing the first %2 only</numerusform>
@@ -7493,7 +7978,7 @@
         </translation>
     </message>
     <message numerus="yes">
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="231"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="231"/>
         <source>Found %n description(s) containing &lt;b&gt;%1&lt;/b&gt;</source>
         <translation type="unfinished">
             <numerusform>Found %n description containing &lt;b&gt;%1&lt;/b&gt;</numerusform>
@@ -7501,118 +7986,188 @@
         </translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="257"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="257"/>
         <source>&lt;i&gt; (not installed)&lt;/i&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="261"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="261"/>
         <source>%1%2&lt;br&gt;&lt;small&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="272"/>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="303"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="272"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="303"/>
         <source>&lt;/small&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="275"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="275"/>
         <source>&lt;b&gt;%1&lt;/b&gt;%2&lt;br&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="281"/>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="284"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="281"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="284"/>
         <source>&lt;small&gt;%1&lt;/small&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="288"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="288"/>
         <source>&lt;small&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="290"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="290"/>
         <source>&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;mdash; Plugin type: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="294"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="294"/>
         <source>&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;mdash; Category: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="297"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="297"/>
         <source>&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;mdash; System identifier: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="300"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="300"/>
         <source>&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;mdash; More information: &lt;a href=&quot;%1&quot;&gt;%1&lt;/a&gt;</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
+    <name>UnitConverter</name>
+    <message>
+        <location filename="../svgui/widgets/UnitConverter.cpp" line="50"/>
+        <source>Pitch</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/UnitConverter.cpp" line="87"/>
+        <source> cents</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/UnitConverter.cpp" line="96"/>
+        <source>In 12-tone Equal Temperament:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/UnitConverter.cpp" line="105"/>
+        <location filename="../svgui/widgets/UnitConverter.cpp" line="208"/>
+        <source>=</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/UnitConverter.cpp" line="107"/>
+        <source>+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/UnitConverter.cpp" line="110"/>
+        <source>Piano note</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/UnitConverter.cpp" line="112"/>
+        <source>in octave</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/UnitConverter.cpp" line="117"/>
+        <source>MIDI pitch</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/UnitConverter.cpp" line="133"/>
+        <source>Note that only pitches in the range 0 to 127 are valid in the MIDI protocol.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/UnitConverter.cpp" line="140"/>
+        <source>Tempo</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/UnitConverter.cpp" line="206"/>
+        <source>Beat period</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/UnitConverter.cpp" line="212"/>
+        <source>at</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/UnitConverter.cpp" line="275"/>
+        <source>With concert-A tuning frequency at %1 Hz, and middle C residing in octave %2.
+(These can be changed in the application preferences.)</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>View</name>
     <message>
-        <location filename="../../svgui/view/View.cpp" line="91"/>
+        <location filename="../svgui/view/View.cpp" line="96"/>
         <source>Global Scroll</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/View.cpp" line="92"/>
+        <location filename="../svgui/view/View.cpp" line="97"/>
         <source>Global Zoom</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/View.cpp" line="93"/>
+        <location filename="../svgui/view/View.cpp" line="98"/>
         <source>Follow Playback</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/View.cpp" line="132"/>
+        <location filename="../svgui/view/View.cpp" line="141"/>
         <source>Scroll</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/View.cpp" line="133"/>
+        <location filename="../svgui/view/View.cpp" line="142"/>
         <source>Page</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/View.cpp" line="134"/>
+        <location filename="../svgui/view/View.cpp" line="143"/>
         <source>Off</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/View.cpp" line="137"/>
+        <location filename="../svgui/view/View.cpp" line="146"/>
         <source>&lt;unknown&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/View.cpp" line="1445"/>
+        <location filename="../svgui/view/View.cpp" line="1581"/>
         <source>Layer rendering error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/View.cpp" line="1466"/>
+        <location filename="../svgui/view/View.cpp" line="1603"/>
         <source>Alignment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/View.cpp" line="2242"/>
+        <location filename="../svgui/view/View.cpp" line="2427"/>
         <source>Waiting for layers to be ready...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/View.cpp" line="2243"/>
-        <location filename="../../svgui/view/View.cpp" line="2272"/>
+        <location filename="../svgui/view/View.cpp" line="2428"/>
+        <location filename="../svgui/view/View.cpp" line="2457"/>
         <source>Cancel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/View.cpp" line="2271"/>
+        <location filename="../svgui/view/View.cpp" line="2456"/>
         <source>Rendering image...</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7620,97 +8175,102 @@
 <context>
     <name>ViewManager</name>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="338"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="371"/>
         <source>Clear Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="339"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="372"/>
         <source>Select Multiple Regions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="340"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="373"/>
         <source>Select Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="357"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="390"/>
         <source>Enter Navigate mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="358"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="391"/>
         <source>Enter Select mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="359"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="392"/>
         <source>Enter Edit mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="360"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="393"/>
         <source>Enter Draw mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="361"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="394"/>
         <source>Enter Erase mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="362"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="395"/>
         <source>Enter Measure mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="376"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="396"/>
+        <source>Enter NoteEdit mode</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/view/ViewManager.cpp" line="432"/>
         <source>Switch on Loop mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="377"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="433"/>
         <source>Switch off Loop mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="391"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="447"/>
         <source>Switch on Play Selection mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="392"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="448"/>
         <source>Switch off Play Selection mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="406"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="462"/>
         <source>Switch on Play Solo mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="407"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="463"/>
         <source>Switch off Play Solo mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="421"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="477"/>
         <source>Switch on Alignment mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="422"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="478"/>
         <source>Switch off Alignment mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="524"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="581"/>
         <source>Scroll to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../../svgui/view/ViewManager.cpp" line="586"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="642"/>
         <source>Zoom to %n sample(s) per pixel</source>
         <translation type="unfinished">
             <numerusform></numerusform>
@@ -7718,126 +8278,118 @@
         </translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="596"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="652"/>
         <source>Change overlay level</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>WaveFileModel</name>
-    <message>
-        <location filename="../../svcore/data/model/WaveFileModel.h" line="83"/>
-        <source>Wave File</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>WaveformLayer</name>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="104"/>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="133"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="106"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="135"/>
         <source>Scale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="105"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="107"/>
         <source>Gain</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="106"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="108"/>
         <source>Normalize Visible Area</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="107"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="109"/>
         <source>Channels</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="194"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="196"/>
         <source>Linear</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="195"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="197"/>
         <source>Meter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="196"/>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="214"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="198"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="216"/>
         <source>dB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="202"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="204"/>
         <source>Separate</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="203"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="205"/>
         <source>Mean</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="204"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="206"/>
         <source>Butterfly</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="953"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="981"/>
         <source>Time:	%1 - %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="957"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="985"/>
         <source>Time:	%1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="978"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="1006"/>
         <source>Level:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="980"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="1008"/>
         <source>Left:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="981"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="1009"/>
         <source>Right:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="982"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="1010"/>
         <source>Channel %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="1005"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="1033"/>
         <source>
 %1	%2 - %3 (%4 dB peak)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="1008"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="1036"/>
         <source>
 %1	%2 (%3 dB peak)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="1175"/>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="1228"/>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="1238"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="1203"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="1256"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="1266"/>
         <source>0dB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="1176"/>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="1230"/>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="1240"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="1204"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="1258"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="1268"/>
         <source>-Inf</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7845,12 +8397,12 @@
 <context>
     <name>WindowShapePreview</name>
     <message>
-        <location filename="../../svgui/widgets/WindowShapePreview.cpp" line="118"/>
+        <location filename="../svgui/widgets/WindowShapePreview.cpp" line="118"/>
         <source>V / time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/WindowShapePreview.cpp" line="202"/>
+        <location filename="../svgui/widgets/WindowShapePreview.cpp" line="202"/>
         <source>dB / freq</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7858,7 +8410,7 @@
 <context>
     <name>WritableWaveFileModel</name>
     <message>
-        <location filename="../../svcore/data/model/WritableWaveFileModel.h" line="82"/>
+        <location filename="../svcore/data/model/WritableWaveFileModel.h" line="124"/>
         <source>Writable Wave File</source>
         <translation type="unfinished"></translation>
     </message>
Binary file i18n/sonic-visualiser_ru.qm has changed
--- a/i18n/sonic-visualiser_ru.ts	Wed Jul 15 12:27:40 2015 +0100
+++ b/i18n/sonic-visualiser_ru.ts	Wed Apr 20 12:06:28 2016 +0100
@@ -1,20 +1,20 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE TS>
-<TS version="2.0" language="ru_RU">
+<TS version="2.1" language="ru_RU">
 <context>
     <name>ActivityLog</name>
     <message>
-        <location filename="../../svgui/widgets/ActivityLog.cpp" line="30"/>
+        <location filename="../svgui/widgets/ActivityLog.cpp" line="37"/>
         <source>Activity Log</source>
         <translation>Журнал изменений</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ActivityLog.cpp" line="35"/>
+        <location filename="../svgui/widgets/ActivityLog.cpp" line="42"/>
         <source>&lt;p&gt;Activity Log lists your interactions and other events within %1.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Список всех предпринятых вами действий с %1.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ActivityLog.cpp" line="63"/>
+        <location filename="../svgui/widgets/ActivityLog.cpp" line="77"/>
         <source>%1: %2</source>
         <translation>%1: %2</translation>
     </message>
@@ -22,7 +22,7 @@
 <context>
     <name>AddLayerCommand</name>
     <message>
-        <location filename="../../svapp/framework/Document.cpp" line="956"/>
+        <location filename="../svapp/framework/Document.cpp" line="1179"/>
         <source>Add %1 Layer</source>
         <translation>Добавить слой %1</translation>
     </message>
@@ -30,7 +30,7 @@
 <context>
     <name>AggregateWaveModel</name>
     <message>
-        <location filename="../../svcore/data/model/AggregateWaveModel.h" line="45"/>
+        <location filename="../svcore/data/model/AggregateWaveModel.h" line="45"/>
         <source>Aggregate Wave</source>
         <translation type="unfinished"></translation>
     </message>
@@ -38,7 +38,7 @@
 <context>
     <name>AlignmentModel</name>
     <message>
-        <location filename="../../svcore/data/model/AlignmentModel.h" line="47"/>
+        <location filename="../svcore/data/model/AlignmentModel.h" line="46"/>
         <source>Alignment</source>
         <translation>Выравнивание</translation>
     </message>
@@ -46,17 +46,17 @@
 <context>
     <name>AudioCallbackPlaySource</name>
     <message>
-        <location filename="../../svapp/audioio/AudioCallbackPlaySource.cpp" line="459"/>
+        <location filename="../svapp/audio/AudioCallbackPlaySource.cpp" line="499"/>
         <source>Play from %1</source>
         <translation>Воспроизведение от %1</translation>
     </message>
     <message>
-        <location filename="../../svapp/audioio/AudioCallbackPlaySource.cpp" line="482"/>
+        <location filename="../svapp/audio/AudioCallbackPlaySource.cpp" line="522"/>
         <source>Stop at %1</source>
         <translation>Остановка в позиции %1</translation>
     </message>
     <message>
-        <location filename="../../svapp/audioio/AudioCallbackPlaySource.cpp" line="1071"/>
+        <location filename="../svapp/audio/AudioCallbackPlaySource.cpp" line="1105"/>
         <source>Change time-stretch factor to %1</source>
         <translation>Смена коэффициента растяжения во времени на %1</translation>
     </message>
@@ -64,39 +64,39 @@
 <context>
     <name>AudioDial</name>
     <message>
-        <location filename="../../svgui/widgets/AudioDial.cpp" line="499"/>
-        <location filename="../../svgui/widgets/AudioDial.cpp" line="515"/>
+        <location filename="../svgui/widgets/AudioDial.cpp" line="499"/>
+        <location filename="../svgui/widgets/AudioDial.cpp" line="515"/>
         <source>Enter new value</source>
         <translation>Введите новое значение</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/AudioDial.cpp" line="416"/>
+        <location filename="../svgui/widgets/AudioDial.cpp" line="416"/>
         <source>%1: %2%3</source>
         <translation>%1: %2%3</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/AudioDial.cpp" line="418"/>
+        <location filename="../svgui/widgets/AudioDial.cpp" line="418"/>
         <source>%2%3</source>
         <translation>%2%3</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/AudioDial.cpp" line="481"/>
+        <location filename="../svgui/widgets/AudioDial.cpp" line="481"/>
         <source>New value for %1, from %2 to %3 %4:</source>
         <translation>Новое значение для «%1», от %2 до %3 %4:</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/AudioDial.cpp" line="484"/>
+        <location filename="../svgui/widgets/AudioDial.cpp" line="484"/>
         <source>New value for %1, from %2 to %3:</source>
         <translation>Новое значение для «%1», от %2 до %3:</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/AudioDial.cpp" line="489"/>
+        <location filename="../svgui/widgets/AudioDial.cpp" line="489"/>
         <source>Enter a new value from %1 to %2 %3:</source>
         <translation>Введите новое значение от %1 до %2 %3:</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/AudioDial.cpp" line="492"/>
-        <location filename="../../svgui/widgets/AudioDial.cpp" line="516"/>
+        <location filename="../svgui/widgets/AudioDial.cpp" line="492"/>
+        <location filename="../svgui/widgets/AudioDial.cpp" line="516"/>
         <source>Enter a new value from %1 to %2:</source>
         <translation>Введите новое значение от %1 до %2:</translation>
     </message>
@@ -104,100 +104,95 @@
 <context>
     <name>AudioTargetFactory</name>
     <message>
-        <location filename="../../svapp/audioio/AudioTargetFactory.cpp" line="72"/>
         <source>(auto)</source>
-        <translation>(авто)</translation>
-    </message>
-    <message>
-        <location filename="../../svapp/audioio/AudioTargetFactory.cpp" line="76"/>
+        <translation type="vanished">(авто)</translation>
+    </message>
+    <message>
         <source>JACK Audio Connection Kit</source>
-        <translation>Ограничить воспроизведение выделением</translation>
-    </message>
-    <message>
-        <location filename="../../svapp/audioio/AudioTargetFactory.cpp" line="80"/>
+        <translation type="vanished">Ограничить воспроизведение выделением</translation>
+    </message>
+    <message>
         <source>PulseAudio Server</source>
-        <translation>Сервер PulseAudio</translation>
-    </message>
-    <message>
-        <location filename="../../svapp/audioio/AudioTargetFactory.cpp" line="84"/>
+        <translation type="vanished">Сервер PulseAudio</translation>
+    </message>
+    <message>
         <source>Core Audio Device</source>
-        <translation>Устройство Core Audio</translation>
-    </message>
-    <message>
-        <location filename="../../svapp/audioio/AudioTargetFactory.cpp" line="88"/>
+        <translation type="vanished">Устройство Core Audio</translation>
+    </message>
+    <message>
         <source>Default Soundcard Device</source>
-        <translation>Звуковая карта по умолчанию</translation>
+        <translation type="vanished">Звуковая карта по умолчанию</translation>
     </message>
 </context>
 <context>
     <name>BZipFileDevice</name>
     <message>
-        <location filename="../../svcore/data/fileio/BZipFileDevice.cpp" line="49"/>
+        <location filename="../svcore/data/fileio/BZipFileDevice.cpp" line="51"/>
         <source>File is already open</source>
         <translation>Этот файл уже открыт</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/BZipFileDevice.cpp" line="54"/>
+        <location filename="../svcore/data/fileio/BZipFileDevice.cpp" line="56"/>
         <source>Append mode not supported</source>
         <translation>Режим добавления в конец не поддерживается</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/BZipFileDevice.cpp" line="60"/>
+        <location filename="../svcore/data/fileio/BZipFileDevice.cpp" line="62"/>
         <source>File access mode not specified</source>
         <translation>Способ доступа к файлам не указан</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/BZipFileDevice.cpp" line="66"/>
+        <location filename="../svcore/data/fileio/BZipFileDevice.cpp" line="68"/>
         <source>Read and write modes both specified</source>
         <translation>Режимы чтения и записи определены</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/BZipFileDevice.cpp" line="75"/>
+        <location filename="../svcore/data/fileio/BZipFileDevice.cpp" line="77"/>
         <source>Failed to open file for writing</source>
         <translation>Не удалось открыть файл для записи</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/BZipFileDevice.cpp" line="86"/>
+        <location filename="../svcore/data/fileio/BZipFileDevice.cpp" line="88"/>
         <source>Failed to open bzip2 stream for writing</source>
         <translation>Не удалось открыть поток bzip2 для записи</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/BZipFileDevice.cpp" line="102"/>
+        <location filename="../svcore/data/fileio/BZipFileDevice.cpp" line="104"/>
         <source>Failed to open file for reading</source>
         <translation>Не удалось открыть файл для чтения</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/BZipFileDevice.cpp" line="113"/>
+        <location filename="../svcore/data/fileio/BZipFileDevice.cpp" line="115"/>
         <source>Failed to open bzip2 stream for reading</source>
         <translation>Не удалось открыть поток bzip2 для чтения</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/BZipFileDevice.cpp" line="127"/>
+        <location filename="../svcore/data/fileio/BZipFileDevice.cpp" line="129"/>
         <source>Internal error (open for neither read nor write)</source>
         <translation>Внутренняя ошибка (не открывается ни на чтение, ни на запись)</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/BZipFileDevice.cpp" line="136"/>
+        <location filename="../svcore/data/fileio/BZipFileDevice.cpp" line="138"/>
         <source>File not open</source>
         <translation>Файл не открыт</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/BZipFileDevice.cpp" line="148"/>
+        <location filename="../svcore/data/fileio/BZipFileDevice.cpp" line="150"/>
         <source>bzip2 stream write close error</source>
         <translation>Ошибка закрытия записи в поток bzip2</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/BZipFileDevice.cpp" line="160"/>
+        <location filename="../svcore/data/fileio/BZipFileDevice.cpp" line="162"/>
         <source>bzip2 stream read close error</source>
         <translation>Ошибка закрытия чтения потока bzip2</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/BZipFileDevice.cpp" line="169"/>
+        <location filename="../svcore/data/fileio/BZipFileDevice.cpp" line="171"/>
         <source>Internal error (close for neither read nor write)</source>
         <translation>Внутренняя ошибка (не закрывается ни чтение, ни запись)</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/BZipFileDevice.cpp" line="186"/>
+        <location filename="../svcore/data/fileio/BZipFileDevice.cpp" line="188"/>
         <source>bzip2 stream read error</source>
         <translation>Ошибка чтения потока bzip2</translation>
     </message>
@@ -205,7 +200,7 @@
 <context>
     <name>BundleCommand</name>
     <message numerus="yes">
-        <location filename="../../svcore/base/Command.cpp" line="98"/>
+        <location filename="../svcore/base/Command.cpp" line="98"/>
         <source>%1 (%n change(s))</source>
         <translation>
             <numerusform>%1 (%n изменение)</numerusform>
@@ -217,7 +212,8 @@
 <context>
     <name>CSVFileWriter</name>
     <message>
-        <location filename="../../svcore/data/fileio/CSVFileWriter.cpp" line="62"/>
+        <location filename="../svcore/data/fileio/CSVFileWriter.cpp" line="67"/>
+        <location filename="../svcore/data/fileio/CSVFileWriter.cpp" line="92"/>
         <source>Failed to open file %1 for writing</source>
         <translation>Не удалось открыть файл %1 для записи</translation>
     </message>
@@ -225,7 +221,7 @@
 <context>
     <name>CSVFormatDialog</name>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="40"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="45"/>
         <source>Select Data Format</source>
         <translation>Выберите формат данных</translation>
     </message>
@@ -262,83 +258,93 @@
         <translation type="obsolete">Данные (строки последовательны во времени)</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="46"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="51"/>
         <source>Please select the correct data format for this file.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="78"/>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="88"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="83"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="93"/>
         <source>&lt;ignore&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="79"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="84"/>
         <source>Values</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="82"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="87"/>
         <source>(%1 more)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="89"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="94"/>
         <source>Time</source>
         <translation type="unfinished">Время</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="90"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="95"/>
         <source>End time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="91"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="96"/>
         <source>Duration</source>
         <translation type="unfinished">Длительность</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="92"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="97"/>
         <source>Value</source>
         <translation type="unfinished">Значение</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="93"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="98"/>
+        <source>Pitch</source>
+        <translation type="unfinished">Высота тона</translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="99"/>
         <source>Label</source>
         <translation type="unfinished">Метка</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="111"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="121"/>
         <source>Timing is specified:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="114"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="126"/>
         <source>Explicitly, in seconds</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="115"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="127"/>
+        <source>Explicitly, in milliseconds</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="128"/>
         <source>Explicitly, in audio sample frames</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="116"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="129"/>
         <source>Implicitly: rows are equally spaced in time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="124"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="156"/>
         <source>Audio sample rate (Hz):</source>
         <translation>Частота сэмплирования звука (Гц):</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="147"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="179"/>
         <source>Frame increment between rows:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CSVFormatDialog.cpp" line="215"/>
+        <location filename="../svgui/widgets/CSVFormatDialog.cpp" line="249"/>
         <source>Data will be displayed in a %1 layer.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -356,7 +362,7 @@
 <context>
     <name>Colour3DPlotLayer</name>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="698"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="750"/>
         <source>Time:	%1 - %2
 Bin:	%3
 Value:	%4</source>
@@ -365,86 +371,86 @@
 Значение:	%4</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="309"/>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="318"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="316"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="325"/>
         <source>Linear</source>
         <translation>Линейный</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="322"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="329"/>
         <source>&lt;unknown&gt;</source>
         <translation>&lt;неизвестно&gt;</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="170"/>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="216"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="177"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="223"/>
         <source>Colour</source>
         <translation>Цвет</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="171"/>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="211"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="178"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="218"/>
         <source>Scale</source>
         <translation>Масштаб</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="172"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="179"/>
         <source>Normalize Columns</source>
         <translation>Нормализовать столбцы</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="173"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="180"/>
         <source>Normalize Visible Area</source>
         <translation>Нормализовать видимую область</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="310"/>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="319"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="317"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="326"/>
         <source>Log</source>
         <translation>Логарифмический</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="311"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="318"/>
         <source>+/-1</source>
         <translation>±1</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="174"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="181"/>
         <source>Invert Vertical Scale</source>
         <translation>Инвертировать масштаб по вертикали</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="176"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="183"/>
         <source>Always Opaque</source>
         <translation>Всегда непрозрачно</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="312"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="319"/>
         <source>Absolute</source>
         <translation>Абсолютный</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="175"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="182"/>
         <source>Gain</source>
         <translation type="unfinished">Усиление</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="177"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="184"/>
         <source>Smooth</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="178"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="185"/>
         <source>Bin Scale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="213"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="220"/>
         <source>Bins</source>
         <translation type="unfinished">Бины</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/Colour3DPlotLayer.cpp" line="329"/>
+        <location filename="../svgui/layer/Colour3DPlotLayer.cpp" line="336"/>
         <source>dB</source>
         <translation>Дб</translation>
     </message>
@@ -452,68 +458,84 @@
 <context>
     <name>ColourMapper</name>
     <message>
-        <location filename="../../svgui/layer/ColourMapper.cpp" line="48"/>
-        <location filename="../../svgui/layer/ColourMapper.cpp" line="66"/>
+        <location filename="../svgui/layer/ColourMapper.cpp" line="88"/>
+        <location filename="../svgui/layer/ColourMapper.cpp" line="106"/>
         <source>&lt;unknown&gt;</source>
         <translation>&lt;неизвестно&gt;</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ColourMapper.cpp" line="52"/>
         <source>Default</source>
-        <translation>По умолчанию</translation>
-    </message>
-    <message>
-        <location filename="../../svgui/layer/ColourMapper.cpp" line="53"/>
+        <translation type="vanished">По умолчанию</translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/ColourMapper.cpp" line="93"/>
         <source>White on Black</source>
         <translation>Белое на чёрном</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ColourMapper.cpp" line="54"/>
+        <location filename="../svgui/layer/ColourMapper.cpp" line="94"/>
         <source>Black on White</source>
         <translation>Чёрное на белом</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ColourMapper.cpp" line="55"/>
         <source>Red on Blue</source>
-        <translation>Красное на синем</translation>
-    </message>
-    <message>
-        <location filename="../../svgui/layer/ColourMapper.cpp" line="56"/>
+        <translation type="vanished">Красное на синем</translation>
+    </message>
+    <message>
         <source>Yellow on Black</source>
-        <translation>Жёлтое на чёрном</translation>
-    </message>
-    <message>
-        <location filename="../../svgui/layer/ColourMapper.cpp" line="57"/>
+        <translation type="vanished">Жёлтое на чёрном</translation>
+    </message>
+    <message>
         <source>Blue on Black</source>
-        <translation>Синее на чёрном</translation>
-    </message>
-    <message>
-        <location filename="../../svgui/layer/ColourMapper.cpp" line="58"/>
+        <translation type="vanished">Синее на чёрном</translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/ColourMapper.cpp" line="92"/>
+        <source>Green</source>
+        <translation type="unfinished">Зелёный</translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/ColourMapper.cpp" line="95"/>
+        <source>Cherry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/ColourMapper.cpp" line="96"/>
+        <source>Wasp</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/ColourMapper.cpp" line="97"/>
+        <source>Ice</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/ColourMapper.cpp" line="98"/>
         <source>Sunset</source>
         <translation>Закат</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ColourMapper.cpp" line="59"/>
+        <location filename="../svgui/layer/ColourMapper.cpp" line="99"/>
         <source>Fruit Salad</source>
         <translation>Фруктовый салат</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ColourMapper.cpp" line="60"/>
+        <location filename="../svgui/layer/ColourMapper.cpp" line="100"/>
         <source>Banded</source>
         <translation>В полоску</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ColourMapper.cpp" line="61"/>
+        <location filename="../svgui/layer/ColourMapper.cpp" line="101"/>
         <source>Highlight</source>
         <translation>Подсветка</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ColourMapper.cpp" line="62"/>
+        <location filename="../svgui/layer/ColourMapper.cpp" line="102"/>
         <source>Printer</source>
         <translation>Принтер</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ColourMapper.cpp" line="63"/>
+        <location filename="../svgui/layer/ColourMapper.cpp" line="103"/>
         <source>High Gain</source>
         <translation type="unfinished"></translation>
     </message>
@@ -521,68 +543,67 @@
 <context>
     <name>CommandHistory</name>
     <message>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="56"/>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="61"/>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="64"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="67"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="70"/>
         <source>&amp;Undo</source>
         <translation>&amp;Отменить</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="57"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="63"/>
         <source>Ctrl+Z</source>
         <translation>Ctrl+Z</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="69"/>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="74"/>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="77"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="75"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="80"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="83"/>
         <source>Re&amp;do</source>
         <translation>Ве&amp;рнуть</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="70"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="76"/>
         <source>Ctrl+Shift+Z</source>
         <translation>Ctrl+Shift+Z</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="500"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="516"/>
         <source>Nothing to undo</source>
         <translation>Нет отменяемых действий</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="500"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="516"/>
         <source>Nothing to redo</source>
         <translation>Нет повторяемых действий</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="516"/>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="538"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="532"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="554"/>
         <source>&amp;Undo %1</source>
         <translation>&amp;Отменить действие «%1»</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="516"/>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="539"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="532"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="555"/>
         <source>Re&amp;do %1</source>
         <translation>Повто&amp;рить действие «%1»</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="58"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="64"/>
         <source>Undo the last editing operation</source>
         <translation>Отменить последнее действие правки</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="71"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="77"/>
         <source>Redo the last operation that was undone</source>
         <translation>Повторить последнее действие правки</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="341"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="357"/>
         <source>Undo %1</source>
         <translation>Отмена действия «%1»</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/CommandHistory.cpp" line="367"/>
+        <location filename="../svgui/widgets/CommandHistory.cpp" line="383"/>
         <source>Redo %1</source>
         <translation>Повтор действия «%1»</translation>
     </message>
@@ -590,15 +611,23 @@
 <context>
     <name>CoreAudioFileReader</name>
     <message>
-        <location filename="../../svcore/data/fileio/CoreAudioFileReader.cpp" line="156"/>
+        <location filename="../svcore/data/fileio/CoreAudioFileReader.cpp" line="162"/>
         <source>Decoding %1...</source>
         <translation type="unfinished">Декодируется %1...</translation>
     </message>
 </context>
 <context>
+    <name>DecodingWavFileReader</name>
+    <message>
+        <location filename="../svcore/data/fileio/DecodingWavFileReader.cpp" line="66"/>
+        <source>Decoding %1...</source>
+        <translation type="unfinished">Декодируется %1...</translation>
+    </message>
+</context>
+<context>
     <name>Dense3DModelPeakCache</name>
     <message>
-        <location filename="../../svcore/data/model/Dense3DModelPeakCache.h" line="86"/>
+        <location filename="../svcore/data/model/Dense3DModelPeakCache.h" line="79"/>
         <source>Dense 3-D Peak Cache</source>
         <translation type="unfinished"></translation>
     </message>
@@ -606,17 +635,17 @@
 <context>
     <name>DenseThreeDimensionalModel</name>
     <message>
-        <location filename="../../svcore/data/model/DenseThreeDimensionalModel.h" line="110"/>
+        <location filename="../svcore/data/model/DenseThreeDimensionalModel.h" line="120"/>
         <source>Dense 3-D</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/DenseThreeDimensionalModel.h" line="127"/>
+        <location filename="../svcore/data/model/DenseThreeDimensionalModel.h" line="137"/>
         <source>Time</source>
         <translation>Время</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/DenseThreeDimensionalModel.h" line="128"/>
+        <location filename="../svcore/data/model/DenseThreeDimensionalModel.h" line="138"/>
         <source>Frame</source>
         <translation>Выборка</translation>
     </message>
@@ -624,7 +653,7 @@
 <context>
     <name>DenseTimeValueModel</name>
     <message>
-        <location filename="../../svcore/data/model/DenseTimeValueModel.h" line="89"/>
+        <location filename="../svcore/data/model/DenseTimeValueModel.h" line="82"/>
         <source>Dense Time-Value</source>
         <translation type="unfinished"></translation>
     </message>
@@ -632,12 +661,12 @@
 <context>
     <name>Document</name>
     <message>
-        <location filename="../../svapp/framework/Document.cpp" line="270"/>
+        <location filename="../svapp/framework/Document.cpp" line="415"/>
         <source>Set main model to %1</source>
         <translation>Сделать %1 основной моделью</translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/Document.cpp" line="272"/>
+        <location filename="../svapp/framework/Document.cpp" line="417"/>
         <source>Clear main model</source>
         <translation>Очистить основную модель</translation>
     </message>
@@ -645,7 +674,7 @@
 <context>
     <name>EditableDenseThreeDimensionalModel</name>
     <message>
-        <location filename="../../svcore/data/model/EditableDenseThreeDimensionalModel.h" line="139"/>
+        <location filename="../svcore/data/model/EditableDenseThreeDimensionalModel.h" line="182"/>
         <source>Editable Dense 3-D</source>
         <translation type="unfinished"></translation>
     </message>
@@ -653,12 +682,12 @@
 <context>
     <name>FFTModel</name>
     <message>
-        <location filename="../../svcore/data/model/FFTModel.cpp" line="203"/>
+        <location filename="../svcore/data/model/FFTModel.cpp" line="92"/>
         <source>%1 Hz</source>
         <translation>%1 Гц</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/FFTModel.h" line="188"/>
+        <location filename="../svcore/data/model/FFTModel.h" line="138"/>
         <source>FFT</source>
         <translation>FFT</translation>
     </message>
@@ -666,22 +695,22 @@
 <context>
     <name>Fader</name>
     <message>
-        <location filename="../../svgui/widgets/Fader.cpp" line="217"/>
+        <location filename="../svgui/widgets/Fader.cpp" line="219"/>
         <source>Level: Off</source>
         <translation>Уровень: выкл</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/Fader.cpp" line="219"/>
+        <location filename="../svgui/widgets/Fader.cpp" line="221"/>
         <source>Level: %1%2.%3%4 dB</source>
         <translation>Уровень: %1%2.%3%4 Дб</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/Fader.cpp" line="141"/>
+        <location filename="../svgui/widgets/Fader.cpp" line="143"/>
         <source>Enter new fader level</source>
         <translation>Ввведите новый уровень фейдера</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/Fader.cpp" line="142"/>
+        <location filename="../svgui/widgets/Fader.cpp" line="144"/>
         <source>New fader level, from %1 to %2 dBFS:</source>
         <translation>Новый уровень фейдера, от %1 до %2 dBFS:</translation>
     </message>
@@ -689,48 +718,53 @@
 <context>
     <name>FeatureExtractionModelTransformer</name>
     <message>
-        <location filename="../../svcore/transform/FeatureExtractionModelTransformer.cpp" line="54"/>
+        <location filename="../svcore/transform/FeatureExtractionModelTransformer.cpp" line="84"/>
+        <source>Transforms supplied to a single FeatureExtractionModelTransformer instance must be similar in every respect except plugin output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/transform/FeatureExtractionModelTransformer.cpp" line="97"/>
         <source>No factory available for feature extraction plugin id &quot;%1&quot; (unknown plugin type, or internal error?)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/FeatureExtractionModelTransformer.cpp" line="60"/>
+        <location filename="../svcore/transform/FeatureExtractionModelTransformer.cpp" line="103"/>
         <source>Input model for feature extraction plugin &quot;%1&quot; is of wrong type (internal error?)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/FeatureExtractionModelTransformer.cpp" line="66"/>
+        <location filename="../svcore/transform/FeatureExtractionModelTransformer.cpp" line="109"/>
         <source>Failed to instantiate plugin &quot;%1&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/FeatureExtractionModelTransformer.cpp" line="81"/>
+        <location filename="../svcore/transform/FeatureExtractionModelTransformer.cpp" line="124"/>
         <source>Cannot provide enough channels to feature extraction plugin &quot;%1&quot; (plugin min is %2, max %3; input model has %4)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/FeatureExtractionModelTransformer.cpp" line="112"/>
-        <location filename="../../svcore/transform/FeatureExtractionModelTransformer.cpp" line="127"/>
+        <location filename="../svcore/transform/FeatureExtractionModelTransformer.cpp" line="156"/>
+        <location filename="../svcore/transform/FeatureExtractionModelTransformer.cpp" line="171"/>
         <source>Failed to initialise feature extraction plugin &quot;%1&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/FeatureExtractionModelTransformer.cpp" line="117"/>
+        <location filename="../svcore/transform/FeatureExtractionModelTransformer.cpp" line="161"/>
         <source>Feature extraction plugin &quot;%1&quot; rejected the given step and block sizes (%2 and %3); using plugin defaults (%4 and %5) instead</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/FeatureExtractionModelTransformer.cpp" line="135"/>
+        <location filename="../svcore/transform/FeatureExtractionModelTransformer.cpp" line="179"/>
         <source>Transform was configured for version %1 of plugin &quot;%2&quot;, but the plugin being used is version %3</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/FeatureExtractionModelTransformer.cpp" line="150"/>
+        <location filename="../svcore/transform/FeatureExtractionModelTransformer.cpp" line="194"/>
         <source>Plugin &quot;%1&quot; has no outputs</source>
         <translation>У расширения &quot;%1&quot; нет выходов</translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/FeatureExtractionModelTransformer.cpp" line="165"/>
+        <location filename="../svcore/transform/FeatureExtractionModelTransformer.cpp" line="212"/>
         <source>Plugin &quot;%1&quot; has no output named &quot;%2&quot;</source>
         <translation>У расширения &quot;%1&quot; нет выхода с названием &quot;%2&quot;</translation>
     </message>
@@ -738,57 +772,277 @@
 <context>
     <name>FileSource</name>
     <message>
-        <location filename="../../svcore/data/fileio/FileSource.cpp" line="102"/>
-        <location filename="../../svcore/data/fileio/FileSource.cpp" line="181"/>
-        <location filename="../../svcore/data/fileio/FileSource.cpp" line="214"/>
+        <location filename="../svcore/data/fileio/FileSource.cpp" line="124"/>
+        <location filename="../svcore/data/fileio/FileSource.cpp" line="206"/>
+        <location filename="../svcore/data/fileio/FileSource.cpp" line="239"/>
         <source>Unsupported scheme in URL</source>
         <translation>Неподдерживаемая схема URL</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/FileSource.cpp" line="424"/>
+        <location filename="../svcore/data/fileio/FileSource.cpp" line="452"/>
         <source>Downloading %1...</source>
         <translation>Скачивается %1...</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/FileSource.cpp" line="764"/>
         <source>Failed to connect to FTP server</source>
-        <translation>Не удалось соединиться с FTP-сервером</translation>
-    </message>
-    <message>
-        <location filename="../../svcore/data/fileio/FileSource.cpp" line="766"/>
+        <translation type="vanished">Не удалось соединиться с FTP-сервером</translation>
+    </message>
+    <message>
         <source>Login failed</source>
-        <translation>Не удалось авторизоваться</translation>
-    </message>
-    <message>
-        <location filename="../../svcore/data/fileio/FileSource.cpp" line="768"/>
+        <translation type="vanished">Не удалось авторизоваться</translation>
+    </message>
+    <message>
         <source>Failed to change to correct directory</source>
-        <translation>Не удалось поменять на корректный каталог</translation>
-    </message>
-    <message>
-        <location filename="../../svcore/data/fileio/FileSource.cpp" line="770"/>
+        <translation type="vanished">Не удалось поменять на корректный каталог</translation>
+    </message>
+    <message>
         <source>FTP download aborted</source>
-        <translation>Скачивание с FTP-сервера прервано</translation>
-    </message>
-    <message>
-        <location filename="../../svcore/data/fileio/FileSource.cpp" line="790"/>
+        <translation type="vanished">Скачивание с FTP-сервера прервано</translation>
+    </message>
+    <message>
+        <location filename="../svcore/data/fileio/FileSource.cpp" line="746"/>
         <source>Download cancelled</source>
         <translation>Скачивание отменено</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/FileSource.cpp" line="821"/>
+        <location filename="../svcore/data/fileio/FileSource.cpp" line="774"/>
         <source>Failed to create local file %1</source>
         <translation>Не удалось создать локальный файл %1</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/FileSource.cpp" line="824"/>
+        <location filename="../svcore/data/fileio/FileSource.cpp" line="777"/>
         <source>File contains no data!</source>
         <translation>Файл не содержит данных!</translation>
     </message>
 </context>
 <context>
+    <name>FlexiNoteLayer</name>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="69"/>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="70"/>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="971"/>
+        <source>New Point</source>
+        <translation type="unfinished">Новая точка</translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="107"/>
+        <source>Vertical Scale</source>
+        <translation type="unfinished">Верт. масштаб</translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="108"/>
+        <source>Scale Units</source>
+        <translation type="unfinished">Единицы шкалы</translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="124"/>
+        <source>Scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="173"/>
+        <source>Auto-Align</source>
+        <translation type="unfinished">Автовыравнивание</translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="174"/>
+        <source>Linear</source>
+        <translation type="unfinished">Линейный</translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="175"/>
+        <source>Log</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="176"/>
+        <source>MIDI Notes</source>
+        <translation type="unfinished">Ноты MIDI</translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="518"/>
+        <source>In progress</source>
+        <translation type="unfinished">В процессе</translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="520"/>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="544"/>
+        <source>No local points</source>
+        <translation type="unfinished">Нет локальных точек</translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="558"/>
+        <source>%1 (%2, %3 Hz)</source>
+        <translation type="unfinished">%1 (%2, %3 Гц)</translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="565"/>
+        <source>%1 Hz (%2, %3)</source>
+        <translation type="unfinished">%1Гц (%2, %3)</translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="571"/>
+        <source>%1 %2</source>
+        <translation type="unfinished">%1 %2</translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="578"/>
+        <source>Time:	%1
+Pitch:	%2
+Duration:	%3
+No label</source>
+        <translation type="unfinished">Время:	%1
+Высота тона:	%2
+Длительность:	%3
+Без метки</translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="583"/>
+        <source>Time:	%1
+Pitch:	%2
+Duration:	%3
+Label:	%4</source>
+        <translation type="unfinished">Время:	%1
+Высота тона:	%2
+Длительность:	%3
+Метка:	%4</translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="976"/>
+        <source>Draw Point</source>
+        <translation type="unfinished">Нарисовать точку</translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1052"/>
+        <source>Erase Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1133"/>
+        <source>Drag Point</source>
+        <translation type="unfinished">Перетащить точку</translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1215"/>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1288"/>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1608"/>
+        <source>Edit Point</source>
+        <translation type="unfinished">Изменить точку</translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1217"/>
+        <source>Relocate Point</source>
+        <translation type="unfinished">Переместить точку</translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1220"/>
+        <source>Change Point Value</source>
+        <translation type="unfinished">Изменить значение точки</translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1352"/>
+        <source>Add Point</source>
+        <translation type="unfinished">Добавить точку</translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1392"/>
+        <source>Snap Notes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1441"/>
+        <source>Merge Notes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1624"/>
+        <source>Drag Selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1649"/>
+        <source>Resize Selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1688"/>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1710"/>
+        <source>Delete Selected Points</source>
+        <translation type="unfinished">Удалить выбранные точки</translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1759"/>
+        <source>Re-align pasted items?</source>
+        <translation type="unfinished">Заново выровнять вставленные объекты?</translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1760"/>
+        <source>The items you are pasting came from a layer with different source material from this one.  Do you want to re-align them in time, to match the source material for this layer?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1774"/>
+        <source>Paste</source>
+        <translation type="unfinished">Вставить</translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/FlexiNoteLayer.cpp" line="1845"/>
+        <source>Record FlexiNote</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>FlexiNoteModel</name>
+    <message>
+        <location filename="../svcore/data/model/FlexiNoteModel.h" line="136"/>
+        <source>FlexiNote</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/data/model/FlexiNoteModel.h" line="171"/>
+        <source>Time</source>
+        <translation type="unfinished">Время</translation>
+    </message>
+    <message>
+        <location filename="../svcore/data/model/FlexiNoteModel.h" line="172"/>
+        <source>Frame</source>
+        <translation type="unfinished">Выборка</translation>
+    </message>
+    <message>
+        <location filename="../svcore/data/model/FlexiNoteModel.h" line="173"/>
+        <source>Pitch</source>
+        <translation type="unfinished">Высота тона</translation>
+    </message>
+    <message>
+        <location filename="../svcore/data/model/FlexiNoteModel.h" line="174"/>
+        <source>Duration</source>
+        <translation type="unfinished">Длительность</translation>
+    </message>
+    <message>
+        <location filename="../svcore/data/model/FlexiNoteModel.h" line="175"/>
+        <source>Level</source>
+        <translation type="unfinished">Уровень</translation>
+    </message>
+    <message>
+        <location filename="../svcore/data/model/FlexiNoteModel.h" line="176"/>
+        <source>Label</source>
+        <translation type="unfinished">Метка</translation>
+    </message>
+    <message>
+        <location filename="../svcore/data/model/FlexiNoteModel.h" line="177"/>
+        <source>Unknown</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/data/model/FlexiNoteModel.h" line="207"/>
+        <source>Edit Data</source>
+        <translation type="unfinished">Изменить данные</translation>
+    </message>
+</context>
+<context>
     <name>I</name>
     <message>
-        <location filename="../../svcore/data/model/IntervalModel.h" line="103"/>
+        <location filename="../svcore/data/model/IntervalModel.h" line="103"/>
         <source>Edit Data</source>
         <translation>Изменить данные</translation>
     </message>
@@ -796,52 +1050,52 @@
 <context>
     <name>ImageDialog</name>
     <message>
-        <location filename="../../svgui/widgets/ImageDialog.cpp" line="49"/>
+        <location filename="../svgui/widgets/ImageDialog.cpp" line="49"/>
         <source>Image</source>
         <translation>Изображение</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ImageDialog.cpp" line="56"/>
+        <location filename="../svgui/widgets/ImageDialog.cpp" line="56"/>
         <source>Label:</source>
         <translation>Метка:</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ImageDialog.cpp" line="63"/>
+        <location filename="../svgui/widgets/ImageDialog.cpp" line="63"/>
         <source>File or URL:</source>
         <translation>Файл или URL:</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ImageDialog.cpp" line="73"/>
+        <location filename="../svgui/widgets/ImageDialog.cpp" line="73"/>
         <source>Browse...</source>
         <translation>Просмотр...</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ImageDialog.cpp" line="79"/>
+        <location filename="../svgui/widgets/ImageDialog.cpp" line="79"/>
         <source>Preview</source>
         <translation>Предпросмотр</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ImageDialog.cpp" line="187"/>
+        <location filename="../svgui/widgets/ImageDialog.cpp" line="187"/>
         <source>Unsupported scheme in URL</source>
         <translation>Неподдерживаемая схема URL</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ImageDialog.cpp" line="188"/>
+        <location filename="../svgui/widgets/ImageDialog.cpp" line="188"/>
         <source>The URL scheme &quot;%1&quot; is not supported</source>
         <translation>Схема URL &quot;%1&quot; не поддерживается</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ImageDialog.cpp" line="192"/>
+        <location filename="../svgui/widgets/ImageDialog.cpp" line="192"/>
         <source>Opening image URL...</source>
         <translation>Открывается изображение по URL...</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ImageDialog.cpp" line="196"/>
+        <location filename="../svgui/widgets/ImageDialog.cpp" line="196"/>
         <source>File download failed</source>
         <translation>Не удалось скачать файл</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ImageDialog.cpp" line="197"/>
+        <location filename="../svgui/widgets/ImageDialog.cpp" line="197"/>
         <source>Failed to download URL &quot;%1&quot;: %2</source>
         <translation>Не удалось скачать URL &quot;%1&quot;: %2</translation>
     </message>
@@ -849,58 +1103,58 @@
 <context>
     <name>ImageLayer</name>
     <message>
-        <location filename="../../svgui/layer/ImageLayer.cpp" line="182"/>
+        <location filename="../svgui/layer/ImageLayer.cpp" line="182"/>
         <source>In progress</source>
         <translation>В процессе</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ImageLayer.cpp" line="606"/>
-        <location filename="../../svgui/layer/ImageLayer.cpp" line="711"/>
+        <location filename="../svgui/layer/ImageLayer.cpp" line="602"/>
+        <location filename="../svgui/layer/ImageLayer.cpp" line="707"/>
         <source>Select image</source>
         <translation>Выбрать изображение</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ImageLayer.cpp" line="678"/>
+        <location filename="../svgui/layer/ImageLayer.cpp" line="674"/>
         <source>Move Image</source>
         <translation>Переместить изображение</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ImageLayer.cpp" line="735"/>
+        <location filename="../svgui/layer/ImageLayer.cpp" line="731"/>
         <source>Drag Selection</source>
         <translation>Перетащить выделение</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ImageLayer.cpp" line="760"/>
+        <location filename="../svgui/layer/ImageLayer.cpp" line="756"/>
         <source>Resize Selection</source>
         <translation>Изменить размер выделения</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ImageLayer.cpp" line="794"/>
+        <location filename="../svgui/layer/ImageLayer.cpp" line="790"/>
         <source>Delete Selection</source>
         <translation>Удалите выделение</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ImageLayer.cpp" line="837"/>
+        <location filename="../svgui/layer/ImageLayer.cpp" line="833"/>
         <source>Re-align pasted items?</source>
         <translation>Заново выровнять вставленные объекты?</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ImageLayer.cpp" line="838"/>
+        <location filename="../svgui/layer/ImageLayer.cpp" line="834"/>
         <source>The items you are pasting came from a layer with different source material from this one.  Do you want to re-align them in time, to match the source material for this layer?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ImageLayer.cpp" line="852"/>
+        <location filename="../svgui/layer/ImageLayer.cpp" line="848"/>
         <source>Paste</source>
         <translation>Вставить</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ImageLayer.cpp" line="884"/>
+        <location filename="../svgui/layer/ImageLayer.cpp" line="880"/>
         <source>New Point</source>
         <translation>Новая точка</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/ImageLayer.cpp" line="915"/>
+        <location filename="../svgui/layer/ImageLayer.cpp" line="911"/>
         <source>Opening image URL...</source>
         <translation>Открывается изображение по URL...</translation>
     </message>
@@ -908,38 +1162,38 @@
 <context>
     <name>ImageModel</name>
     <message>
-        <location filename="../../svcore/data/model/ImageModel.h" line="96"/>
-        <location filename="../../svcore/data/model/ImageModel.h" line="154"/>
+        <location filename="../svcore/data/model/ImageModel.h" line="96"/>
+        <location filename="../svcore/data/model/ImageModel.h" line="154"/>
         <source>Image</source>
         <translation>Изображение</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/ImageModel.h" line="124"/>
+        <location filename="../svcore/data/model/ImageModel.h" line="124"/>
         <source>Edit Image</source>
         <translation>Изменить изображение</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/ImageModel.h" line="152"/>
+        <location filename="../svcore/data/model/ImageModel.h" line="152"/>
         <source>Time</source>
         <translation>Время</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/ImageModel.h" line="153"/>
+        <location filename="../svcore/data/model/ImageModel.h" line="153"/>
         <source>Frame</source>
         <translation>Выборка</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/ImageModel.h" line="155"/>
+        <location filename="../svcore/data/model/ImageModel.h" line="155"/>
         <source>Label</source>
         <translation>Метка</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/ImageModel.h" line="156"/>
+        <location filename="../svcore/data/model/ImageModel.h" line="156"/>
         <source>Unknown</source>
         <translation>Неизвестно</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/ImageModel.h" line="187"/>
+        <location filename="../svcore/data/model/ImageModel.h" line="187"/>
         <source>Edit Data</source>
         <translation>Изменить данные</translation>
     </message>
@@ -947,41 +1201,40 @@
 <context>
     <name>InteractiveFileFinder</name>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="52"/>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="192"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="66"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="233"/>
         <source>Select file</source>
         <translation>Выберите файл</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="53"/>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="193"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="67"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="234"/>
         <source>All files (*.*)</source>
         <translation>Все файлы (*.*)</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="59"/>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="199"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="73"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="240"/>
         <source>Select a session file</source>
         <translation>Выберите файл сеанса</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="60"/>
         <source>Sonic Visualiser session files (*.sv)
 RDF files (%1)
 All files (*.*)</source>
-        <translation>Файлы сеансов Sonic Visualiser (*.sv)
+        <translation type="vanished">Файлы сеансов Sonic Visualiser (*.sv)
 Файлы RDF (%1)
 Все файлы (*.*)</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="66"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="83"/>
         <source>Audio files (%1)
 All files (*.*)</source>
         <translation>Звуковые файлы (%1)
 Все файлы (*.*)</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="72"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="89"/>
         <source>All supported files (%1 %2)
 Sonic Visualiser Layer XML files (*.svl)
 Comma-separated data files (*.csv)
@@ -1000,7 +1253,7 @@
 Все файлы (*.*)</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="79"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="96"/>
         <source>All supported files (%1 %2)
 Sonic Visualiser Layer XML files (*.svl)
 Comma-separated data files (*.csv)
@@ -1017,34 +1270,32 @@
 Все файлы (*.*)</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="86"/>
         <source>All supported files (*.sv %1 %2)
 Sonic Visualiser session files (*.sv)
 Audio files (%2)
 RDF files (%1)
 All files (*.*)</source>
-        <translation>Все поддерживаемые типы файлов (*.sv %1 %2)
+        <translation type="vanished">Все поддерживаемые типы файлов (*.sv %1 %2)
 Файлы сеансов Sonic Visualiser (*.sv)
 Звуковые файлы (%2)
 Файлы RDF (%1)
 Все файлы (*.*)</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="101"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="134"/>
         <source>Image files (%1)
 All files (*.*)</source>
         <translation>Файлы изображений (%1)
 Все файлы (*.*)</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="107"/>
         <source>All supported files (*.sv %1 %2 %3)
 Sonic Visualiser session files (*.sv)
 Audio files (%1)
 Layer files (%2)
 RDF files (%3)
 All files (*.*)</source>
-        <translation>Все поддерживаемые типы файлов (*.sv %1 %2 %3)
+        <translation type="vanished">Все поддерживаемые типы файлов (*.sv %1 %2 %3)
 Файлы сеансов Sonic Visualiser (*.sv)
 Звуковые файлы (%1)
 Файлы слоев (%2)
@@ -1052,81 +1303,146 @@
 Все файлы (*.*)</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="148"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="188"/>
         <source>File does not exist</source>
         <translation>Файл не существует</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="149"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="189"/>
         <source>&lt;b&gt;File not found&lt;/b&gt;&lt;p&gt;File &quot;%1&quot; does not exist</source>
         <translation>&lt;b&gt;Файл не найден&lt;/b&gt;&lt;p&gt;Файл &quot;%1&quot; не существует</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="154"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="194"/>
         <source>File is not readable</source>
         <translation>Файл нечитаем</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="155"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="195"/>
         <source>&lt;b&gt;File is not readable&lt;/b&gt;&lt;p&gt;File &quot;%1&quot; can not be read</source>
         <translation>&lt;b&gt;Файл нечитаем&lt;/b&gt;&lt;p&gt;Файл &quot;%1&quot; не может быть прочитан</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="160"/>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="312"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="200"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="389"/>
         <source>Directory selected</source>
         <translation>Выбран каталог</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="161"/>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="313"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="201"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="390"/>
         <source>&lt;b&gt;Directory selected&lt;/b&gt;&lt;p&gt;File &quot;%1&quot; is a directory</source>
         <translation>&lt;b&gt;Выбран каталог&lt;/b&gt;&lt;p&gt;Файл &quot;%1&quot; является каталогом</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="166"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="206"/>
         <source>Non-file selected</source>
         <translation>Выбран не файл</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="167"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="207"/>
         <source>&lt;b&gt;Not a file&lt;/b&gt;&lt;p&gt;Path &quot;%1&quot; is not a file</source>
         <translation>&lt;b&gt;Это не файл&lt;/b&gt;&lt;p&gt;Путь &quot;%1&quot; не является файлом</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="172"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="212"/>
         <source>File is empty</source>
         <translation>Файл пуст</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="173"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="213"/>
         <source>&lt;b&gt;File is empty&lt;/b&gt;&lt;p&gt;File &quot;%1&quot; is empty</source>
         <translation>&lt;b&gt;Пустой файл&lt;/b&gt;&lt;p&gt;Файл &quot;%1&quot; пуст</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="200"/>
         <source>Sonic Visualiser session files (*.sv)
 All files (*.*)</source>
-        <translation>Файлы сеансов Sonic Visualiser (*.sv)
+        <translation type="vanished">Файлы сеансов Sonic Visualiser (*.sv)
 Все файлы (*.*)</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="206"/>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="212"/>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="218"/>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="228"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="74"/>
+        <source>%1 session files (*.%1)
+RDF files (%3)
+All files (*.*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="103"/>
+        <source>All supported files (%1 %2)
+Comma-separated data files (*.csv)
+Sonic Visualiser Layer XML files (*.svl)
+Space-separated .lab files (*.lab)
+RDF files (%2)
+MIDI files (*.mid)
+Text files (*.txt)
+All files (*.*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="110"/>
+        <source>All supported files (%1 %2)
+Comma-separated data files (*.csv)
+Sonic Visualiser Layer XML files (*.svl)
+Space-separated .lab files (*.lab)
+RDF files (%2)
+Text files (*.txt)
+All files (*.*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="117"/>
+        <source>All supported files (*.sv %1 %2)
+%3 session files (*.%4)
+Audio files (%2)
+RDF files (%1)
+All files (*.*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="140"/>
+        <source>Comma-separated data files (*.csv)
+Space-separated .lab files (*.lab)
+Text files (*.txt)
+All files (*.*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="145"/>
+        <source>All supported files (*.sv %1 %2 %3)
+%4 session files (*.%5)
+Audio files (%1)
+Layer files (%2)
+RDF files (%3)
+All files (*.*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="241"/>
+        <source>%1 session files (*.%2)
+All files (*.*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="248"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="254"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="260"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="266"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="272"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="282"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="288"/>
         <source>Select a file to export to</source>
         <translation>Выберите файл, в который экспортировать</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="207"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="249"/>
         <source>WAV audio files (*.wav)
 All files (*.*)</source>
         <translation>Звуковые файлы WAV (*.wav)
 Все файлы (*.*)</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="213"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="255"/>
         <source>Sonic Visualiser Layer XML files (*.svl)
 Comma-separated data files (*.csv)
 RDF/Turtle files (%1)
@@ -1141,7 +1457,7 @@
 Все файлы (*.*)</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="219"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="261"/>
         <source>Sonic Visualiser Layer XML files (*.svl)
 Comma-separated data files (*.csv)
 RDF/Turtle files (%1)
@@ -1154,75 +1470,101 @@
 Все файлы (*.*)</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="229"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="267"/>
+        <source>Comma-separated data files (*.csv)
+Sonic Visualiser Layer XML files (*.svl)
+RDF/Turtle files (%1)
+MIDI files (*.mid)
+Text files (*.txt)
+All files (*.*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="273"/>
+        <source>Comma-separated data files (*.csv)
+Sonic Visualiser Layer XML files (*.svl)
+RDF/Turtle files (%1)
+Text files (*.txt)
+All files (*.*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="283"/>
         <source>Portable Network Graphics files (*.png)
 All files (*.*)</source>
         <translation>Файлы Portable Network Graphics (*.png)
 Все файлы (*.*)</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="318"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="289"/>
+        <source>Comma-separated data files (*.csv)
+Text files (*.txt)
+All files (*.*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="395"/>
         <source>File exists</source>
         <translation>Такой файл уже существует</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="319"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="396"/>
         <source>&lt;b&gt;File exists&lt;/b&gt;&lt;p&gt;The file &quot;%1&quot; already exists.
 Do you want to overwrite it?</source>
         <translation>&lt;b&gt;Файл существует&lt;/b&gt;Файл &quot;%1&quot; уже существует.
 Вы хотите перезаписать его?</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="451"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="544"/>
         <source>&lt;b&gt;File not found&lt;/b&gt;&lt;p&gt;Audio file &quot;%1&quot; could not be opened.
 Do you want to locate it?</source>
         <translation>&lt;b&gt;Файл не найден&lt;/b&gt;&lt;p&gt;Не удалось открыть звуковой файл &quot;%1&quot;.
 Вы хотите указать его программе?</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="453"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="546"/>
         <source>&lt;b&gt;File not found&lt;/b&gt;&lt;p&gt;File &quot;%1&quot; could not be opened.
 Do you want to locate it?</source>
         <translation>&lt;b&gt;Файл не найден&lt;/b&gt;&lt;p&gt;Не удалось открыть файл &quot;%1&quot;.
 Вы хотите указать его программе?</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="463"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="556"/>
         <source>Failed to open file</source>
         <translation>Не удалось открыть файл</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="465"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="558"/>
         <source>Locate file...</source>
         <translation>Указать файл...</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="466"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="559"/>
         <source>Use URL...</source>
         <translation>Использовать URL...</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="467"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="560"/>
         <source>Cancel</source>
         <translation>Отменить</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="486"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="579"/>
         <source>Use URL</source>
         <translation>Использовать URL</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="487"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="580"/>
         <source>Please enter the URL to use for this file:</source>
         <translation>Укажите URL, который будет использоваться для этого файла:</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="495"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="588"/>
         <source>Failed to open location</source>
         <translation>Не удалось открыть местоположение</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/InteractiveFileFinder.cpp" line="496"/>
+        <location filename="../svgui/widgets/InteractiveFileFinder.cpp" line="589"/>
         <source>&lt;b&gt;Failed to open location&lt;/b&gt;&lt;p&gt;URL &quot;%1&quot; could not be opened</source>
         <translation>&lt;b&gt;Не удалось открыть местоположение&lt;/b&gt;&lt;p&gt;Не удалось открыть URL &quot;%1&quot;.</translation>
     </message>
@@ -1230,65 +1572,65 @@
 <context>
     <name>ItemEditDialog</name>
     <message>
-        <location filename="../../svgui/widgets/ItemEditDialog.cpp" line="58"/>
+        <location filename="../svgui/widgets/ItemEditDialog.cpp" line="61"/>
         <source>Timing</source>
         <translation>Тайминг</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ItemEditDialog.cpp" line="69"/>
+        <location filename="../svgui/widgets/ItemEditDialog.cpp" line="72"/>
         <source>Time:</source>
         <translation>Время:</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ItemEditDialog.cpp" line="73"/>
-        <location filename="../../svgui/widgets/ItemEditDialog.cpp" line="104"/>
+        <location filename="../svgui/widgets/ItemEditDialog.cpp" line="76"/>
+        <location filename="../svgui/widgets/ItemEditDialog.cpp" line="107"/>
         <source> frames</source>
         <translation> выборок</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ItemEditDialog.cpp" line="82"/>
-        <location filename="../../svgui/widgets/ItemEditDialog.cpp" line="113"/>
+        <location filename="../svgui/widgets/ItemEditDialog.cpp" line="85"/>
+        <location filename="../svgui/widgets/ItemEditDialog.cpp" line="116"/>
         <source> sec</source>
         <translation>с</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ItemEditDialog.cpp" line="89"/>
-        <location filename="../../svgui/widgets/ItemEditDialog.cpp" line="120"/>
+        <location filename="../svgui/widgets/ItemEditDialog.cpp" line="92"/>
+        <location filename="../svgui/widgets/ItemEditDialog.cpp" line="123"/>
         <source> usec</source>
         <translation> мс</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ItemEditDialog.cpp" line="100"/>
+        <location filename="../svgui/widgets/ItemEditDialog.cpp" line="103"/>
         <source>Duration:</source>
         <translation>Длительность:</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ItemEditDialog.cpp" line="132"/>
+        <location filename="../svgui/widgets/ItemEditDialog.cpp" line="135"/>
         <source>Properties</source>
         <translation>Свойства</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ItemEditDialog.cpp" line="145"/>
+        <location filename="../svgui/widgets/ItemEditDialog.cpp" line="148"/>
         <source>Value:</source>
         <translation>Значение:</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ItemEditDialog.cpp" line="161"/>
+        <location filename="../svgui/widgets/ItemEditDialog.cpp" line="164"/>
         <source>Text:</source>
         <translation>Текст:</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ItemEditDialog.cpp" line="180"/>
+        <location filename="../svgui/widgets/ItemEditDialog.cpp" line="183"/>
         <source>OK</source>
         <translation>ОК</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ItemEditDialog.cpp" line="181"/>
+        <location filename="../svgui/widgets/ItemEditDialog.cpp" line="184"/>
         <source>Reset</source>
         <translation>Сбросить</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ItemEditDialog.cpp" line="182"/>
+        <location filename="../svgui/widgets/ItemEditDialog.cpp" line="185"/>
         <source>Cancel</source>
         <translation>Отменить</translation>
     </message>
@@ -1296,25 +1638,29 @@
 <context>
     <name>KeyReference</name>
     <message>
-        <location filename="../../svgui/widgets/KeyReference.cpp" line="61"/>
-        <location filename="../../svgui/widgets/KeyReference.cpp" line="92"/>
+        <location filename="../svgui/widgets/KeyReference.cpp" line="62"/>
+        <location filename="../svgui/widgets/KeyReference.cpp" line="100"/>
         <source>&amp;</source>
         <translation>&amp;</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/KeyReference.cpp" line="145"/>
+        <location filename="../svgui/widgets/KeyReference.cpp" line="159"/>
         <source>&lt;i&gt;or&lt;/i&gt;&amp;nbsp;&lt;b&gt;%1&lt;/b&gt;</source>
         <translation>&lt;i&gt;или&lt;/i&gt;&amp;nbsp;&lt;b&gt;%1&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/KeyReference.cpp" line="147"/>
+        <location filename="../svgui/widgets/KeyReference.cpp" line="161"/>
         <source>&lt;/b&gt;&amp;nbsp;(%1)&lt;b&gt;</source>
         <translation>&lt;/b&gt;&amp;nbsp;(%1)&lt;b&gt;</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/KeyReference.cpp" line="162"/>
+        <location filename="../svgui/widgets/KeyReference.cpp" line="176"/>
+        <source>%1: Key and Mouse Reference</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source>Sonic Visualiser: Key and Mouse Reference</source>
-        <translation>Справка по использованию клавиатуры и мыши</translation>
+        <translation type="vanished">Справка по использованию клавиатуры и мыши</translation>
     </message>
 </context>
 <context>
@@ -1327,17 +1673,17 @@
 <context>
     <name>LabelCounterInputDialog</name>
     <message>
-        <location filename="../../svgui/widgets/LabelCounterInputDialog.cpp" line="29"/>
+        <location filename="../svgui/widgets/LabelCounterInputDialog.cpp" line="29"/>
         <source>Set Counters</source>
         <translation>Установка счётчиков</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/LabelCounterInputDialog.cpp" line="33"/>
+        <location filename="../svgui/widgets/LabelCounterInputDialog.cpp" line="33"/>
         <source>Fine counter (beats):</source>
         <translation>Точный счётчик (доли):</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/LabelCounterInputDialog.cpp" line="36"/>
+        <location filename="../svgui/widgets/LabelCounterInputDialog.cpp" line="36"/>
         <source>Coarse counter (bars):</source>
         <translation>Грубый счётчик (такты):</translation>
     </message>
@@ -1345,77 +1691,77 @@
 <context>
     <name>Labeller</name>
     <message>
-        <location filename="../../svcore/data/model/Labeller.h" line="89"/>
+        <location filename="../svcore/data/model/Labeller.h" line="89"/>
         <source>No numbering</source>
         <translation>Без нумерации</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/Labeller.h" line="91"/>
+        <location filename="../svcore/data/model/Labeller.h" line="91"/>
         <source>Simple counter</source>
         <translation>Простой счетчик</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/Labeller.h" line="93"/>
+        <location filename="../svcore/data/model/Labeller.h" line="93"/>
         <source>Cyclical counter</source>
         <translation>Циклический счетчик</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/Labeller.h" line="95"/>
+        <location filename="../svcore/data/model/Labeller.h" line="95"/>
         <source>Cyclical two-level counter (bar/beat)</source>
         <translation>Циклический двухуровневый счетчик (такт/доля)</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/Labeller.h" line="97"/>
+        <location filename="../svcore/data/model/Labeller.h" line="97"/>
         <source>Audio sample frame number</source>
         <translation>Номер выборки звукового сэмпла</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/Labeller.h" line="99"/>
+        <location filename="../svcore/data/model/Labeller.h" line="99"/>
         <source>Time in seconds</source>
         <translation>Время в секундах</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/Labeller.h" line="101"/>
+        <location filename="../svcore/data/model/Labeller.h" line="101"/>
         <source>Duration to the following item</source>
         <translation>Длительность до следующей отметки</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/Labeller.h" line="103"/>
+        <location filename="../svcore/data/model/Labeller.h" line="103"/>
         <source>Tempo (bpm) based on duration to following item</source>
         <translation>Темп (bpm) на основе длительности до следующей отметки</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/Labeller.h" line="105"/>
+        <location filename="../svcore/data/model/Labeller.h" line="105"/>
         <source>Duration since the previous item</source>
         <translation>Длительность после предыдущей отметки</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/Labeller.h" line="107"/>
+        <location filename="../svcore/data/model/Labeller.h" line="107"/>
         <source>Tempo (bpm) based on duration since previous item</source>
         <translation>Темп (bpm) на основе длительности после предыдущей отметки</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/Labeller.h" line="109"/>
+        <location filename="../svcore/data/model/Labeller.h" line="109"/>
         <source>Same as the nearest previous item</source>
         <translation>Как и ближайший предыдущий объект</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/Labeller.h" line="111"/>
+        <location filename="../svcore/data/model/Labeller.h" line="111"/>
         <source>Value extracted from the item&apos;s label (where possible)</source>
         <translation type="unfinished">Значение, извлечённое из метки объекта (если возможно)</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/Labeller.h" line="153"/>
+        <location filename="../svcore/data/model/Labeller.h" line="159"/>
         <source>%1.%2</source>
         <translation>%1.%2</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/Labeller.h" line="157"/>
+        <location filename="../svcore/data/model/Labeller.h" line="163"/>
         <source>%1</source>
         <translation>%1</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/Labeller.h" line="176"/>
+        <location filename="../svcore/data/model/Labeller.h" line="182"/>
         <source>Label Points</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1423,134 +1769,143 @@
 <context>
     <name>Layer</name>
     <message>
-        <location filename="../../svgui/layer/LayerFactory.cpp" line="70"/>
+        <location filename="../svgui/layer/LayerFactory.cpp" line="72"/>
         <source>Waveform</source>
         <translation>Волновая форма</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/LayerFactory.cpp" line="71"/>
-        <location filename="../../svgui/layer/LayerFactory.cpp" line="87"/>
-        <location filename="../../svgui/layer/LayerFactory.cpp" line="91"/>
+        <location filename="../svgui/layer/LayerFactory.cpp" line="73"/>
+        <location filename="../svgui/layer/LayerFactory.cpp" line="90"/>
+        <location filename="../svgui/layer/LayerFactory.cpp" line="94"/>
         <source>Spectrogram</source>
         <translation>Спектрограмма</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/LayerFactory.cpp" line="72"/>
+        <location filename="../svgui/layer/LayerFactory.cpp" line="74"/>
         <source>Ruler</source>
         <translation>Линейка</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/LayerFactory.cpp" line="73"/>
+        <location filename="../svgui/layer/LayerFactory.cpp" line="75"/>
         <source>Time Instants</source>
         <translation>Отметки времени</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/LayerFactory.cpp" line="74"/>
+        <location filename="../svgui/layer/LayerFactory.cpp" line="76"/>
         <source>Time Values</source>
         <translation>Значения времени</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/LayerFactory.cpp" line="75"/>
+        <location filename="../svgui/layer/LayerFactory.cpp" line="77"/>
         <source>Notes</source>
         <translation>Ноты</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/LayerFactory.cpp" line="77"/>
+        <location filename="../svgui/layer/LayerFactory.cpp" line="78"/>
+        <source>Flexible Notes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/LayerFactory.cpp" line="80"/>
         <source>Text</source>
         <translation>Текст</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/LayerFactory.cpp" line="79"/>
+        <location filename="../svgui/layer/LayerFactory.cpp" line="82"/>
         <source>Colour 3D Plot</source>
         <translation>Цветной 3D-график</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/LayerFactory.cpp" line="96"/>
+        <location filename="../svgui/layer/LayerFactory.cpp" line="99"/>
+        <source>Unknown Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Layer</source>
+        <translation type="vanished">Слой</translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/LayerFactory.cpp" line="83"/>
+        <source>Spectrum</source>
+        <translation>Спектр</translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/LayerFactory.cpp" line="84"/>
+        <source>Time Slice</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/LayerFactory.cpp" line="81"/>
+        <source>Images</source>
+        <translation>Изображения</translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/LayerFactory.cpp" line="79"/>
+        <source>Regions</source>
+        <translation>Области</translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/Layer.cpp" line="340"/>
+        <source>Make Measurement</source>
+        <translation>Создать замер</translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/Layer.cpp" line="358"/>
+        <source>Delete Measurement</source>
+        <translation>Удалить замер</translation>
+    </message>
+</context>
+<context>
+    <name>Layer::AddMeasurementRectCommand</name>
+    <message>
+        <source>Make Measurement</source>
+        <translation type="obsolete">Создать замер</translation>
+    </message>
+</context>
+<context>
+    <name>Layer::DeleteMeasurementRectCommand</name>
+    <message>
+        <source>Delete Measurement</source>
+        <translation type="obsolete">Удалить замер</translation>
+    </message>
+</context>
+<context>
+    <name>LayerTreeDialog</name>
+    <message>
+        <location filename="../svgui/widgets/LayerTreeDialog.cpp" line="34"/>
+        <source>Layer Summary</source>
+        <translation>Сводка по слою</translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/LayerTreeDialog.cpp" line="40"/>
+        <source>Audio Data Sources</source>
+        <translation>Источники звуковых данных</translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/LayerTreeDialog.cpp" line="65"/>
+        <source>Panes and Layers</source>
+        <translation>Окна и слои</translation>
+    </message>
+</context>
+<context>
+    <name>LayerTreeModel</name>
+    <message>
+        <location filename="../svgui/widgets/LayerTree.cpp" line="514"/>
         <source>Layer</source>
         <translation>Слой</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/LayerFactory.cpp" line="80"/>
-        <source>Spectrum</source>
-        <translation>Спектр</translation>
-    </message>
-    <message>
-        <location filename="../../svgui/layer/LayerFactory.cpp" line="81"/>
-        <source>Time Slice</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/layer/LayerFactory.cpp" line="78"/>
-        <source>Images</source>
-        <translation>Изображения</translation>
-    </message>
-    <message>
-        <location filename="../../svgui/layer/LayerFactory.cpp" line="76"/>
-        <source>Regions</source>
-        <translation>Области</translation>
-    </message>
-    <message>
-        <location filename="../../svgui/layer/Layer.cpp" line="340"/>
-        <source>Make Measurement</source>
-        <translation>Создать замер</translation>
-    </message>
-    <message>
-        <location filename="../../svgui/layer/Layer.cpp" line="358"/>
-        <source>Delete Measurement</source>
-        <translation>Удалить замер</translation>
-    </message>
-</context>
-<context>
-    <name>Layer::AddMeasurementRectCommand</name>
-    <message>
-        <source>Make Measurement</source>
-        <translation type="obsolete">Создать замер</translation>
-    </message>
-</context>
-<context>
-    <name>Layer::DeleteMeasurementRectCommand</name>
-    <message>
-        <source>Delete Measurement</source>
-        <translation type="obsolete">Удалить замер</translation>
-    </message>
-</context>
-<context>
-    <name>LayerTreeDialog</name>
-    <message>
-        <location filename="../../svgui/widgets/LayerTreeDialog.cpp" line="34"/>
-        <source>Layer Summary</source>
-        <translation>Сводка по слою</translation>
-    </message>
-    <message>
-        <location filename="../../svgui/widgets/LayerTreeDialog.cpp" line="40"/>
-        <source>Audio Data Sources</source>
-        <translation>Источники звуковых данных</translation>
-    </message>
-    <message>
-        <location filename="../../svgui/widgets/LayerTreeDialog.cpp" line="61"/>
-        <source>Panes and Layers</source>
-        <translation>Окна и слои</translation>
-    </message>
-</context>
-<context>
-    <name>LayerTreeModel</name>
-    <message>
-        <location filename="../../svgui/widgets/LayerTree.cpp" line="514"/>
-        <source>Layer</source>
-        <translation>Слой</translation>
-    </message>
-    <message>
-        <location filename="../../svgui/widgets/LayerTree.cpp" line="517"/>
+        <location filename="../svgui/widgets/LayerTree.cpp" line="517"/>
         <source>Model</source>
         <translation>Модель</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/LayerTree.cpp" line="515"/>
+        <location filename="../svgui/widgets/LayerTree.cpp" line="515"/>
         <source>Shown</source>
         <translation>Отображение</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/LayerTree.cpp" line="516"/>
+        <location filename="../svgui/widgets/LayerTree.cpp" line="516"/>
         <source>Played</source>
         <translation>Воспризведение</translation>
     </message>
@@ -1558,27 +1913,27 @@
 <context>
     <name>MIDIFileImportDialog</name>
     <message>
-        <location filename="../../svgui/widgets/MIDIFileImportDialog.cpp" line="32"/>
+        <location filename="../svgui/widgets/MIDIFileImportDialog.cpp" line="32"/>
         <source>Merge all tracks</source>
         <translation>Объединить все дорожки</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/MIDIFileImportDialog.cpp" line="33"/>
+        <location filename="../svgui/widgets/MIDIFileImportDialog.cpp" line="33"/>
         <source>Merge all non-percussion tracks</source>
         <translation>Объединить все неперкуссионные дорожки</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/MIDIFileImportDialog.cpp" line="50"/>
+        <location filename="../svgui/widgets/MIDIFileImportDialog.cpp" line="50"/>
         <source>Select track or tracks to import</source>
         <translation>Выберите одну или несколько дорожек для импорта</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/MIDIFileImportDialog.cpp" line="51"/>
+        <location filename="../svgui/widgets/MIDIFileImportDialog.cpp" line="51"/>
         <source>&lt;b&gt;Select track to import&lt;/b&gt;&lt;p&gt;You can only import this file as a single annotation layer, but the file contains more than one track, or notes on more than one channel.&lt;p&gt;Please select the track or merged tracks you wish to import:</source>
         <translation>&lt;b&gt;Выберите импортируемую дорожку&lt;/b&gt;&lt;p&gt;Вы можете импортировать этот файл лишь как одиночный слой аннотации, но в файле либо больше одной дорожки, либо ноты в более чем одном канале.&lt;p&gt;Выберите одну дорожку или несколько объединяемых дорожек для импорта:</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/MIDIFileImportDialog.cpp" line="70"/>
+        <location filename="../svgui/widgets/MIDIFileImportDialog.cpp" line="70"/>
         <source>Error in MIDI file import</source>
         <translation>Ошибка при импорте файла MIDI</translation>
     </message>
@@ -1586,89 +1941,89 @@
 <context>
     <name>MIDIFileReader</name>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="112"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="113"/>
         <source>Wrong length for long data in MIDI stream (%1, should be %2)</source>
         <translation>Неправильная длительность больших данных в потоке MIDI (%1, должно быть %2)</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="127"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="128"/>
         <source>Wrong length for int data in MIDI stream (%1, should be %2)</source>
         <translation>Неправильная длительность int-данных в потоке MIDI (%1, должно быть %2)</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="144"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="145"/>
         <source>getMIDIByte called but no MIDI file open</source>
         <translation>Функция getMIDIByte вызвана, но ни один файл MIDI не открыт</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="148"/>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="177"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="149"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="178"/>
         <source>End of MIDI file encountered while reading</source>
         <translation>При чтении обнаружен конец файла MIDI</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="152"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="153"/>
         <source>Attempt to get more bytes than expected on Track</source>
         <translation>Попытка получить из дорожки больше байтов, чем ожидалось</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="161"/>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="197"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="162"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="198"/>
         <source>Attempt to read past MIDI file end</source>
         <translation>Попытка прочитать файл MIDI после его окончания</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="173"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="174"/>
         <source>getMIDIBytes called but no MIDI file open</source>
         <translation>Функция getMIDIBytes вызвана, но ни один файл MIDI не открыт</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="181"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="182"/>
         <source>Attempt to get more bytes than available on Track (%1, only have %2)</source>
         <translation>Попытка получить из дорожки больше байтов, чем ожидалось  (%1, а есть лишь %2)</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="214"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="215"/>
         <source>getNumberFromMIDIBytes called but no MIDI file open</source>
         <translation>Функция getNumberFromMIDIBytes вызвана, но ни один файл MIDI не открыт</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="248"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="249"/>
         <source>skipToNextTrack called but no MIDI file open</source>
         <translation>Функция skipToNextTrack вызвана, но ни один файл MIDI не открыт</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="479"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="482"/>
         <source>Invalid event code %1 found</source>
         <translation>Обнаружен некорректный код события %1</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="494"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="497"/>
         <source>Running status used for first event in track</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="812"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="808"/>
         <source>MIDI file &quot;%1&quot; has no notes in any track</source>
         <translation>Ни в одной дорожке файла MIDI &quot;%1&quot; нет нот</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="835"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="831"/>
         <source> - uses GM percussion channel</source>
         <translation> — использует канал перкуссии GM</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="839"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="835"/>
         <source>Track %1 (%2)%3</source>
         <translation>Дорожка %1 (%2)%3</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="843"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="839"/>
         <source>Track %1 (untitled)%3</source>
         <translation>Дорожка %1 (без имени)%3</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/MIDIFileReader.cpp" line="1028"/>
+        <location filename="../svcore/data/fileio/MIDIFileReader.cpp" line="1024"/>
         <source>%1 - vel %2</source>
         <translation>%1 - vel %2</translation>
     </message>
@@ -1676,7 +2031,7 @@
 <context>
     <name>MIDIInput</name>
     <message>
-        <location filename="../../svcore/data/midi/MIDIInput.cpp" line="30"/>
+        <location filename="../svcore/data/midi/MIDIInput.cpp" line="30"/>
         <source>Input</source>
         <translation>Вход</translation>
     </message>
@@ -1684,7 +2039,7 @@
 <context>
     <name>MP3FileReader</name>
     <message>
-        <location filename="../../svcore/data/fileio/MP3FileReader.cpp" line="115"/>
+        <location filename="../svcore/data/fileio/MP3FileReader.cpp" line="116"/>
         <source>Decoding %1...</source>
         <translation>Декодируется %1...</translation>
     </message>
@@ -1696,29 +2051,29 @@
         <translation type="obsolete">Sonic Visualiser</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="356"/>
-        <location filename="../main/MainWindow.cpp" line="1030"/>
-        <location filename="../main/MainWindow.cpp" line="1037"/>
+        <location filename="../main/MainWindow.cpp" line="391"/>
+        <location filename="../main/MainWindow.cpp" line="1078"/>
+        <location filename="../main/MainWindow.cpp" line="1085"/>
         <source>&amp;Layer</source>
         <translation>С&amp;лой</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="426"/>
+        <location filename="../main/MainWindow.cpp" line="461"/>
         <source>&amp;File</source>
         <translation>&amp;Файл</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="428"/>
+        <location filename="../main/MainWindow.cpp" line="463"/>
         <source>File Toolbar</source>
         <translation>Панель файлов</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="436"/>
+        <location filename="../main/MainWindow.cpp" line="470"/>
         <source>&amp;New Session</source>
         <translation>&amp;Создать сеанс</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="437"/>
+        <location filename="../main/MainWindow.cpp" line="471"/>
         <source>Ctrl+N</source>
         <translation>Ctrl+N</translation>
     </message>
@@ -1727,7 +2082,7 @@
         <translation type="obsolete">&amp;Открыть сеанс...</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="447"/>
+        <location filename="../main/MainWindow.cpp" line="480"/>
         <source>Ctrl+O</source>
         <translation>Ctrl+O</translation>
     </message>
@@ -1736,22 +2091,22 @@
         <translation type="obsolete">Открыть файл сохранённого ранее сеанса Sonic Visualiser</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="446"/>
+        <location filename="../main/MainWindow.cpp" line="479"/>
         <source>&amp;Open...</source>
         <translation>О&amp;ткрыть...</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="448"/>
+        <location filename="../main/MainWindow.cpp" line="481"/>
         <source>Open a session file, audio file, or layer</source>
         <translation>Открыть файл сеанса, звуковой файл или слой</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="486"/>
+        <location filename="../main/MainWindow.cpp" line="519"/>
         <source>&amp;Save Session</source>
         <translation>Сохр&amp;анить сеанс</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="487"/>
+        <location filename="../main/MainWindow.cpp" line="520"/>
         <source>Ctrl+S</source>
         <translation>Ctrl+S</translation>
     </message>
@@ -1760,7 +2115,7 @@
         <translation type="obsolete">Сохранить в файл текущий сеанс Sonic Visualiser</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="497"/>
+        <location filename="../main/MainWindow.cpp" line="529"/>
         <source>Save Session &amp;As...</source>
         <translation>Сохранить сеанс &amp;как...</translation>
     </message>
@@ -1773,7 +2128,7 @@
         <translation type="obsolete">&amp;Импортировать звуковой файл...</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="456"/>
+        <location filename="../main/MainWindow.cpp" line="490"/>
         <source>Ctrl+I</source>
         <translation>Ctrl+I</translation>
     </message>
@@ -1794,478 +2149,563 @@
         <translation type="obsolete">Импортировать ещё один звуковой файл в отдельный слой</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="522"/>
+        <location filename="../main/MainWindow.cpp" line="554"/>
         <source>&amp;Export Audio File...</source>
         <translation>Э&amp;кспортировать звуковой файл...</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="523"/>
+        <location filename="../main/MainWindow.cpp" line="555"/>
         <source>Export selection as an audio file</source>
         <translation>Экспортировать выделенное в звуковой файл</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="536"/>
+        <location filename="../main/MainWindow.cpp" line="568"/>
         <source>Import Annotation &amp;Layer...</source>
         <translation>И&amp;мпортировать слой аннотаций...</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="537"/>
+        <location filename="../main/MainWindow.cpp" line="569"/>
         <source>Ctrl+L</source>
         <translation>Ctrl+L</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="538"/>
+        <location filename="../main/MainWindow.cpp" line="570"/>
         <source>Import layer data from an existing file</source>
         <translation>Импортировать данные слоя из существующего файла</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="544"/>
         <source>Export Annotation Layer...</source>
-        <translation>Экспортировать слой аннотаций...</translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="545"/>
+        <translation type="vanished">Экспортировать слой аннотаций...</translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="578"/>
         <source>Export layer data to a file</source>
         <translation>Экспортировать данные слоя в файл</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="589"/>
+        <location filename="../main/MainWindow.cpp" line="630"/>
         <source>&amp;Quit</source>
         <translation>В&amp;ыход</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="590"/>
+        <location filename="../main/MainWindow.cpp" line="631"/>
         <source>Ctrl+Q</source>
         <translation>Ctrl+Q</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="602"/>
+        <location filename="../main/MainWindow.cpp" line="643"/>
         <source>&amp;Edit</source>
         <translation>&amp;Правка</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="613"/>
+        <location filename="../main/MainWindow.cpp" line="654"/>
         <source>Cu&amp;t</source>
         <translation>&amp;Вырезать</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="614"/>
+        <location filename="../main/MainWindow.cpp" line="655"/>
         <source>Ctrl+X</source>
         <translation>Ctrl+X</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="623"/>
+        <location filename="../main/MainWindow.cpp" line="664"/>
         <source>&amp;Copy</source>
         <translation>С&amp;копировать</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="624"/>
+        <location filename="../main/MainWindow.cpp" line="665"/>
         <source>Ctrl+C</source>
         <translation>Ctrl+C</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="633"/>
+        <location filename="../main/MainWindow.cpp" line="674"/>
         <source>&amp;Paste</source>
         <translation>Вст&amp;авить</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="634"/>
+        <location filename="../main/MainWindow.cpp" line="675"/>
         <source>Ctrl+V</source>
         <translation>Ctrl+V</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="651"/>
-        <location filename="../main/MainWindow.cpp" line="2200"/>
+        <location filename="../main/MainWindow.cpp" line="692"/>
+        <location filename="../main/MainWindow.cpp" line="2342"/>
         <source>&amp;Delete Selected Items</source>
         <translation>&amp;Удалить выбранное</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="652"/>
+        <location filename="../main/MainWindow.cpp" line="693"/>
         <source>Del</source>
         <translation>Del</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="665"/>
+        <location filename="../main/MainWindow.cpp" line="706"/>
         <source>Select &amp;All</source>
         <translation>В&amp;ыделить всё</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="666"/>
+        <location filename="../main/MainWindow.cpp" line="707"/>
         <source>Ctrl+A</source>
         <translation>Ctrl+A</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="674"/>
+        <location filename="../main/MainWindow.cpp" line="715"/>
         <source>Select &amp;Visible Range</source>
         <translation>Вы&amp;делить всё видимое</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="675"/>
+        <location filename="../main/MainWindow.cpp" line="716"/>
         <source>Ctrl+Shift+A</source>
         <translation>Ctrl+Shift+A</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="682"/>
+        <location filename="../main/MainWindow.cpp" line="723"/>
         <source>Select to &amp;Start</source>
         <translation>Выделить до &amp;начала</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="683"/>
+        <location filename="../main/MainWindow.cpp" line="724"/>
+        <location filename="../main/MainWindow.cpp" line="2158"/>
+        <location filename="../main/MainWindow.cpp" line="2193"/>
+        <location filename="../main/MainWindow.cpp" line="2273"/>
         <source>Shift+Left</source>
         <translation>Shift+Left</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="690"/>
+        <location filename="../main/MainWindow.cpp" line="731"/>
         <source>Select to &amp;End</source>
         <translation>Выделить до &amp;конца</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="691"/>
+        <location filename="../main/MainWindow.cpp" line="732"/>
         <source>Shift+Right</source>
         <translation>Shift+Right</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="698"/>
+        <location filename="../main/MainWindow.cpp" line="739"/>
         <source>C&amp;lear Selection</source>
         <translation>Сн&amp;ять выделение</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="699"/>
+        <location filename="../main/MainWindow.cpp" line="740"/>
         <source>Esc</source>
         <translation>Esc</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="711"/>
+        <location filename="../main/MainWindow.cpp" line="752"/>
         <source>&amp;Insert Instant at Playback Position</source>
         <translation>Вставить &amp;отметку в точку воспроизведения</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="712"/>
+        <location filename="../main/MainWindow.cpp" line="753"/>
         <source>Enter</source>
         <translation>Enter</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="814"/>
+        <location filename="../main/MainWindow.cpp" line="855"/>
         <source>&amp;View</source>
         <translation>&amp;Вид</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="926"/>
+        <location filename="../main/MainWindow.cpp" line="969"/>
         <source>0</source>
         <translation>0</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="936"/>
+        <location filename="../main/MainWindow.cpp" line="979"/>
         <source>9</source>
         <translation>9</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="946"/>
+        <location filename="../main/MainWindow.cpp" line="989"/>
         <source>8</source>
         <translation>8</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="816"/>
+        <location filename="../main/MainWindow.cpp" line="857"/>
         <source>Scroll &amp;Left</source>
         <translation>Прокрутить в&amp;лево</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="438"/>
+        <location filename="../main/MainWindow.cpp" line="247"/>
+        <source>Playback Speed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="472"/>
         <source>Abandon the current %1 session and start a new one</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="464"/>
+        <location filename="../main/MainWindow.cpp" line="498"/>
         <source>Replace &amp;Main Audio...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="465"/>
+        <location filename="../main/MainWindow.cpp" line="499"/>
         <source>Replace the main audio file of the session with a different file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="488"/>
+        <location filename="../main/MainWindow.cpp" line="521"/>
         <source>Save the current session into a %1 session file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="499"/>
+        <location filename="../main/MainWindow.cpp" line="531"/>
         <source>Save the current session into a new %1 session file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="591"/>
+        <location filename="../main/MainWindow.cpp" line="560"/>
+        <source>Export Audio Data...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="576"/>
+        <source>Export Annotation La&amp;yer...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="577"/>
+        <source>Ctrl+Y</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="594"/>
+        <source>Browse Recorded Audio Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="595"/>
+        <source>Open the Recorded Audio folder in the system file browser</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="632"/>
         <source>Exit %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="784"/>
+        <location filename="../main/MainWindow.cpp" line="775"/>
+        <source>Ctrl+Shift+Return</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="825"/>
         <source>Reset Numbering Counters</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="785"/>
+        <location filename="../main/MainWindow.cpp" line="826"/>
         <source>Reset to 1 all the counters used for counter-based labelling</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="817"/>
+        <location filename="../main/MainWindow.cpp" line="858"/>
+        <location filename="../main/MainWindow.cpp" line="2155"/>
+        <location filename="../main/MainWindow.cpp" line="2181"/>
+        <location filename="../main/MainWindow.cpp" line="2211"/>
+        <location filename="../main/MainWindow.cpp" line="2232"/>
+        <location filename="../main/MainWindow.cpp" line="2250"/>
+        <location filename="../main/MainWindow.cpp" line="2267"/>
         <source>Left</source>
         <translation>Влево</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="818"/>
+        <location filename="../main/MainWindow.cpp" line="859"/>
         <source>Scroll the current pane to the left</source>
         <translation>Прокрутить активное окно влево</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="824"/>
+        <location filename="../main/MainWindow.cpp" line="865"/>
         <source>Scroll &amp;Right</source>
         <translation>Прокрутить в&amp;право</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="825"/>
+        <location filename="../main/MainWindow.cpp" line="866"/>
         <source>Right</source>
         <translation>Вправо</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="826"/>
+        <location filename="../main/MainWindow.cpp" line="867"/>
         <source>Scroll the current pane to the right</source>
         <translation>Прокрутить активное окно вправо</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="833"/>
+        <location filename="../main/MainWindow.cpp" line="874"/>
+        <location filename="../main/MainWindow.cpp" line="2185"/>
+        <location filename="../main/MainWindow.cpp" line="2189"/>
         <source>Ctrl+Left</source>
         <translation>Ctrl+Влево</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="834"/>
+        <location filename="../main/MainWindow.cpp" line="875"/>
         <source>Scroll the current pane a big step to the left</source>
         <translation>Сделать большой шаг прокрутки влево</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="841"/>
+        <location filename="../main/MainWindow.cpp" line="882"/>
         <source>Ctrl+Right</source>
         <translation>Ctrl+Вправо</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="842"/>
+        <location filename="../main/MainWindow.cpp" line="883"/>
         <source>Scroll the current pane a big step to the right</source>
         <translation>Сделать большой шаг прокрутки вправо</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="869"/>
+        <location filename="../main/MainWindow.cpp" line="910"/>
         <source>Zoom &amp;In</source>
         <translation>При&amp;близить</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="870"/>
+        <location filename="../main/MainWindow.cpp" line="911"/>
         <source>Up</source>
         <translation>Вверх</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="871"/>
+        <location filename="../main/MainWindow.cpp" line="912"/>
         <source>Increase the zoom level</source>
         <translation>Увеличить масштаб отображения</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="878"/>
+        <location filename="../main/MainWindow.cpp" line="919"/>
         <source>Zoom &amp;Out</source>
         <translation>&amp;Отдалить</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="879"/>
+        <location filename="../main/MainWindow.cpp" line="920"/>
         <source>Down</source>
         <translation>Вниз</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="880"/>
+        <location filename="../main/MainWindow.cpp" line="921"/>
         <source>Decrease the zoom level</source>
         <translation>Уменьшить масштаб отображения</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="886"/>
+        <location filename="../main/MainWindow.cpp" line="927"/>
         <source>Restore &amp;Default Zoom</source>
         <translation>&amp;Восстановить обычный масштаб</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="893"/>
+        <location filename="../main/MainWindow.cpp" line="934"/>
         <source>Zoom to &amp;Fit</source>
         <translation>&amp;Уместить в окне</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="895"/>
+        <location filename="../main/MainWindow.cpp" line="936"/>
         <source>Zoom to show the whole file</source>
         <translation>Увидеть весь файл</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="905"/>
+        <location filename="../main/MainWindow.cpp" line="946"/>
         <source>Show &amp;Centre Line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="906"/>
+        <location filename="../main/MainWindow.cpp" line="947"/>
         <source>&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="907"/>
+        <location filename="../main/MainWindow.cpp" line="948"/>
         <source>Show or hide the centre line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="914"/>
+        <location filename="../main/MainWindow.cpp" line="955"/>
         <source>Toggle All Time Rulers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="927"/>
+        <location filename="../main/MainWindow.cpp" line="970"/>
         <source>Hide times, layer names, and scale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="937"/>
+        <location filename="../main/MainWindow.cpp" line="980"/>
         <source>Show times and basic scale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="947"/>
+        <location filename="../main/MainWindow.cpp" line="990"/>
         <source>Show times, layer names, and scale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1007"/>
+        <location filename="../main/MainWindow.cpp" line="1048"/>
+        <source>Show &amp;Unit Converter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1049"/>
+        <source>Open a window of pitch and timing conversion utilities</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1055"/>
         <source>Go Full-Screen</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1008"/>
+        <location filename="../main/MainWindow.cpp" line="1056"/>
         <source>F11</source>
         <translation type="unfinished">F11</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1009"/>
+        <location filename="../main/MainWindow.cpp" line="1057"/>
         <source>Expand the pane area to the whole screen</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1022"/>
+        <location filename="../main/MainWindow.cpp" line="1070"/>
         <source>&amp;Pane</source>
         <translation>&amp;Окно</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1048"/>
+        <location filename="../main/MainWindow.cpp" line="1096"/>
         <source>Add &amp;New Pane</source>
         <translation>Добавить &amp;новое окно</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1050"/>
+        <location filename="../main/MainWindow.cpp" line="1098"/>
         <source>Add a new pane containing only a time ruler</source>
         <translation>Добавить новое окно, содержащее только линейку времени</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1076"/>
+        <location filename="../main/MainWindow.cpp" line="1124"/>
         <source>Add New %1 Layer</source>
         <translation>Добавить новый слой «%1»</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1077"/>
+        <location filename="../main/MainWindow.cpp" line="1125"/>
         <source>Add a new empty layer of type %1</source>
         <translation>Добавить новый пустой слой типа «%1»</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1133"/>
+        <location filename="../main/MainWindow.cpp" line="1186"/>
         <source>Add &amp;Waveform</source>
         <translation>Добавить &amp;волновую форму</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1136"/>
+        <location filename="../main/MainWindow.cpp" line="1189"/>
         <source>Add a new pane showing a waveform view</source>
         <translation>Добавить новое окно с видом волновой формы</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1139"/>
+        <location filename="../main/MainWindow.cpp" line="1192"/>
         <source>Add a new layer showing a waveform view</source>
         <translation>Добавить новый слой с видом волновой формы</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1158"/>
+        <location filename="../main/MainWindow.cpp" line="1211"/>
         <source>Add &amp;Melodic Range Spectrogram</source>
         <translation>Добавить спектограмму &amp;мелодического диапазона</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1173"/>
+        <location filename="../main/MainWindow.cpp" line="1226"/>
         <source>Add a new pane showing a spectrogram set up for tracking frequencies</source>
         <translation>Добавить новое окно, отображающее спектрограмму для отслеживания частот</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1176"/>
+        <location filename="../main/MainWindow.cpp" line="1229"/>
         <source>Add a new layer showing a spectrogram set up for tracking frequencies</source>
         <translation>Добавить новый слой, отображающий спектрограмму для отслеживания частот</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1258"/>
+        <location filename="../main/MainWindow.cpp" line="1311"/>
         <source>&amp;All Channels Mixed</source>
         <translation>Все &amp;каналы сведены</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1260"/>
+        <location filename="../main/MainWindow.cpp" line="1313"/>
         <source>&amp;All Channels</source>
         <translation>&amp;Все каналы</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1263"/>
+        <location filename="../main/MainWindow.cpp" line="1316"/>
         <source>Channel &amp;%1</source>
         <translation>Канал &amp;%1</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1344"/>
+        <location filename="../main/MainWindow.cpp" line="1397"/>
         <source>&amp;Delete Pane</source>
         <translation>У&amp;далить окно</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1354"/>
+        <location filename="../main/MainWindow.cpp" line="1407"/>
         <source>Add &amp;Time Ruler</source>
         <translation>Добавить линейку &amp;времени</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1355"/>
+        <location filename="../main/MainWindow.cpp" line="1408"/>
         <source>Add a new layer showing a time ruler</source>
         <translation>Добавить новый слой с линейкой</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1363"/>
+        <location filename="../main/MainWindow.cpp" line="1416"/>
         <source>Add &amp;Existing Layer</source>
         <translation>Добавить &amp;существующий слой</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1395"/>
+        <location filename="../main/MainWindow.cpp" line="1428"/>
+        <source>Switch to Previous Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1429"/>
+        <source>{</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1430"/>
+        <source>Make the previous layer in the pane current</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1436"/>
+        <source>Switch to Next Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1437"/>
+        <source>}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1438"/>
+        <source>Make the next layer in the pane current</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="1447"/>
         <source>&amp;Rename Layer...</source>
         <translation>&amp;Переименовать слой...</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1397"/>
+        <location filename="../main/MainWindow.cpp" line="1449"/>
         <source>Rename the currently active layer</source>
         <translation>Переименовать активный слой</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1411"/>
+        <location filename="../main/MainWindow.cpp" line="1463"/>
         <source>&amp;Delete Layer</source>
         <translation>&amp;Удалить слой</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1413"/>
+        <location filename="../main/MainWindow.cpp" line="1465"/>
         <source>Delete the currently active layer</source>
         <translation>Удалить активный слой</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1669"/>
+        <location filename="../main/MainWindow.cpp" line="1723"/>
         <source>&amp;Help</source>
         <translation>&amp;Справка</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1679"/>
+        <location filename="../main/MainWindow.cpp" line="1733"/>
         <source>&amp;Help Reference</source>
         <translation>&amp;Руководство пользователя</translation>
     </message>
@@ -2290,220 +2730,224 @@
         <translation type="obsolete">Показать информацию о Sonic Visualiser</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1895"/>
+        <location filename="../main/MainWindow.cpp" line="1949"/>
         <source>Rewind to Start</source>
         <translation>Перемотать в начало</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1896"/>
+        <location filename="../main/MainWindow.cpp" line="1950"/>
         <source>Home</source>
         <translation>Домой</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1897"/>
+        <location filename="../main/MainWindow.cpp" line="1951"/>
         <source>Rewind to the start</source>
         <translation>Перемотать в начало</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1901"/>
-        <location filename="../main/MainWindow.cpp" line="2218"/>
-        <location filename="../main/MainWindow.cpp" line="2219"/>
+        <location filename="../main/MainWindow.cpp" line="1955"/>
+        <location filename="../main/MainWindow.cpp" line="2360"/>
+        <location filename="../main/MainWindow.cpp" line="2361"/>
         <source>Rewind</source>
         <translation>Перемотать назад</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2209"/>
+        <location filename="../main/MainWindow.cpp" line="2351"/>
         <source>Rewind to the previous time instant in the current layer</source>
         <translation>Перемотать до предыдущей отметки времени в текущем слое</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1914"/>
+        <location filename="../main/MainWindow.cpp" line="1968"/>
         <source>Play / Pause</source>
         <translation>Воспроизвести / Приостановить</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1916"/>
+        <location filename="../main/MainWindow.cpp" line="1970"/>
         <source>Space</source>
         <translation>Пробел</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1917"/>
+        <location filename="../main/MainWindow.cpp" line="1971"/>
         <source>Start or stop playback from the current position</source>
         <translation>Запустить или остановить воспроизведение с текущей позиции</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1926"/>
-        <location filename="../main/MainWindow.cpp" line="2216"/>
+        <location filename="../main/MainWindow.cpp" line="1980"/>
+        <location filename="../main/MainWindow.cpp" line="2358"/>
         <source>Fast Forward</source>
         <translation>Перемотать вперёд</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2207"/>
+        <location filename="../main/MainWindow.cpp" line="2349"/>
         <source>Fast forward to the next time instant in the current layer</source>
         <translation>Перемотать до следующей отметки времени в текущем слое</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1939"/>
+        <location filename="../main/MainWindow.cpp" line="1993"/>
         <source>Fast Forward to End</source>
         <translation>Перемотать до конца</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1688"/>
+        <location filename="../main/MainWindow.cpp" line="1742"/>
         <source>Open a window showing the keystrokes you can use in %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1693"/>
+        <location filename="../main/MainWindow.cpp" line="1747"/>
         <source>%1 on the &amp;Web</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1694"/>
+        <location filename="../main/MainWindow.cpp" line="1748"/>
         <source>Open the %1 website</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1698"/>
+        <location filename="../main/MainWindow.cpp" line="1752"/>
         <source>&amp;About %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1699"/>
+        <location filename="../main/MainWindow.cpp" line="1753"/>
         <source>Show information about %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1940"/>
+        <location filename="../main/MainWindow.cpp" line="1994"/>
         <source>End</source>
         <translation>Конец</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1941"/>
+        <location filename="../main/MainWindow.cpp" line="1995"/>
         <source>Fast-forward to the end</source>
         <translation>Перемотать до конца</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1945"/>
+        <location filename="../main/MainWindow.cpp" line="2010"/>
         <source>Play Mode Toolbar</source>
         <translation>Панель режима воспроизведения</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1948"/>
+        <location filename="../main/MainWindow.cpp" line="2013"/>
         <source>Constrain Playback to Selection</source>
         <translation>Ограничить воспроизведение выделением</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1951"/>
+        <location filename="../main/MainWindow.cpp" line="2016"/>
         <source>s</source>
         <translation>с</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1959"/>
+        <location filename="../main/MainWindow.cpp" line="2024"/>
         <source>Loop Playback</source>
         <translation>Воспроизведение в цикле</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1962"/>
+        <location filename="../main/MainWindow.cpp" line="2027"/>
         <source>l</source>
         <translation>l</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1963"/>
+        <location filename="../main/MainWindow.cpp" line="2028"/>
         <source>Loop playback</source>
         <translation>Воспроизведение в цикле</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2061"/>
+        <location filename="../main/MainWindow.cpp" line="2133"/>
         <source>Edit Toolbar</source>
         <translation>Панель правки</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2066"/>
+        <location filename="../main/MainWindow.cpp" line="2136"/>
         <source>Tools Toolbar</source>
         <translation>Панель инструментов</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2070"/>
-        <location filename="../main/MainWindow.cpp" line="2074"/>
+        <location filename="../main/MainWindow.cpp" line="2141"/>
+        <location filename="../main/MainWindow.cpp" line="2145"/>
+        <location filename="../main/MainWindow.cpp" line="2155"/>
         <source>Navigate</source>
         <translation>Перемещение</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2073"/>
+        <location filename="../main/MainWindow.cpp" line="2144"/>
         <source>1</source>
         <translation>1</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2082"/>
+        <location filename="../main/MainWindow.cpp" line="2169"/>
+        <location filename="../main/MainWindow.cpp" line="2181"/>
         <source>Select</source>
         <translation>Выделение</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2084"/>
+        <location filename="../main/MainWindow.cpp" line="2171"/>
         <source>2</source>
         <translation>2</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2092"/>
+        <location filename="../main/MainWindow.cpp" line="2164"/>
+        <location filename="../main/MainWindow.cpp" line="2198"/>
+        <location filename="../main/MainWindow.cpp" line="2214"/>
         <source>Edit</source>
         <translation>Правка</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2094"/>
+        <location filename="../main/MainWindow.cpp" line="2200"/>
         <source>3</source>
         <translation>3</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2103"/>
+        <location filename="../main/MainWindow.cpp" line="2219"/>
+        <location filename="../main/MainWindow.cpp" line="2232"/>
         <source>Draw</source>
         <translation>Рисование</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2105"/>
+        <location filename="../main/MainWindow.cpp" line="2221"/>
         <source>4</source>
         <translation>4</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2228"/>
+        <location filename="../main/MainWindow.cpp" line="2370"/>
         <source>No audio file loaded.</source>
         <translation>Ни один звуковой файл не загружен.</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2239"/>
+        <location filename="../main/MainWindow.cpp" line="2381"/>
         <source>%1Hz (resampling to %2Hz)</source>
         <translation>%1 Гц (ресэмплирование до %2 Гц)</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2310"/>
-        <location filename="../main/MainWindow.cpp" line="2324"/>
-        <location filename="../main/MainWindow.cpp" line="2338"/>
-        <location filename="../main/MainWindow.cpp" line="2577"/>
-        <location filename="../main/MainWindow.cpp" line="2582"/>
-        <location filename="../main/MainWindow.cpp" line="2878"/>
-        <location filename="../main/MainWindow.cpp" line="2898"/>
-        <location filename="../main/MainWindow.cpp" line="2902"/>
+        <location filename="../main/MainWindow.cpp" line="2452"/>
+        <location filename="../main/MainWindow.cpp" line="2466"/>
+        <location filename="../main/MainWindow.cpp" line="2480"/>
+        <location filename="../main/MainWindow.cpp" line="2717"/>
+        <location filename="../main/MainWindow.cpp" line="2722"/>
+        <location filename="../main/MainWindow.cpp" line="3031"/>
+        <location filename="../main/MainWindow.cpp" line="3035"/>
         <source>Failed to open file</source>
         <translation>Не удалось открыть файл</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2441"/>
+        <location filename="../main/MainWindow.cpp" line="2583"/>
         <source>Export the selected region only</source>
         <translation>Экспортировать только выделенную область</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2442"/>
+        <location filename="../main/MainWindow.cpp" line="2584"/>
         <source>Export the whole audio file</source>
         <translation>Экспортировать весь звуковой файл</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2446"/>
-        <location filename="../main/MainWindow.cpp" line="2466"/>
-        <location filename="../main/MainWindow.cpp" line="2731"/>
+        <location filename="../main/MainWindow.cpp" line="2588"/>
+        <location filename="../main/MainWindow.cpp" line="2606"/>
+        <location filename="../main/MainWindow.cpp" line="2872"/>
         <source>Select region to export</source>
         <translation>Выделите область для экспорта</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2447"/>
+        <location filename="../main/MainWindow.cpp" line="2589"/>
         <source>Which region from the original audio file do you want to export?</source>
         <translation>Какую область исходного звукового файла вы хотите экспортировать?</translation>
     </message>
@@ -2512,30 +2956,30 @@
         <translation type="obsolete">Экспортировать выделенные области в один звуковой файл</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2462"/>
+        <location filename="../main/MainWindow.cpp" line="2602"/>
         <source>Export the selected regions into separate files</source>
         <translation>Экспортировать выделенные области в разные звуковые файлы</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2467"/>
+        <location filename="../main/MainWindow.cpp" line="2607"/>
         <source>Multiple regions of the original audio file are selected.
 What do you want to export?</source>
         <translation>Выбрано несколько областей исходного звукового файла.
 Какую из них вы хотите экспортировать?</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2498"/>
+        <location filename="../main/MainWindow.cpp" line="2638"/>
         <source>Fragment file %1 already exists, aborting</source>
         <translation>Файл фрагмента %1 уже существует, прерывание</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2548"/>
-        <location filename="../main/MainWindow.cpp" line="2675"/>
+        <location filename="../main/MainWindow.cpp" line="2688"/>
+        <location filename="../main/MainWindow.cpp" line="2816"/>
         <source>Failed to write file</source>
         <translation>Не удалось записать файл</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2618"/>
+        <location filename="../main/MainWindow.cpp" line="2758"/>
         <source>Failed to open file %1 for writing</source>
         <translation>Не удалось открыть файл %1 для записи</translation>
     </message>
@@ -2544,100 +2988,100 @@
         <translation type="obsolete">Sonic Visualiser: %1</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3226"/>
+        <location filename="../main/MainWindow.cpp" line="3359"/>
         <source>Session modified</source>
         <translation>Сеанс изменен</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3288"/>
-        <location filename="../main/MainWindow.cpp" line="3311"/>
+        <location filename="../main/MainWindow.cpp" line="3421"/>
+        <location filename="../main/MainWindow.cpp" line="3444"/>
         <source>Failed to save file</source>
         <translation>Не удалось сохранить файл</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3673"/>
+        <location filename="../main/MainWindow.cpp" line="3837"/>
         <source>Rename Layer</source>
         <translation>Переименовать слой</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3674"/>
+        <location filename="../main/MainWindow.cpp" line="3838"/>
         <source>New name for this layer:</source>
         <translation>Новое имя этого слоя:</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3914"/>
+        <location filename="../main/MainWindow.cpp" line="4116"/>
         <source>Sample rate mismatch</source>
         <translation>Несоответствие частоты дискретизации</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4160"/>
-        <location filename="../main/MainWindow.cpp" line="4167"/>
+        <location filename="../main/MainWindow.cpp" line="4409"/>
+        <location filename="../main/MainWindow.cpp" line="4416"/>
         <source>Failed to regenerate layer</source>
         <translation>Не удалось повторно создать слой</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4280"/>
+        <location filename="../main/MainWindow.cpp" line="4537"/>
         <source>http://www.sonicvisualiser.org/</source>
         <translation>http://www.sonicvisualiser.org/</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4300"/>
+        <location filename="../main/MainWindow.cpp" line="4557"/>
         <source>Release %1 : Revision %2</source>
         <translation>Версия %1 : Редакция %2</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4302"/>
+        <location filename="../main/MainWindow.cpp" line="4559"/>
         <source>Release %1</source>
         <translation>Версия %1</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4306"/>
+        <location filename="../main/MainWindow.cpp" line="4563"/>
         <source>Unreleased : Revision %1</source>
         <translation>Не выпущено : редакция %1</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4312"/>
+        <location filename="../main/MainWindow.cpp" line="4569"/>
         <source>&lt;h3&gt;About Sonic Visualiser&lt;/h3&gt;</source>
         <translation>&lt;h3&gt;О программе Sonic Visualiser&lt;/h3&gt;</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4316"/>
+        <location filename="../main/MainWindow.cpp" line="4573"/>
         <source>Debug</source>
         <translation>Отладка</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4316"/>
+        <location filename="../main/MainWindow.cpp" line="4573"/>
         <source>Release</source>
         <translation>Версия</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4341"/>
+        <location filename="../main/MainWindow.cpp" line="4598"/>
         <source>&lt;br&gt;With Ogg file decoder (oggz v%1, fishsound v%2) &amp;copy; CSIRO Australia</source>
         <translation>&lt;br&gt;С декодером Ogg (oggz v%1, fishsound v%2) &amp;copy; CSIRO Australia</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4384"/>
+        <location filename="../main/MainWindow.cpp" line="4641"/>
         <source>&lt;br&gt;With LADSPA plugin support (API v%1) &amp;copy; Richard Furse, Paul Davis, Stefan Westerfeld</source>
         <translation>&lt;br&gt;С поддержкой расширений LADSPA (API v%1) &amp;copy; Richard Furse, Paul Davis, Stefan Westerfeld</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4385"/>
+        <location filename="../main/MainWindow.cpp" line="4642"/>
         <source>&lt;br&gt;With DSSI plugin support (API v%1) &amp;copy; Chris Cannam, Steve Harris, Sean Bolton</source>
         <translation>&lt;br&gt;С поддержкой расширений DSSI (API v%1) &amp;copy; Chris Cannam, Steve Harris, Sean Bolton</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4423"/>
+        <location filename="../main/MainWindow.cpp" line="4680"/>
         <source>About Sonic Visualiser</source>
         <translation>О программе Sonic Visualiser</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4127"/>
-        <location filename="../main/MainWindow.cpp" line="4134"/>
+        <location filename="../main/MainWindow.cpp" line="4376"/>
+        <location filename="../main/MainWindow.cpp" line="4383"/>
         <source>Failed to generate layer</source>
         <translation>Не удалось создать слой</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="583"/>
+        <location filename="../main/MainWindow.cpp" line="624"/>
         <source>Adjust the application preferences</source>
         <translation>Изменить параметры работы приложения</translation>
     </message>
@@ -2646,128 +3090,128 @@
         <translation type="obsolete">Н&amp;едавние файлы</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="582"/>
+        <location filename="../main/MainWindow.cpp" line="623"/>
         <source>&amp;Preferences...</source>
         <translation>&amp;Параметры...</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="720"/>
+        <location filename="../main/MainWindow.cpp" line="761"/>
         <source>;</source>
         <translation>;</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="957"/>
+        <location filename="../main/MainWindow.cpp" line="1000"/>
         <source>Show &amp;Zoom Wheels</source>
         <translation>Показывать &amp;колёса масштабирования</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="958"/>
+        <location filename="../main/MainWindow.cpp" line="1001"/>
         <source>Z</source>
         <translation>Z</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="959"/>
+        <location filename="../main/MainWindow.cpp" line="1002"/>
         <source>Show thumbwheels for zooming horizontally and vertically</source>
         <translation>Показывать колёса для масштабирования по горизонтали и вертикали</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1467"/>
+        <location filename="../main/MainWindow.cpp" line="1521"/>
         <source>%1 by Category</source>
         <translation>%1 по категории</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1482"/>
-        <location filename="../main/MainWindow.cpp" line="1570"/>
+        <location filename="../main/MainWindow.cpp" line="1536"/>
+        <location filename="../main/MainWindow.cpp" line="1624"/>
         <source>Unclassified</source>
         <translation>Неклассифицированные</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1521"/>
+        <location filename="../main/MainWindow.cpp" line="1575"/>
         <source>%1 by Maker</source>
         <translation>%1 по имени создателя</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1535"/>
-        <location filename="../main/MainWindow.cpp" line="1573"/>
+        <location filename="../main/MainWindow.cpp" line="1589"/>
+        <location filename="../main/MainWindow.cpp" line="1627"/>
         <source>Unknown</source>
         <translation>Неизвестен</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1513"/>
+        <location filename="../main/MainWindow.cpp" line="1567"/>
         <source>%1 by Plugin Name</source>
         <translation>%1 по названию расширения</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1589"/>
-        <location filename="../main/MainWindow.cpp" line="1615"/>
+        <location filename="../main/MainWindow.cpp" line="1643"/>
+        <location filename="../main/MainWindow.cpp" line="1669"/>
         <source>%1...</source>
         <translation>%1...</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1182"/>
+        <location filename="../main/MainWindow.cpp" line="1235"/>
         <source>Add Spectr&amp;um</source>
         <translation>Добавить &amp;график спектральной функции</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1185"/>
+        <location filename="../main/MainWindow.cpp" line="1238"/>
         <source>Add a new pane showing a frequency spectrum</source>
         <translation>Добавить новое окно с частотой спектра</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1188"/>
+        <location filename="../main/MainWindow.cpp" line="1241"/>
         <source>Add a new layer showing a frequency spectrum</source>
         <translation>Добавить новый слой с частотой спектра</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="242"/>
         <source>Playback Speedup</source>
-        <translation>Ускорение воспроизведения</translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="345"/>
-        <location filename="../main/MainWindow.cpp" line="1432"/>
+        <translation type="vanished">Ускорение воспроизведения</translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="380"/>
+        <location filename="../main/MainWindow.cpp" line="1486"/>
         <source>&amp;Transform</source>
         <translation>Пр&amp;еобразования</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1267"/>
+        <location filename="../main/MainWindow.cpp" line="1320"/>
+        <location filename="../main/MainWindow.cpp" line="3447"/>
         <source>%1: %2</source>
         <translation>%1: %2</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1450"/>
+        <location filename="../main/MainWindow.cpp" line="1504"/>
         <source>&amp;Recent Transforms</source>
         <translation>&amp;Недавние преобразования</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1536"/>
-        <location filename="../main/MainWindow.cpp" line="1574"/>
+        <location filename="../main/MainWindow.cpp" line="1590"/>
+        <location filename="../main/MainWindow.cpp" line="1628"/>
         <source> [\(&lt;].*$</source>
         <translation> [\(&lt;].*$</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3926"/>
-        <location filename="../main/MainWindow.cpp" line="3936"/>
+        <location filename="../main/MainWindow.cpp" line="4128"/>
+        <location filename="../main/MainWindow.cpp" line="4138"/>
         <source>Audio processing overload</source>
         <translation>Перегрузка в обработке звука</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="966"/>
+        <location filename="../main/MainWindow.cpp" line="1009"/>
         <source>Show Property Bo&amp;xes</source>
         <translation>Показывать панели с&amp;войств</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="967"/>
+        <location filename="../main/MainWindow.cpp" line="1010"/>
         <source>X</source>
         <translation>X</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="968"/>
+        <location filename="../main/MainWindow.cpp" line="1011"/>
         <source>Show the layer property boxes at the side of the main window</source>
         <translation>Показывать панели свойств слоёв сбоку от основного окна</translation>
     </message>
     <message>
-        <location filename="../main/OSCHandler.cpp" line="318"/>
+        <location filename="../main/OSCHandler.cpp" line="319"/>
         <source>Add %1 Pane</source>
         <translation>Добавить окно %1</translation>
     </message>
@@ -2776,17 +3220,17 @@
         <translation type="obsolete">Отказаться от текущего сеанса Sonic Visualiser и начать новый</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="469"/>
+        <location filename="../main/MainWindow.cpp" line="503"/>
         <source>Open Lo&amp;cation...</source>
         <translation>Открыть &amp;местоположение...</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="470"/>
+        <location filename="../main/MainWindow.cpp" line="504"/>
         <source>Ctrl+Shift+O</source>
         <translation>Ctrl+Shift+O</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="471"/>
+        <location filename="../main/MainWindow.cpp" line="505"/>
         <source>Open or import a file from a remote URL</source>
         <translation>Открыть или импортировать файл с удалённого узла</translation>
     </message>
@@ -2795,77 +3239,77 @@
         <translation type="obsolete">Завершить работу с Sonic Visualiser</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="615"/>
+        <location filename="../main/MainWindow.cpp" line="656"/>
         <source>Cut the selection from the current layer to the clipboard</source>
         <translation>Вырезать выделение из активного слоя в буфер обмена</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="625"/>
+        <location filename="../main/MainWindow.cpp" line="666"/>
         <source>Copy the selection from the current layer to the clipboard</source>
         <translation>Скопировать выделение из активного слоя в буфер обмена</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="635"/>
+        <location filename="../main/MainWindow.cpp" line="676"/>
         <source>Paste from the clipboard to the current layer</source>
         <translation>Вставить содержимое буфера обмена в активный слой</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="667"/>
+        <location filename="../main/MainWindow.cpp" line="708"/>
         <source>Select the whole duration of the current session</source>
         <translation>Выбрать данные по всей длительности активнонр сеанса</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="676"/>
+        <location filename="../main/MainWindow.cpp" line="717"/>
         <source>Select the time range corresponding to the current window width</source>
         <translation>Сделать временной диапазон равным активной ширине окна</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="684"/>
+        <location filename="../main/MainWindow.cpp" line="725"/>
         <source>Select from the start of the session to the current playback position</source>
         <translation>Выделить от начала сеанса до текущей точки воспроизведения</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="692"/>
+        <location filename="../main/MainWindow.cpp" line="733"/>
         <source>Select from the current playback position to the end of the session</source>
         <translation>Выделить от текущей точки воспроизведения до конца сеанса</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="700"/>
+        <location filename="../main/MainWindow.cpp" line="741"/>
         <source>Clear the selection</source>
         <translation>Очистить выделение</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="713"/>
+        <location filename="../main/MainWindow.cpp" line="754"/>
         <source>Insert a new time instant at the current playback position, in a new layer if necessary</source>
         <translation>Вставить новую отметку времени в точку воспроизведения, при необходимости — в новый слой</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="725"/>
+        <location filename="../main/MainWindow.cpp" line="766"/>
         <source>Insert Instants at Selection &amp;Boundaries</source>
         <translation>Вставить отметки времени по &amp;краям выделения</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="726"/>
+        <location filename="../main/MainWindow.cpp" line="767"/>
         <source>Shift+Enter</source>
         <translation>Shift+Enter</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="832"/>
+        <location filename="../main/MainWindow.cpp" line="873"/>
         <source>&amp;Jump Left</source>
         <translation>Перескочить в&amp;лево</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="840"/>
+        <location filename="../main/MainWindow.cpp" line="881"/>
         <source>J&amp;ump Right</source>
         <translation>П&amp;ерескочить вправо</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="887"/>
+        <location filename="../main/MainWindow.cpp" line="928"/>
         <source>Restore the zoom level to the default</source>
         <translation>Восстановить обычный масштаб отображения</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="925"/>
+        <location filename="../main/MainWindow.cpp" line="968"/>
         <source>Show &amp;No Overlays</source>
         <translation>Не по&amp;казывать перекрытия совсем</translation>
     </message>
@@ -2874,7 +3318,7 @@
         <translation type="obsolete">Спрятать индикацию центра, времён выделения, имена слоёв и масштаб</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="935"/>
+        <location filename="../main/MainWindow.cpp" line="978"/>
         <source>Show &amp;Minimal Overlays</source>
         <translation>Показывать &amp;минимум перекрытий</translation>
     </message>
@@ -2891,7 +3335,7 @@
         <translation type="obsolete">Показывать индикатор центра, времена выделений, имена слоёв и масштаб</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="945"/>
+        <location filename="../main/MainWindow.cpp" line="988"/>
         <source>Show &amp;All Overlays</source>
         <translation>Показывать в&amp;се перекрытия</translation>
     </message>
@@ -2904,575 +3348,600 @@
         <translation type="obsolete">Показывать весь текст и масштаб</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="975"/>
+        <location filename="../main/MainWindow.cpp" line="1018"/>
         <source>Show Status &amp;Bar</source>
         <translation>Показывать статусную &amp;строку</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="976"/>
+        <location filename="../main/MainWindow.cpp" line="1019"/>
         <source>Show context help information in the status bar at the bottom of the window</source>
         <translation>Показывать контекстную справку в статусной строке, находящейся внизу окна программы</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1149"/>
+        <location filename="../main/MainWindow.cpp" line="1202"/>
         <source>Add a new pane showing a spectrogram</source>
         <translation>Добавить новое окно с отображением спектрограммы</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1152"/>
+        <location filename="../main/MainWindow.cpp" line="1205"/>
         <source>Add a new layer showing a spectrogram</source>
         <translation>Добавить новый слой с отображением спектрограммы</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1161"/>
+        <location filename="../main/MainWindow.cpp" line="1214"/>
         <source>Add a new pane showing a spectrogram set up for an overview of note pitches</source>
         <translation>Добавить новое окно, отображающее спектрограмму для обзора высоты тона нот</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1164"/>
+        <location filename="../main/MainWindow.cpp" line="1217"/>
         <source>Add a new layer showing a spectrogram set up for an overview of note pitches</source>
         <translation>Добавить новый слой, отображающий спектрограмму для обзора высоты тона нот</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1346"/>
+        <location filename="../main/MainWindow.cpp" line="1399"/>
         <source>Delete the currently active pane</source>
         <translation>Удалить активное окно</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1367"/>
+        <location filename="../main/MainWindow.cpp" line="1420"/>
         <source>Add S&amp;lice of Layer</source>
         <translation>Добавить &amp;фрагмент слоя</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2085"/>
+        <location filename="../main/MainWindow.cpp" line="2172"/>
         <source>Select ranges</source>
         <translation>Выбрать диапазон</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2095"/>
+        <location filename="../main/MainWindow.cpp" line="2201"/>
         <source>Edit items in layer</source>
         <translation>Изменить объекты слоя</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2106"/>
+        <location filename="../main/MainWindow.cpp" line="2222"/>
         <source>Draw new items in layer</source>
         <translation>Нарисовать новые объекты в слое</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2916"/>
+        <location filename="../main/MainWindow.cpp" line="3049"/>
         <source>Open Location</source>
         <translation>Открыть местоположение</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2917"/>
+        <location filename="../main/MainWindow.cpp" line="3050"/>
         <source>Please enter the URL of the location to open:</source>
         <translation>Введите URL открываемого местоположения:</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2930"/>
-        <location filename="../main/MainWindow.cpp" line="2934"/>
-        <location filename="../main/MainWindow.cpp" line="2958"/>
-        <location filename="../main/MainWindow.cpp" line="2962"/>
+        <location filename="../main/MainWindow.cpp" line="3063"/>
+        <location filename="../main/MainWindow.cpp" line="3067"/>
+        <location filename="../main/MainWindow.cpp" line="3091"/>
+        <location filename="../main/MainWindow.cpp" line="3095"/>
         <source>Failed to open location</source>
         <translation>Не удалось открыть местоположение</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3866"/>
+        <location filename="../main/MainWindow.cpp" line="3788"/>
+        <source>Multiplex all of the above</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="3937"/>
+        <source>Playback speed: %1% (%2x slower)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="3943"/>
+        <source>Playback speed: %1% (%2x faster)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="4065"/>
         <source>Visible: %1 to %2 (duration %3)</source>
         <translation>Видимая область: от %1 до %2 (длительность %3)</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4265"/>
+        <location filename="../main/MainWindow.cpp" line="4146"/>
+        <source>Problems loading plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="4377"/>
+        <source>&lt;b&gt;Layer generation failed&lt;/b&gt;&lt;p&gt;Failed to generate derived layer.&lt;p&gt;The layer transform %1failed:&lt;p&gt;%2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="4384"/>
+        <source>&lt;b&gt;Layer generation failed&lt;/b&gt;&lt;p&gt;Failed to generate a derived layer.&lt;p&gt;The layer transform %1failed.&lt;p&gt;No error information is available.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="4522"/>
         <source>Adjust the master playback level</source>
         <translation>Изменить общую громкость воспроизведения</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4267"/>
+        <location filename="../main/MainWindow.cpp" line="4524"/>
         <source>Adjust the master playback speed</source>
         <translation>Изменить общую скорость воспроизведения</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4343"/>
+        <location filename="../main/MainWindow.cpp" line="4600"/>
         <source>&lt;br&gt;With Ogg file decoder &amp;copy; CSIRO Australia</source>
         <translation>&lt;br&gt;С декодером Ogg &amp;copy; CSIRO Australia</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4350"/>
+        <location filename="../main/MainWindow.cpp" line="4607"/>
         <source>&lt;br&gt;With MAD mp3 decoder &amp;copy; Underbit Technologies Inc</source>
         <translation>&lt;br&gt;С декодером MAD mp3 &amp;copy; Underbit Technologies Inc</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4357"/>
+        <location filename="../main/MainWindow.cpp" line="4614"/>
         <source>&lt;br&gt;With libsamplerate &amp;copy; Erik de Castro Lopo</source>
         <translation>&lt;br&gt;С libsamplerate &amp;copy; Erik de Castro Lopo</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4364"/>
+        <location filename="../main/MainWindow.cpp" line="4621"/>
         <source>&lt;br&gt;With libsndfile &amp;copy; Erik de Castro Lopo</source>
         <translation>&lt;br&gt;С libsndfile &amp;copy; Erik de Castro Lopo</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4371"/>
+        <location filename="../main/MainWindow.cpp" line="4628"/>
         <source>&lt;br&gt;With FFTW3 &amp;copy; Matteo Frigo and MIT</source>
         <translation>&lt;br&gt;С FFTW3 &amp;copy; Matteo Frigo и MIT</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4382"/>
+        <location filename="../main/MainWindow.cpp" line="4639"/>
         <source>&lt;br&gt;With Vamp plugin support (API v%1, host SDK v%2) &amp;copy; Chris Cannam</source>
         <translation>&lt;br&gt;С поддержкой расширений Vamp (API v%1, host SDK v%2) &amp;copy; Chris Cannam</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4391"/>
+        <location filename="../main/MainWindow.cpp" line="4648"/>
         <source>&lt;br&gt;With Serd and Sord RDF parser and store &amp;copy; David Robillard</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4392"/>
+        <location filename="../main/MainWindow.cpp" line="4649"/>
         <source>&lt;br&gt;With Dataquay Qt/RDF library &amp;copy; Chris Cannam</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4400"/>
+        <location filename="../main/MainWindow.cpp" line="4657"/>
         <source>&lt;br&gt;With liblo Lite OSC library &amp;copy; Steve Harris</source>
         <translation>&lt;br&gt;С liblo Lite OSC library &amp;copy; Steve Harris</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="552"/>
+        <location filename="../main/MainWindow.cpp" line="586"/>
         <source>Export Image File...</source>
         <translation>Экспортировать в файл изображения...</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="553"/>
+        <location filename="../main/MainWindow.cpp" line="587"/>
         <source>Export a single pane to an image file</source>
         <translation>Экспортировать всё окно в файл изображения</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2713"/>
+        <location filename="../main/MainWindow.cpp" line="2854"/>
         <source>Export the whole pane (%1x%2 pixels)</source>
         <translation>Экспортировать всё окно (%1x%2 пикселов)</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2715"/>
+        <location filename="../main/MainWindow.cpp" line="2856"/>
         <source>Export the visible area only (%1x%2 pixels)</source>
         <translation>Экспортировать только видимую часть (%1x%2 пикселов)</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2718"/>
+        <location filename="../main/MainWindow.cpp" line="2859"/>
         <source>Export the selection extent (%1x%2 pixels)</source>
         <translation>Экспортировать выделение (%1x%2 пикселов)</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2721"/>
+        <location filename="../main/MainWindow.cpp" line="2862"/>
         <source>Export the selection extent</source>
         <translation>Экспортировать выделение</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2732"/>
+        <location filename="../main/MainWindow.cpp" line="2873"/>
         <source>Which region of the current pane do you want to export as an image?</source>
         <translation>Какую область текущего окна вы хотите экспортировать как изображение?</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2740"/>
+        <location filename="../main/MainWindow.cpp" line="2881"/>
         <source>Note: the whole pane is too wide to be exported as a single image.</source>
         <translation>Примечание: всё окно слишком широко, чтобы сохранить его как изображение.</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2765"/>
+        <location filename="../main/MainWindow.cpp" line="2906"/>
         <source>Failed to save image file</source>
         <translation>Не удалось сохранить файл изображения</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2766"/>
+        <location filename="../main/MainWindow.cpp" line="2907"/>
         <source>Failed to save image file %1</source>
         <translation>Не удалось сохранить файл изображения %1</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3863"/>
+        <location filename="../main/MainWindow.cpp" line="4062"/>
         <source>Selection: %1 to %2 (duration %3)</source>
         <translation>Выделение: %1 до %2 (длительность %3)</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="178"/>
+        <location filename="../main/MainWindow.cpp" line="183"/>
         <source>Black</source>
         <translation>Чёрный</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="179"/>
+        <location filename="../main/MainWindow.cpp" line="184"/>
         <source>Red</source>
         <translation>Красный</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="180"/>
+        <location filename="../main/MainWindow.cpp" line="185"/>
         <source>Blue</source>
         <translation>Синий</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="181"/>
-        <location filename="../main/MainWindow.cpp" line="227"/>
-        <location filename="../main/MainWindow.cpp" line="3336"/>
+        <location filename="../main/MainWindow.cpp" line="186"/>
+        <location filename="../main/MainWindow.cpp" line="232"/>
+        <location filename="../main/MainWindow.cpp" line="3469"/>
         <source>Green</source>
         <translation>Зелёный</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="182"/>
+        <location filename="../main/MainWindow.cpp" line="187"/>
         <source>Purple</source>
         <translation>Пурпурный</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="183"/>
+        <location filename="../main/MainWindow.cpp" line="188"/>
         <source>Orange</source>
         <translation>Оранжевый</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="184"/>
+        <location filename="../main/MainWindow.cpp" line="189"/>
         <source>White</source>
         <translation>Белый</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="185"/>
+        <location filename="../main/MainWindow.cpp" line="190"/>
         <source>Bright Red</source>
         <translation>Ярко-красный</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="186"/>
+        <location filename="../main/MainWindow.cpp" line="191"/>
         <source>Bright Blue</source>
         <translation>Ярко-синий</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="187"/>
-        <location filename="../main/MainWindow.cpp" line="224"/>
-        <location filename="../main/MainWindow.cpp" line="3333"/>
+        <location filename="../main/MainWindow.cpp" line="192"/>
+        <location filename="../main/MainWindow.cpp" line="229"/>
+        <location filename="../main/MainWindow.cpp" line="3466"/>
         <source>Bright Green</source>
         <translation>Ярко-зелёный</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="188"/>
+        <location filename="../main/MainWindow.cpp" line="193"/>
         <source>Bright Purple</source>
         <translation>Ярко-пурпурный</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="189"/>
+        <location filename="../main/MainWindow.cpp" line="194"/>
         <source>Bright Orange</source>
         <translation>Ярко-оранжевый</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="430"/>
+        <location filename="../main/MainWindow.cpp" line="465"/>
         <source>File and Session Management</source>
         <translation>Файлы и управление сеансами</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="455"/>
+        <location filename="../main/MainWindow.cpp" line="489"/>
         <source>&amp;Import More Audio...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="457"/>
+        <location filename="../main/MainWindow.cpp" line="491"/>
         <source>Import an extra audio file into a new pane</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="476"/>
+        <location filename="../main/MainWindow.cpp" line="510"/>
         <source>Open &amp;Recent</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="528"/>
-        <source>&amp;Export Audio Data...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="529"/>
+        <location filename="../main/MainWindow.cpp" line="561"/>
         <source>Export audio from selection into a data file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="560"/>
+        <location filename="../main/MainWindow.cpp" line="601"/>
         <source>Apply Session Template</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="569"/>
+        <location filename="../main/MainWindow.cpp" line="610"/>
         <source>Export Session as Template...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="576"/>
+        <location filename="../main/MainWindow.cpp" line="617"/>
         <source>Manage Exported Templates</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="606"/>
+        <location filename="../main/MainWindow.cpp" line="647"/>
         <source>Editing</source>
         <translation>Редактирование</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="642"/>
+        <location filename="../main/MainWindow.cpp" line="683"/>
         <source>Paste at Playback Position</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="643"/>
+        <location filename="../main/MainWindow.cpp" line="684"/>
         <source>Ctrl+Shift+V</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="644"/>
+        <location filename="../main/MainWindow.cpp" line="685"/>
         <source>Paste from the clipboard to the current layer, placing the first item at the playback position</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="653"/>
-        <location filename="../main/MainWindow.cpp" line="2201"/>
+        <location filename="../main/MainWindow.cpp" line="694"/>
+        <location filename="../main/MainWindow.cpp" line="2343"/>
         <source>Delete items in current selection from the current layer</source>
         <translation>Удалить объекты в активном выделении текущего слоя</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="663"/>
+        <location filename="../main/MainWindow.cpp" line="704"/>
         <source>Selection</source>
         <translation>Выделение</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="709"/>
+        <location filename="../main/MainWindow.cpp" line="750"/>
         <source>Tapping Time Instants</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="727"/>
+        <location filename="../main/MainWindow.cpp" line="768"/>
         <source>Insert new time instants at the start and end of the current selected regions, in a new layer if necessary</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="743"/>
+        <location filename="../main/MainWindow.cpp" line="784"/>
         <source>Number New Instants with</source>
         <translation>Способ нумерации новых отметок</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="763"/>
+        <location filename="../main/MainWindow.cpp" line="804"/>
         <source>Cycle size</source>
         <translation>Размер цикла</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="790"/>
+        <location filename="../main/MainWindow.cpp" line="831"/>
         <source>Set Numbering Counters...</source>
         <translation>Установить счетчики нумерации...</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="791"/>
+        <location filename="../main/MainWindow.cpp" line="832"/>
         <source>Set the counters used for counter-based labelling</source>
         <translation>Устанолвить счетчики для меток на основе подсчета</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="795"/>
+        <location filename="../main/MainWindow.cpp" line="836"/>
         <source>Renumber Selected Instants</source>
         <translation>Перенумеровать выбранные отметки</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="796"/>
+        <location filename="../main/MainWindow.cpp" line="837"/>
         <source>Renumber the selected instants using the current labelling scheme</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="812"/>
+        <location filename="../main/MainWindow.cpp" line="853"/>
         <source>Panning and Navigation</source>
         <translation>Прокрутка и перемещение</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="866"/>
+        <location filename="../main/MainWindow.cpp" line="907"/>
         <source>Zoom</source>
         <translation>Масштаб просмотра</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="894"/>
+        <location filename="../main/MainWindow.cpp" line="935"/>
         <source>F</source>
         <translation>F</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="903"/>
+        <location filename="../main/MainWindow.cpp" line="944"/>
         <source>Display Features</source>
         <translation>Отображение элементов</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="915"/>
+        <location filename="../main/MainWindow.cpp" line="956"/>
         <source>#</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="916"/>
+        <location filename="../main/MainWindow.cpp" line="957"/>
         <source>Show or hide all time rulers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="993"/>
+        <location filename="../main/MainWindow.cpp" line="1036"/>
         <source>Show La&amp;yer Summary</source>
         <translation>&amp;Показать сводку по слою</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="994"/>
+        <location filename="../main/MainWindow.cpp" line="1037"/>
         <source>Y</source>
         <translation>Y</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="995"/>
+        <location filename="../main/MainWindow.cpp" line="1038"/>
         <source>Open a window displaying the hierarchy of panes and layers in this session</source>
         <translation>Открыть окно, в котором отобразится иерархия окон и слоев активного сеанса</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1046"/>
+        <location filename="../main/MainWindow.cpp" line="1094"/>
         <source>Managing Panes and Layers</source>
         <translation>Управление окнами и слоями</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1049"/>
+        <location filename="../main/MainWindow.cpp" line="1097"/>
         <source>N</source>
         <translation>N</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1083"/>
+        <location filename="../main/MainWindow.cpp" line="1131"/>
         <source>T</source>
         <translation>T</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1135"/>
+        <location filename="../main/MainWindow.cpp" line="1188"/>
         <source>W</source>
         <translation>W</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1138"/>
+        <location filename="../main/MainWindow.cpp" line="1191"/>
         <source>Shift+W</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1146"/>
+        <location filename="../main/MainWindow.cpp" line="1199"/>
         <source>Add Spectro&amp;gram</source>
         <translation>Добавить &amp;спектограмму</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1148"/>
+        <location filename="../main/MainWindow.cpp" line="1201"/>
         <source>G</source>
         <translation>G</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1151"/>
+        <location filename="../main/MainWindow.cpp" line="1204"/>
         <source>Shift+G</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1160"/>
+        <location filename="../main/MainWindow.cpp" line="1213"/>
         <source>M</source>
         <translation>M</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1163"/>
+        <location filename="../main/MainWindow.cpp" line="1216"/>
         <source>Shift+M</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1170"/>
+        <location filename="../main/MainWindow.cpp" line="1223"/>
         <source>Add Pea&amp;k Frequency Spectrogram</source>
         <translation>Добавить спектограмму &amp;пиковой частоты</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1172"/>
+        <location filename="../main/MainWindow.cpp" line="1225"/>
         <source>K</source>
         <translation>K</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1175"/>
+        <location filename="../main/MainWindow.cpp" line="1228"/>
         <source>Shift+K</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1184"/>
+        <location filename="../main/MainWindow.cpp" line="1237"/>
         <source>U</source>
         <translation>U</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1187"/>
+        <location filename="../main/MainWindow.cpp" line="1240"/>
         <source>Shift+U</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1326"/>
+        <location filename="../main/MainWindow.cpp" line="1379"/>
         <source>Switch to Previous Pane</source>
         <translation>Перейти к предыдущему окну</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1327"/>
+        <location filename="../main/MainWindow.cpp" line="1380"/>
         <source>[</source>
         <translation>[</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1328"/>
+        <location filename="../main/MainWindow.cpp" line="1381"/>
         <source>Make the next pane up in the pane stack current</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1334"/>
+        <location filename="../main/MainWindow.cpp" line="1387"/>
         <source>Switch to Next Pane</source>
         <translation>Перейти к следующему окну</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1335"/>
+        <location filename="../main/MainWindow.cpp" line="1388"/>
         <source>]</source>
         <translation>]</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1336"/>
+        <location filename="../main/MainWindow.cpp" line="1389"/>
         <source>Make the next pane down in the pane stack current</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1345"/>
+        <location filename="../main/MainWindow.cpp" line="1398"/>
         <source>Ctrl+Shift+D</source>
         <translation>Ctrl+Shift+D</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1396"/>
+        <location filename="../main/MainWindow.cpp" line="1448"/>
         <source>R</source>
         <translation>R</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1403"/>
+        <location filename="../main/MainWindow.cpp" line="1455"/>
         <source>Edit Layer Data</source>
         <translation>Изменить данные слоя</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1404"/>
+        <location filename="../main/MainWindow.cpp" line="1456"/>
         <source>E</source>
         <translation>E</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1405"/>
+        <location filename="../main/MainWindow.cpp" line="1457"/>
         <source>Edit the currently active layer as a data grid</source>
         <translation>Изменить активный слой как сетку данных</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1412"/>
+        <location filename="../main/MainWindow.cpp" line="1464"/>
         <source>Ctrl+D</source>
         <translation>Ctrl+D</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1672"/>
+        <location filename="../main/MainWindow.cpp" line="1726"/>
         <source>Help</source>
         <translation>Справка</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1680"/>
+        <location filename="../main/MainWindow.cpp" line="1734"/>
         <source>F1</source>
         <translation>F1</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1681"/>
+        <location filename="../main/MainWindow.cpp" line="1735"/>
         <source>Open the %1 reference manual</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1686"/>
+        <location filename="../main/MainWindow.cpp" line="1740"/>
         <source>&amp;Key and Mouse Reference</source>
         <translation>&amp;Использование клавиатуры и мыши</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1687"/>
+        <location filename="../main/MainWindow.cpp" line="1741"/>
         <source>F2</source>
         <translation>F2</translation>
     </message>
@@ -3481,498 +3950,653 @@
         <translation type="obsolete">Открыть окно, в котором перечисляются клавиатурные комбинации Sonic Visualiser</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1713"/>
+        <location filename="../main/MainWindow.cpp" line="1767"/>
         <source>Ctrl+R</source>
         <translation>Ctrl+R</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1715"/>
+        <location filename="../main/MainWindow.cpp" line="1769"/>
         <source>Re-open</source>
         <translation>Повторно открыть</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1717"/>
+        <location filename="../main/MainWindow.cpp" line="1771"/>
         <source>Re-open the current or most recently opened file</source>
         <translation>Повторно открыть активный или недавно открывавшийся файл</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1728"/>
+        <location filename="../main/MainWindow.cpp" line="1782"/>
         <source>Standard Waveform</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1764"/>
+        <location filename="../main/MainWindow.cpp" line="1818"/>
         <source>Choose Default Template...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1789"/>
+        <location filename="../main/MainWindow.cpp" line="1843"/>
         <source>Ctrl+T</source>
         <translation>Ctrl+T</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1791"/>
+        <location filename="../main/MainWindow.cpp" line="1845"/>
         <source>Repeat Transform</source>
         <translation>Повторить преобразование</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1793"/>
+        <location filename="../main/MainWindow.cpp" line="1847"/>
         <source>Re-select the most recently run transform</source>
         <translation>Повторно запустить самое последнее выполнявшееся преобразование</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1883"/>
+        <location filename="../main/MainWindow.cpp" line="1937"/>
         <source>Playback and Transport Controls</source>
         <translation>Управление воспроизведением и перемоткой</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1887"/>
+        <location filename="../main/MainWindow.cpp" line="1941"/>
         <source>Play&amp;back</source>
         <translation>Воспро&amp;изведение</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1890"/>
+        <location filename="../main/MainWindow.cpp" line="1944"/>
         <source>Playback</source>
         <translation>Воспроизведение</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1892"/>
+        <location filename="../main/MainWindow.cpp" line="1946"/>
         <source>Playback Toolbar</source>
         <translation>Панель воспроизведения</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1902"/>
+        <location filename="../main/MainWindow.cpp" line="1956"/>
         <source>PgUp</source>
         <translation>PgUp</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1903"/>
+        <location filename="../main/MainWindow.cpp" line="1957"/>
         <source>Rewind to the previous time instant or time ruler notch</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1927"/>
+        <location filename="../main/MainWindow.cpp" line="1981"/>
         <source>PgDown</source>
         <translation>PgDown</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1928"/>
+        <location filename="../main/MainWindow.cpp" line="1982"/>
         <source>Fast-forward to the next time instant or time ruler notch</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1952"/>
+        <location filename="../main/MainWindow.cpp" line="2000"/>
+        <source>Record</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2002"/>
+        <source>Ctrl+Space</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2003"/>
+        <source>Record a new audio file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2017"/>
         <source>Constrain playback to the selected regions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1970"/>
+        <location filename="../main/MainWindow.cpp" line="2035"/>
         <source>Solo Current Pane</source>
         <translation>Соло активного окна</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1974"/>
+        <location filename="../main/MainWindow.cpp" line="2039"/>
         <source>o</source>
         <translation>o</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1975"/>
+        <location filename="../main/MainWindow.cpp" line="2040"/>
         <source>Solo the current pane during playback</source>
         <translation>При воспроизведении звучит лишь активное окно</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1984"/>
+        <location filename="../main/MainWindow.cpp" line="2049"/>
         <source>Align File Timelines</source>
         <translation>Выровнять линейки времени</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1987"/>
+        <location filename="../main/MainWindow.cpp" line="2052"/>
         <source>Treat multiple audio files as versions of the same work, and align their timelines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2035"/>
+        <location filename="../main/MainWindow.cpp" line="2107"/>
         <source>Speed Up</source>
         <translation>Ускорить</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2036"/>
+        <location filename="../main/MainWindow.cpp" line="2108"/>
         <source>Ctrl+PgUp</source>
         <translation>Ctrl+PgUp</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2037"/>
+        <location filename="../main/MainWindow.cpp" line="2109"/>
         <source>Time-stretch playback to speed it up without changing pitch</source>
         <translation>Сжать время воспроизведения, не меняя высоту тона</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2041"/>
+        <location filename="../main/MainWindow.cpp" line="2113"/>
         <source>Slow Down</source>
         <translation>Замедлить</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2042"/>
+        <location filename="../main/MainWindow.cpp" line="2114"/>
         <source>Ctrl+PgDown</source>
         <translation>Ctrl+PgDown</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2043"/>
+        <location filename="../main/MainWindow.cpp" line="2115"/>
         <source>Time-stretch playback to slow it down without changing pitch</source>
         <translation>Расширить время воспроизведения, не меняя высоту тона</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2047"/>
+        <location filename="../main/MainWindow.cpp" line="2119"/>
         <source>Restore Normal Speed</source>
         <translation>Восстановить обычную скорость</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2048"/>
+        <location filename="../main/MainWindow.cpp" line="2120"/>
         <source>Ctrl+Home</source>
         <translation>Ctrl+Home</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2049"/>
+        <location filename="../main/MainWindow.cpp" line="2121"/>
         <source>Restore non-time-stretched playback</source>
         <translation>Восстановить естественную скорость воспроизведения</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2064"/>
+        <location filename="../main/MainWindow.cpp" line="2139"/>
+        <location filename="../main/MainWindow.cpp" line="2167"/>
+        <location filename="../main/MainWindow.cpp" line="2196"/>
+        <location filename="../main/MainWindow.cpp" line="2217"/>
+        <location filename="../main/MainWindow.cpp" line="2235"/>
+        <location filename="../main/MainWindow.cpp" line="2253"/>
         <source>Tool Selection</source>
         <translation>Выбор инструмента</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2114"/>
+        <location filename="../main/MainWindow.cpp" line="2153"/>
+        <source>Navigate Tool Mouse Actions</source>
+        <translation type="unfinished">Использование мыши с инструментом навигации</translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2156"/>
+        <source>Click left button and drag to move around</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2158"/>
+        <location filename="../main/MainWindow.cpp" line="2273"/>
+        <source>Zoom to Area</source>
+        <translation type="unfinished">Масштабировать в выделение</translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2159"/>
+        <location filename="../main/MainWindow.cpp" line="2274"/>
+        <source>Shift-click left button and drag to zoom to a rectangular area</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2161"/>
+        <source>Relocate</source>
+        <translation type="unfinished">Перемещение скачком</translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2161"/>
+        <location filename="../main/MainWindow.cpp" line="2164"/>
+        <location filename="../main/MainWindow.cpp" line="2214"/>
+        <location filename="../main/MainWindow.cpp" line="2270"/>
+        <source>Double-Click Left</source>
+        <translation type="unfinished">Двойной щелчок левой клавишей</translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2162"/>
+        <source>Double-click left button to jump to clicked location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2165"/>
+        <location filename="../main/MainWindow.cpp" line="2215"/>
+        <source>Double-click left button on an item to edit it</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2179"/>
+        <source>Select Tool Mouse Actions</source>
+        <translation type="unfinished">Использование мыши с инструментом выделения</translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2182"/>
+        <source>Click left button and drag to select region; drag region edge to resize</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2185"/>
+        <location filename="../main/MainWindow.cpp" line="2189"/>
+        <source>Multi Select</source>
+        <translation type="unfinished">Множественное выделение</translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2186"/>
+        <source>Cmd-click left button and drag to select an additional region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2190"/>
+        <source>Ctrl-click left button and drag to select an additional region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2193"/>
+        <source>Fine Select</source>
+        <translation type="unfinished">Выделить точно</translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2194"/>
+        <source>Shift-click left button and drag to select without snapping to items or grid</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2209"/>
+        <source>Edit Tool Mouse Actions</source>
+        <translation type="unfinished">Использование мыши с инструментом редактирования</translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2211"/>
+        <source>Move</source>
+        <translation type="unfinished">Переместить</translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2212"/>
+        <source>Click left button on an item or selected region and drag to move</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2230"/>
+        <source>Draw Tool Mouse Actions</source>
+        <translation type="unfinished">Использование мыши с инструментом рисования</translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2233"/>
+        <source>Click left button and drag to create new item</source>
+        <translation type="unfinished">Щелкните левой клавишей мыши и перетащите курсор для создания нового объекта</translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2237"/>
+        <location filename="../main/MainWindow.cpp" line="2250"/>
         <source>Erase</source>
         <translation>Стерка</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2116"/>
+        <location filename="../main/MainWindow.cpp" line="2239"/>
         <source>5</source>
         <translation>5</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2117"/>
+        <location filename="../main/MainWindow.cpp" line="2240"/>
         <source>Erase items from layer</source>
         <translation>Стирать объекты слоя</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2124"/>
+        <location filename="../main/MainWindow.cpp" line="2248"/>
+        <source>Erase Tool Mouse Actions</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2251"/>
+        <source>Click left button on an item to remove it from the layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2254"/>
         <source>Measure</source>
         <translation>Измеритель</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2126"/>
+        <location filename="../main/MainWindow.cpp" line="2256"/>
         <source>6</source>
         <translation>6</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2127"/>
+        <location filename="../main/MainWindow.cpp" line="2257"/>
         <source>Make measurements in layer</source>
         <translation>Выполнять измерения в слое</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2196"/>
+        <location filename="../main/MainWindow.cpp" line="2265"/>
+        <source>Measure Tool Mouse Actions</source>
+        <translation type="unfinished">Использование мыши с инструментом измерения</translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2267"/>
+        <source>Measure Area</source>
+        <translation type="unfinished">Измерить область</translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2268"/>
+        <source>Click left button and drag to measure a rectangular area</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2270"/>
+        <source>Measure Item</source>
+        <translation type="unfinished">Измерить объект</translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2271"/>
+        <source>Click left button and drag to measure extents of an item or shape</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2338"/>
         <source>&amp;Delete Current Measurement</source>
         <translation>&amp;Удалить активный замер</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2197"/>
+        <location filename="../main/MainWindow.cpp" line="2339"/>
         <source>Delete the measurement currently under the mouse pointer</source>
         <translation>Удалить замер, находящийся под курсором мыши</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2206"/>
+        <location filename="../main/MainWindow.cpp" line="2348"/>
         <source>Fast Forward to Next Instant</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2208"/>
+        <location filename="../main/MainWindow.cpp" line="2350"/>
         <source>Rewind to Previous Instant</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2211"/>
+        <location filename="../main/MainWindow.cpp" line="2353"/>
         <source>Fast Forward to Next Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2212"/>
+        <location filename="../main/MainWindow.cpp" line="2354"/>
         <source>Fast forward to the next point in the current layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2213"/>
+        <location filename="../main/MainWindow.cpp" line="2355"/>
         <source>Rewind to Previous Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2214"/>
+        <location filename="../main/MainWindow.cpp" line="2356"/>
         <source>Rewind to the previous point in the current layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2217"/>
+        <location filename="../main/MainWindow.cpp" line="2359"/>
         <source>Fast forward</source>
         <translation>Быстрый вперед</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2311"/>
-        <location filename="../main/MainWindow.cpp" line="2325"/>
-        <location filename="../main/MainWindow.cpp" line="2339"/>
+        <location filename="../main/MainWindow.cpp" line="2453"/>
+        <location filename="../main/MainWindow.cpp" line="2467"/>
+        <location filename="../main/MainWindow.cpp" line="2481"/>
         <source>&lt;b&gt;File open failed&lt;/b&gt;&lt;p&gt;Audio file &quot;%1&quot; could not be opened</source>
         <translation>&lt;b&gt;Не удалось открыть файл&lt;/b&gt;&lt;p&gt;Не удалось открыть звуковой файл &quot;%1&quot;</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2461"/>
+        <location filename="../main/MainWindow.cpp" line="2601"/>
         <source>Export the selected regions into a single file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2463"/>
+        <location filename="../main/MainWindow.cpp" line="2603"/>
         <source>Export the whole file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2578"/>
+        <location filename="../main/MainWindow.cpp" line="2718"/>
         <source>&lt;b&gt;File open failed&lt;/b&gt;&lt;p&gt;Layer file %1 could not be opened.</source>
         <translation>&lt;b&gt;Не удалось открыть файл&lt;/b&gt;&lt;p&gt;Не удалось открыть файл слоя &quot;%1&quot;</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2642"/>
+        <location filename="../main/MainWindow.cpp" line="2783"/>
         <source>Can&apos;t export non-note layers to MIDI</source>
         <translation>Невозможно экспортировать ненотные слои в MIDI</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2654"/>
+        <location filename="../main/MainWindow.cpp" line="2795"/>
         <source>Sorry, cannot export this layer type to RDF (supported types are: region, note, text, time instants, time values)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2879"/>
+        <location filename="../main/MainWindow.cpp" line="4697"/>
+        <source>&lt;h3&gt;Newer version available&lt;/h3&gt;&lt;p&gt;You are using version %1 of Sonic Visualiser, but version %2 is now available.&lt;/p&gt;&lt;p&gt;Please see the &lt;a href=&quot;http://sonicvisualiser.org/&quot;&gt;Sonic Visualiser website&lt;/a&gt; for more information.&lt;/p&gt;</source>
+        <translation type="unfinished">&lt;h3&gt;Доступна более новая версия&lt;/h3&gt;&lt;p&gt;Вы используетее Sonic Visualiser версии %1, но уже доступна версия %3.&lt;/p&gt;&lt;p&gt;Загляните на &lt;a href=&quot;http://sonicvisualiser.org/&quot;&gt;сайт Sonic Visualiser&lt;/a&gt; за подробностями.&lt;/p&gt; {3&gt;?} {3&gt;?} {1 ?} {2 ?}</translation>
+    </message>
+    <message>
         <source>&lt;b&gt;File open failed&lt;/b&gt;&lt;p&gt;Session file &quot;%1&quot; could not be opened</source>
-        <translation>&lt;b&gt;Не удалось открыть файл&lt;/b&gt;&lt;p&gt;Не удалось открыть файл сеанса &quot;%1&quot;</translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2899"/>
+        <translation type="vanished">&lt;b&gt;Не удалось открыть файл&lt;/b&gt;&lt;p&gt;Не удалось открыть файл сеанса &quot;%1&quot;</translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="3032"/>
         <source>&lt;b&gt;File open failed&lt;/b&gt;&lt;p&gt;File &quot;%1&quot; could not be opened</source>
         <translation>&lt;b&gt;Не удалось открыть файл&lt;/b&gt;&lt;p&gt;Не удалось открыть файл &quot;%1&quot;</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2931"/>
+        <location filename="../main/MainWindow.cpp" line="3064"/>
         <source>&lt;b&gt;Open failed&lt;/b&gt;&lt;p&gt;URL &quot;%1&quot; could not be opened</source>
         <translation>&lt;b&gt;Не удалось открыть ссылку&lt;/b&gt;&lt;p&gt;Не удалось открыть URL &quot;%1&quot;</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2959"/>
+        <location filename="../main/MainWindow.cpp" line="3092"/>
         <source>&lt;b&gt;Open failed&lt;/b&gt;&lt;p&gt;File or URL &quot;%1&quot; could not be opened</source>
         <translation>&lt;b&gt;Не удалось открыть ссылку&lt;/b&gt;&lt;p&gt;Не удалось открыть файл или URL &quot;%1&quot;</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3002"/>
+        <location filename="../main/MainWindow.cpp" line="3135"/>
         <source>Enter template name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3007"/>
+        <location filename="../main/MainWindow.cpp" line="3140"/>
         <source>Please enter a name for the saved template:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3011"/>
+        <location filename="../main/MainWindow.cpp" line="3144"/>
         <source>Set as default template for future audio files</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3031"/>
+        <location filename="../main/MainWindow.cpp" line="3164"/>
         <source>Template file exists</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3032"/>
+        <location filename="../main/MainWindow.cpp" line="3165"/>
         <source>&lt;b&gt;Template file exists&lt;/b&gt;&lt;p&gt;The template &quot;%1&quot; already exists.&lt;br&gt;Overwrite it?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3089"/>
-        <location filename="../main/MainWindow.cpp" line="3094"/>
+        <location filename="../main/MainWindow.cpp" line="3222"/>
+        <location filename="../main/MainWindow.cpp" line="3227"/>
         <source>Failed to open dropped URL</source>
         <translation>Не удалось открыть URL, перемещенный мышью в окно программы</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3090"/>
+        <location filename="../main/MainWindow.cpp" line="3223"/>
         <source>&lt;b&gt;Open failed&lt;/b&gt;&lt;p&gt;Dropped URL &quot;%1&quot; could not be opened</source>
         <translation>&lt;b&gt;Не удалось открыть ссылку&lt;/b&gt;&lt;p&gt;Не удалось открыть файл URL &quot;%1&quot;, перетащенный в окно программы мышью</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3227"/>
+        <location filename="../main/MainWindow.cpp" line="3360"/>
         <source>&lt;b&gt;Session modified&lt;/b&gt;&lt;p&gt;The current session has been modified.&lt;br&gt;Do you want to save it?</source>
         <translation>&lt;b&gt;Сеанс изменился&lt;/b&gt;&lt;p&gt;Активный сеанс изменился&lt;br&gt;Вы хотите сохранить его?</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3289"/>
-        <location filename="../main/MainWindow.cpp" line="3312"/>
+        <location filename="../main/MainWindow.cpp" line="3422"/>
+        <location filename="../main/MainWindow.cpp" line="3445"/>
         <source>&lt;b&gt;Save failed&lt;/b&gt;&lt;p&gt;Session file &quot;%1&quot; could not be saved.</source>
         <translation>&lt;b&gt;Не удалось сохранить файл&lt;/b&gt;&lt;p&gt;Не удалось сохранить файл сеанса &quot;%1&quot;</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3314"/>
         <source>%1: %1</source>
-        <translation type="unfinished">%1: %1 {1:?}</translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="3765"/>
+        <translation type="obsolete">%1: %1 {1:?}</translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="3933"/>
         <source>Playback speed: Normal</source>
         <translation>Скорость воспроизведения: обычная</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3767"/>
         <source>Playback speed: %1%2%</source>
-        <translation>Скорость воспроизведения: %1%2%</translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="3915"/>
+        <translation type="vanished">Скорость воспроизведения: %1%2%</translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="4117"/>
         <source>&lt;b&gt;Wrong sample rate&lt;/b&gt;&lt;p&gt;The sample rate of this audio file (%1 Hz) does not match
 the current playback rate (%2 Hz).&lt;p&gt;The file will play at the wrong speed and pitch.&lt;p&gt;Change the &lt;i&gt;Resample mismatching files on import&lt;/i&gt; option under &lt;i&gt;File&lt;/i&gt; -&gt; &lt;i&gt;Preferences&lt;/i&gt; if you want to alter this behaviour.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3927"/>
+        <location filename="../main/MainWindow.cpp" line="4129"/>
         <source>&lt;b&gt;Overloaded&lt;/b&gt;&lt;p&gt;Audio effects plugin auditioning has been disabled due to a processing overload.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4108"/>
+        <location filename="../main/MainWindow.cpp" line="4352"/>
         <source>Reset Counters</source>
         <translation>Обнуление счетчиков</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4128"/>
-        <source>&lt;b&gt;Layer generation failed&lt;/b&gt;&lt;p&gt;Failed to generate derived layer.&lt;p&gt;The layer transform &quot;%1&quot; failed:&lt;p&gt;%2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="4135"/>
-        <source>&lt;b&gt;Layer generation failed&lt;/b&gt;&lt;p&gt;Failed to generate a derived layer.&lt;p&gt;The layer transform &quot;%1&quot; failed.&lt;p&gt;No error information is available.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="4147"/>
-        <location filename="../main/MainWindow.cpp" line="4181"/>
+        <location filename="../main/MainWindow.cpp" line="4396"/>
+        <location filename="../main/MainWindow.cpp" line="4431"/>
         <source>Warning</source>
         <translation>Предупреждение</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4161"/>
+        <location filename="../main/MainWindow.cpp" line="4410"/>
         <source>&lt;b&gt;Layer generation failed&lt;/b&gt;&lt;p&gt;Failed to regenerate derived layer &quot;%1&quot; using new data model as input.&lt;p&gt;The layer transform &quot;%2&quot; failed:&lt;p&gt;%3</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4168"/>
+        <location filename="../main/MainWindow.cpp" line="4417"/>
         <source>&lt;b&gt;Layer generation failed&lt;/b&gt;&lt;p&gt;Failed to regenerate derived layer &quot;%1&quot; using new data model as input.&lt;p&gt;The layer transform &quot;%2&quot; failed.&lt;p&gt;No error information is available.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4181"/>
+        <location filename="../main/MainWindow.cpp" line="4431"/>
         <source>&lt;b&gt;Warning when regenerating layer&lt;/b&gt;&lt;p&gt;When regenerating the derived layer &quot;%1&quot; using new data model as input:&lt;p&gt;%2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4191"/>
+        <location filename="../main/MainWindow.cpp" line="4441"/>
         <source>Failed to calculate alignment</source>
         <translation>Не удалось рассчитать выравнивание</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4192"/>
+        <location filename="../main/MainWindow.cpp" line="4442"/>
         <source>&lt;b&gt;Alignment calculation failed&lt;/b&gt;&lt;p&gt;Failed to calculate an audio alignment using transform &quot;%1&quot;:&lt;p&gt;%2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4326"/>
+        <location filename="../main/MainWindow.cpp" line="4583"/>
         <source>&lt;br&gt;With JACK audio output library &amp;copy; Paul Davis and Jack O&apos;Quin</source>
         <translation>&lt;br&gt;С библиотекой JACK &amp;copy; Paul Davis и Jack O&apos;Quin</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4330"/>
+        <location filename="../main/MainWindow.cpp" line="4587"/>
         <source>&lt;br&gt;With PortAudio audio output library &amp;copy; Ross Bencina and Phil Burk</source>
         <translation>&lt;br&gt;С библиотекой PortAudio &amp;copy; Ross Bencina и Phil Burk</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4336"/>
+        <location filename="../main/MainWindow.cpp" line="4593"/>
         <source>&lt;br&gt;With PulseAudio audio output library &amp;copy; Lennart Poettering and Pierre Ossman</source>
         <translation>&lt;br&gt;С библиотекой PulseAudio &amp;copy; Lennart Poettering и Pierre Ossman</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3937"/>
+        <location filename="../main/MainWindow.cpp" line="4139"/>
         <source>&lt;b&gt;Overloaded&lt;/b&gt;&lt;p&gt;Audio playback speed processing has been reduced to a single channel, due to a processing overload.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4378"/>
+        <location filename="../main/MainWindow.cpp" line="4635"/>
         <source>&lt;br&gt;With Rubber Band &amp;copy; Chris Cannam</source>
         <translation>&lt;br&gt;С Rubber Band &amp;copy; Chris Cannam</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1654"/>
+        <location filename="../main/MainWindow.cpp" line="1708"/>
         <source>Find a Transform...</source>
         <translation>Найти эффект трансформации...</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1655"/>
+        <location filename="../main/MainWindow.cpp" line="1709"/>
         <source>Search for a transform from the installed plugins, by name or description</source>
         <translation>Найти эффект трансформации среди установленных расширений по названию или описанию</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1656"/>
+        <location filename="../main/MainWindow.cpp" line="1710"/>
         <source>Ctrl+M</source>
         <translation>Ctrl+M</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4313"/>
+        <location filename="../main/MainWindow.cpp" line="4570"/>
         <source>&lt;p&gt;Sonic Visualiser is a program for viewing and exploring audio data for semantic music analysis and annotation.&lt;br&gt;&lt;a href=&quot;http://www.sonicvisualiser.org/&quot;&gt;http://www.sonicvisualiser.org/&lt;/a&gt;&lt;/p&gt;</source>
         <translation>&lt;p&gt;Sonic Visualiser — программа для просмотра и исследования звукозаписей с целью семантического анализа и аннотации музыки.&lt;br&gt;&lt;a href=&quot;http://www.sonicvisualiser.org/&quot;&gt;http://www.sonicvisualiser.org/&lt;/a&gt;&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4314"/>
+        <location filename="../main/MainWindow.cpp" line="4571"/>
         <source>&lt;p&gt;&lt;small&gt;%1 : %2 configuration&lt;/small&gt;&lt;/p&gt;</source>
         <translation type="unfinished">&lt;p&gt;&lt;small&gt;%1 : конфигурация %2&lt;/small&gt;&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4320"/>
+        <location filename="../main/MainWindow.cpp" line="4577"/>
         <source>With Qt v%1 &amp;copy; Nokia Corporation</source>
         <translation>С использованием Qt v%1 &amp;copy; Nokia Corporation</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4324"/>
+        <location filename="../main/MainWindow.cpp" line="4581"/>
         <source>&lt;br&gt;With JACK audio output library v%1 &amp;copy; Paul Davis and Jack O&apos;Quin</source>
         <translation>&lt;br&gt;С библиотекой JACK v%1 &amp;copy; Paul Davis и Jack O&apos;Quin</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4334"/>
+        <location filename="../main/MainWindow.cpp" line="4591"/>
         <source>&lt;br&gt;With PulseAudio audio output library v%1 &amp;copy; Lennart Poettering and Pierre Ossman</source>
         <translation>&lt;br&gt;С библиотекой PulseAudio v%1 &amp;copy; Lennart Poettering и Pierre Ossman</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4348"/>
+        <location filename="../main/MainWindow.cpp" line="4605"/>
         <source>&lt;br&gt;With MAD mp3 decoder v%1 &amp;copy; Underbit Technologies Inc</source>
         <translation>&lt;br&gt;С декодером mp3 MAD v%1 &amp;copy; Underbit Technologies Inc</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4355"/>
+        <location filename="../main/MainWindow.cpp" line="4612"/>
         <source>&lt;br&gt;With libsamplerate v%1 &amp;copy; Erik de Castro Lopo</source>
         <translation>&lt;br&gt;С libsamplerate v%1 &amp;copy; Erik de Castro Lopo</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4362"/>
+        <location filename="../main/MainWindow.cpp" line="4619"/>
         <source>&lt;br&gt;With libsndfile v%1 &amp;copy; Erik de Castro Lopo</source>
         <translation>&lt;br&gt;С libsndfile v%1 &amp;copy; Erik de Castro Lopo</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4369"/>
+        <location filename="../main/MainWindow.cpp" line="4626"/>
         <source>&lt;br&gt;With FFTW3 v%1 &amp;copy; Matteo Frigo and MIT</source>
         <translation>&lt;br&gt;С FFTW3 v%1 &amp;copy; Matteo Frigo и MIT</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4376"/>
+        <location filename="../main/MainWindow.cpp" line="4633"/>
         <source>&lt;br&gt;With Rubber Band v%1 &amp;copy; Chris Cannam</source>
         <translation>&lt;br&gt;С Rubber Band v%1 &amp;copy; Chris Cannam</translation>
     </message>
@@ -3993,260 +4617,261 @@
         <translation type="obsolete">&lt;br&gt;С движком запросов RDF  Rasqal &amp;copy; Dave Beckett и Бристольский университет</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4387"/>
+        <location filename="../main/MainWindow.cpp" line="4644"/>
         <source>&lt;br&gt;With Redland RDF datastore v%1 &amp;copy; Dave Beckett and the University of Bristol</source>
         <translation>&lt;br&gt;C хранилищем данных RDF Redland v%1 &amp;copy; Dave Beckett и Бристольский университет</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4389"/>
+        <location filename="../main/MainWindow.cpp" line="4646"/>
         <source>&lt;br&gt;With Redland RDF datastore &amp;copy; Dave Beckett and the University of Bristol</source>
         <translation>&lt;br&gt;C хранилищем данных RDF Redland &amp;copy; Dave Beckett и Бристольский университет</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4398"/>
+        <location filename="../main/MainWindow.cpp" line="4655"/>
         <source>&lt;br&gt;With liblo Lite OSC library v%1 &amp;copy; Steve Harris</source>
         <translation>&lt;br&gt;С библиотекой OSC liblo v%1 &amp;copy; Steve Harris</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4404"/>
+        <location filename="../main/MainWindow.cpp" line="4661"/>
         <source>&lt;/small&gt;&lt;p&gt;&lt;small&gt;The OSC URL for this instance is: &quot;%1&quot;</source>
         <translation>&lt;/small&gt;&lt;p&gt;&lt;small&gt;Адрес OSC для этого сеанса: &quot;%1&quot;</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4411"/>
+        <location filename="../main/MainWindow.cpp" line="4668"/>
         <source>With </source>
         <translation>С</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4411"/>
+        <location filename="../main/MainWindow.cpp" line="4668"/>
         <source>Using </source>
         <translation>Используя</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="848"/>
+        <location filename="../main/MainWindow.cpp" line="889"/>
         <source>Peek Left</source>
         <translation>Глянуть влево</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="849"/>
+        <location filename="../main/MainWindow.cpp" line="890"/>
         <source>Alt+Left</source>
         <translation>Alt+влево</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="850"/>
+        <location filename="../main/MainWindow.cpp" line="891"/>
         <source>Scroll the current pane to the left without moving the playback cursor or other panes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="856"/>
+        <location filename="../main/MainWindow.cpp" line="897"/>
         <source>Peek Right</source>
         <translation>Глянуть вправо</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="857"/>
+        <location filename="../main/MainWindow.cpp" line="898"/>
         <source>Alt+Right</source>
         <translation>Alt+вправо</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="858"/>
+        <location filename="../main/MainWindow.cpp" line="899"/>
         <source>Scroll the current pane to the right without moving the playback cursor or other panes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1000"/>
+        <location filename="../main/MainWindow.cpp" line="1043"/>
         <source>Show Acti&amp;vity Log</source>
         <translation>Показать &amp;журнал действий</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1001"/>
+        <location filename="../main/MainWindow.cpp" line="1044"/>
         <source>Open a window listing interactions and other events</source>
         <translation>Открыть окно со списком всех действий в сеансе</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2542"/>
+        <location filename="../main/MainWindow.cpp" line="2682"/>
         <source>Export multiple audio files</source>
         <translation>Экспортировать несколько звуковых файлов </translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2544"/>
+        <location filename="../main/MainWindow.cpp" line="2684"/>
         <source>Export audio to &quot;%1&quot;</source>
         <translation>Экспорт звука в &quot;%1&quot;</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2583"/>
-        <location filename="../main/MainWindow.cpp" line="2903"/>
-        <location filename="../main/MainWindow.cpp" line="2935"/>
-        <location filename="../main/MainWindow.cpp" line="2963"/>
-        <location filename="../main/MainWindow.cpp" line="3095"/>
+        <location filename="../main/MainWindow.cpp" line="2723"/>
+        <location filename="../main/MainWindow.cpp" line="3036"/>
+        <location filename="../main/MainWindow.cpp" line="3068"/>
+        <location filename="../main/MainWindow.cpp" line="3096"/>
+        <location filename="../main/MainWindow.cpp" line="3228"/>
         <source>&lt;b&gt;Audio required&lt;/b&gt;&lt;p&gt;Unable to load layer data from &quot;%1&quot; without an audio file.&lt;br&gt;Please load at least one audio file before importing annotations.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2678"/>
+        <location filename="../main/MainWindow.cpp" line="2819"/>
         <source>Export layer to &quot;%1&quot;</source>
         <translation>Экспорт слоя в &quot;%1&quot;</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3205"/>
+        <location filename="../main/MainWindow.cpp" line="3338"/>
         <source>Export image to &quot;%1&quot;</source>
         <translation>Экспорт изображения в &quot;%1&quot;</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3260"/>
+        <location filename="../main/MainWindow.cpp" line="3393"/>
         <source>Close the current session and create a new one</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3261"/>
+        <location filename="../main/MainWindow.cpp" line="3394"/>
         <source>Add this data to the current session</source>
         <translation>Добавить эти данные в активный сеанс</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3265"/>
+        <location filename="../main/MainWindow.cpp" line="3398"/>
         <source>Select target for import</source>
         <translation>Выбрать цель для импорта</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3266"/>
+        <location filename="../main/MainWindow.cpp" line="3399"/>
         <source>&lt;b&gt;Select a target for import&lt;/b&gt;&lt;p&gt;This RDF document refers to one or more audio files.&lt;br&gt;You already have an audio waveform loaded.&lt;br&gt;What would you like to do with the new data?</source>
         <translation>&lt;b&gt;Выберите цель импорта&lt;/b&gt;&lt;p&gt;Этот документ RDF ссылается на один или более звуковых файлов.&lt;br&gt;У вас уже есть один загруженный звуковой файл.&lt;br&gt;Что вы хотите сделать с новыми данными?</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="3321"/>
+        <location filename="../main/MainWindow.cpp" line="3454"/>
         <source>Save session as &quot;%1&quot;</source>
         <translation>Сохранение сеанса как &quot;%1&quot;</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4007"/>
+        <location filename="../main/MainWindow.cpp" line="4224"/>
         <source>Add Point</source>
         <translation>Добавить точку</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4286"/>
+        <location filename="../main/MainWindow.cpp" line="4543"/>
         <source>http://www.sonicvisualiser.org/doc/reference/%1/en/</source>
         <translation>http://www.sonicvisualiser.org/doc/reference/%1/en/</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4394"/>
+        <location filename="../main/MainWindow.cpp" line="4651"/>
         <source>&lt;br&gt;With RtMidi &amp;copy; Gary P. Scavone</source>
         <translation>&lt;br&gt;С RtMidi &amp;copy; Gary P. Scavone</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="498"/>
+        <location filename="../main/MainWindow.cpp" line="530"/>
         <source>Ctrl+Shift+S</source>
         <translation>Ctrl+Shift+S</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="733"/>
+        <location filename="../main/MainWindow.cpp" line="774"/>
         <source>Insert Item at Selection</source>
         <translation>Вставить объект в выделение</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="734"/>
         <source>Ctrl+Shift+Enter</source>
-        <translation>Ctrl+Shift+Enter</translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="735"/>
+        <translation type="vanished">Ctrl+Shift+Enter</translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="776"/>
         <source>Insert a new note or region item corresponding to the current selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1907"/>
+        <location filename="../main/MainWindow.cpp" line="1961"/>
         <source>Rewind to Similar Point</source>
         <translation>Назад к первой схожей точке</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1908"/>
+        <location filename="../main/MainWindow.cpp" line="1962"/>
         <source>Shift+PgUp</source>
         <translation>Shift+PgUp</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1909"/>
+        <location filename="../main/MainWindow.cpp" line="1963"/>
         <source>Rewind to the previous similarly valued time instant</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1932"/>
+        <location filename="../main/MainWindow.cpp" line="1986"/>
         <source>Fast Forward to Similar Point</source>
         <translation>Вперед к первой схожей точке</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1933"/>
+        <location filename="../main/MainWindow.cpp" line="1987"/>
         <source>Shift+PgDown</source>
         <translation>Shift+PgDown</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="1934"/>
+        <location filename="../main/MainWindow.cpp" line="1988"/>
         <source>Fast-forward to the next similarly valued time instant</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../main/MainWindow.cpp" line="2529"/>
         <source>1. %2</source>
-        <translation type="obsolete">1. %2</translation>
-    </message>
-    <message>
+        <translation type="unfinished">1. %2</translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2536"/>
         <source>%1. %2</source>
-        <translation type="obsolete">%1. %2</translation>
-    </message>
-    <message>
-        <location filename="../main/MainWindow.cpp" line="2407"/>
+        <translation type="unfinished">%1. %2</translation>
+    </message>
+    <message>
+        <location filename="../main/MainWindow.cpp" line="2549"/>
         <source>Select audio file to export</source>
         <translation>Укажите экспортируемый звуковой файл</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="2408"/>
+        <location filename="../main/MainWindow.cpp" line="2550"/>
         <source>Which audio file do you want to export from?</source>
         <translation>Какой звуковой файл вы хотите экспортировать?</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4439"/>
+        <location filename="../main/MainWindow.cpp" line="4696"/>
         <source>Newer version available</source>
         <translation>Доступна более новая версия</translation>
     </message>
     <message>
-        <location filename="../main/MainWindow.cpp" line="4440"/>
         <source>&lt;h3&gt;Newer version available&lt;/h3&gt;&lt;p&gt;You are using version %1 of Sonic Visualiser, but version %3 is now available.&lt;/p&gt;&lt;p&gt;Please see the &lt;a href=&quot;http://sonicvisualiser.org/&quot;&gt;Sonic Visualiser website&lt;/a&gt; for more information.&lt;/p&gt;</source>
-        <translation>&lt;h3&gt;Доступна более новая версия&lt;/h3&gt;&lt;p&gt;Вы используетее Sonic Visualiser версии %1, но уже доступна версия %3.&lt;/p&gt;&lt;p&gt;Загляните на &lt;a href=&quot;http://sonicvisualiser.org/&quot;&gt;сайт Sonic Visualiser&lt;/a&gt; за подробностями.&lt;/p&gt;</translation>
+        <translation type="vanished">&lt;h3&gt;Доступна более новая версия&lt;/h3&gt;&lt;p&gt;Вы используетее Sonic Visualiser версии %1, но уже доступна версия %3.&lt;/p&gt;&lt;p&gt;Загляните на &lt;a href=&quot;http://sonicvisualiser.org/&quot;&gt;сайт Sonic Visualiser&lt;/a&gt; за подробностями.&lt;/p&gt;</translation>
     </message>
 </context>
 <context>
     <name>MainWindowBase</name>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="481"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="645"/>
         <source>%1 (modified)</source>
         <translation>%1 (изменен)</translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="496"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="660"/>
         <source> (modified)</source>
         <translation> (изменен)</translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="694"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="858"/>
         <source>Cut</source>
         <translation>Вырезать</translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="765"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="929"/>
         <source>Paste</source>
         <translation>Вставить</translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="869"/>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="892"/>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="982"/>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1001"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1035"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1058"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1148"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1167"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1186"/>
         <source>Add Point</source>
         <translation>Добавить точку</translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="923"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1089"/>
         <source>Add Point at %1 s</source>
         <translation>Добавить точку по отметке %1 с</translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1042"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1227"/>
         <source>Opening file or URL...</source>
         <translation>Открывается файл или URL...</translation>
     </message>
@@ -4259,130 +4884,140 @@
         <translation type="obsolete">Загрузить этот файл в новое окно волновой формы</translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1169"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1366"/>
         <source>Select target for import</source>
         <translation>Выбрать цель для импорта</translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1170"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1367"/>
         <source>&lt;b&gt;Select a target for import&lt;/b&gt;&lt;p&gt;You already have an audio file loaded.&lt;br&gt;What would you like to do with the new audio file?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1268"/>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1687"/>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1814"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1468"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1892"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2022"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2763"/>
         <source>%1: %2</source>
         <translation>%1: %2</translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1275"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1475"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2770"/>
         <source>%1: %2 [%3]</source>
         <translation>%1: %2 [%3]</translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1290"/>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1331"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1490"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1531"/>
         <source>Import &quot;%1&quot;</source>
         <translation>Импортировать &quot;%1&quot;</translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1385"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1587"/>
         <source>Opening playlist...</source>
         <translation>Открывается список воспроизведения...</translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1590"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1792"/>
         <source>Opening session...</source>
         <translation>Открывается сеанс...</translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1672"/>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1770"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1877"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1976"/>
         <source>SV XML file read error:
 %1</source>
         <translation>Ошибка чтения XML-файла SV:
 %1</translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1782"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1988"/>
         <source>Open session template &quot;%1&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1860"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2070"/>
         <source>&lt;b&gt;Failed to import RDF&lt;/b&gt;&lt;p&gt;No suitable data models found for import from RDF document at &quot;%1&quot;&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1992"/>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1997"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2217"/>
         <source>Couldn&apos;t open audio device</source>
         <translation>Не удалось открыть звуковое устройство</translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="2079"/>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="2092"/>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="2129"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2308"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2321"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2359"/>
         <source>Failed to write file</source>
         <translation>Не удалось записать файл</translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="2080"/>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="2093"/>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="2130"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2309"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2322"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2360"/>
         <source>&lt;b&gt;Save failed&lt;/b&gt;&lt;p&gt;Failed to write to file &quot;%1&quot;: %2</source>
         <translation>&lt;b&gt;Не удалось сохранить&lt;/b&gt;&lt;p&gt;Не удалось записать файл &quot;%1&quot;: %2</translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="2678"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2783"/>
+        <source>Import Recorded Audio</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="3075"/>
         <source>Add Pane</source>
         <translation>Добавить окно</translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="2723"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="3121"/>
         <source>Remove Pane</source>
         <translation>Удалить окно</translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="2746"/>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="3127"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="3144"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="3561"/>
         <source>Delete Pane</source>
         <translation>Удалить окно</translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="2960"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="3380"/>
         <source>Playing: %1 of %2 (%3 remaining)</source>
         <translation>Воспроизводится: %1 из %2 (осталось %3)</translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1993"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="3392"/>
+        <source>Recording: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2218"/>
         <source>&lt;b&gt;No audio available&lt;/b&gt;&lt;p&gt;Could not open an audio device for playback.&lt;p&gt;Automatic audio device detection failed. Audio playback will not be available during this session.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Беззвучный режим&lt;/b&gt;&lt;p&gt;Не удалось открыть звуковое устройство для воспроизведения.&lt;p&gt;Не удалось автоматически определить звуковое устройство. На этот раз придется обойтись без воспроизведения звука.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1163"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1360"/>
         <source>Close the current session and start a new one</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1164"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1361"/>
         <source>Replace the main audio file in this session</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1165"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1362"/>
         <source>Add the audio file to this session</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1998"/>
         <source>&lt;b&gt;No audio available&lt;/b&gt;&lt;p&gt;Failed to open your preferred audio device (&quot;%1&quot;).&lt;p&gt;Audio playback will not be available during this session.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Беззвучный режим&lt;/b&gt;&lt;p&gt;Не удалось открыть предпочитаемое звуковое устройство («%1»).&lt;p&gt;На этот раз придется обойтись без воспроизведения звука.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1831"/>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1855"/>
+        <translation type="vanished">&lt;b&gt;Беззвучный режим&lt;/b&gt;&lt;p&gt;Не удалось открыть предпочитаемое звуковое устройство («%1»).&lt;p&gt;На этот раз придется обойтись без воспроизведения звука.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2041"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2065"/>
         <source>Importing from RDF...</source>
         <translation>Выполняется импорт из RDF...</translation>
     </message>
@@ -4391,43 +5026,43 @@
         <translation type="obsolete">&lt;b&gt;Выберите цель импорта&lt;/b&gt;&lt;p&gt;У вас уже есть один загруженный звуковой файл.&lt;br&gt;Что вы хотите сделать с новыми звуковыми данными?</translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1249"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1449"/>
         <source>Import audio file &quot;%1&quot;</source>
         <translation>Импорт звукового файла &quot;%1&quot;</translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1471"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1673"/>
         <source>Import layer XML file &quot;%1&quot;</source>
         <translation>Импорт XML-файла слоя &quot;%1&quot;</translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1505"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1707"/>
         <source>Import MIDI file &quot;%1&quot;</source>
         <translation>Импорт файла MIDI &quot;%1&quot;</translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1685"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1890"/>
         <source>Import session file &quot;%1&quot;</source>
         <translation>Импорт файла сеанса &quot;%1&quot;</translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1846"/>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1859"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2056"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2069"/>
         <source>Failed to import RDF</source>
         <translation>Не удалось импортировать RDF</translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1847"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2057"/>
         <source>&lt;b&gt;Failed to import RDF&lt;/b&gt;&lt;p&gt;Importing data from RDF document at &quot;%1&quot; failed: %2&lt;/p&gt;</source>
         <translation>&lt;b&gt;Не удалось импортировать RDF&lt;/b&gt;&lt;p&gt;Не удалось импортировать данные из документа RDF &quot;%1&quot;: %2&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="1864"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="2074"/>
         <source>Import RDF document &quot;%1&quot;</source>
         <translation>Импорт документа RDF &quot;%1&quot;</translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/MainWindowBase.cpp" line="966"/>
+        <location filename="../svapp/framework/MainWindowBase.cpp" line="1132"/>
         <source>Add Item at %1 s</source>
         <translation>Добавить объект в позицию %1с</translation>
     </message>
@@ -4449,77 +5084,77 @@
 <context>
     <name>ModelDataTableDialog</name>
     <message>
-        <location filename="../../svgui/widgets/ModelDataTableDialog.cpp" line="45"/>
+        <location filename="../svgui/widgets/ModelDataTableDialog.cpp" line="45"/>
         <source>Data Editor</source>
         <translation>Редактор данных</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ModelDataTableDialog.cpp" line="49"/>
+        <location filename="../svgui/widgets/ModelDataTableDialog.cpp" line="49"/>
         <source>Playback Toolbar</source>
         <translation>Панель воспроизведения</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ModelDataTableDialog.cpp" line="51"/>
+        <location filename="../svgui/widgets/ModelDataTableDialog.cpp" line="51"/>
         <source>Play Mode Toolbar</source>
         <translation>Панель режима воспроизведения</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ModelDataTableDialog.cpp" line="55"/>
+        <location filename="../svgui/widgets/ModelDataTableDialog.cpp" line="55"/>
         <source>Track Playback</source>
         <translation>Переключить воспроизведение</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ModelDataTableDialog.cpp" line="56"/>
+        <location filename="../svgui/widgets/ModelDataTableDialog.cpp" line="56"/>
         <source>Toggle tracking of playback position</source>
         <translation>Переключить отслеживание позиции воспроизведения</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ModelDataTableDialog.cpp" line="62"/>
+        <location filename="../svgui/widgets/ModelDataTableDialog.cpp" line="62"/>
         <source>Edit Toolbar</source>
         <translation>Панель правки</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ModelDataTableDialog.cpp" line="64"/>
+        <location filename="../svgui/widgets/ModelDataTableDialog.cpp" line="64"/>
         <source>Insert New Item</source>
         <translation>Вставить новый объект</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ModelDataTableDialog.cpp" line="65"/>
+        <location filename="../svgui/widgets/ModelDataTableDialog.cpp" line="65"/>
         <source>Insert</source>
         <translation>Вставить</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ModelDataTableDialog.cpp" line="66"/>
+        <location filename="../svgui/widgets/ModelDataTableDialog.cpp" line="66"/>
         <source>Insert a new item</source>
         <translation>Вставить новый объект</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ModelDataTableDialog.cpp" line="70"/>
+        <location filename="../svgui/widgets/ModelDataTableDialog.cpp" line="70"/>
         <source>Delete Selected Items</source>
         <translation>Удалить выбранные объекты</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ModelDataTableDialog.cpp" line="71"/>
+        <location filename="../svgui/widgets/ModelDataTableDialog.cpp" line="71"/>
         <source>Delete</source>
         <translation>Удалить</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ModelDataTableDialog.cpp" line="72"/>
+        <location filename="../svgui/widgets/ModelDataTableDialog.cpp" line="72"/>
         <source>Delete the selected item or items</source>
         <translation>Удалить выбранные объекты</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ModelDataTableDialog.cpp" line="96"/>
+        <location filename="../svgui/widgets/ModelDataTableDialog.cpp" line="96"/>
         <source>Data in Layer</source>
         <translation>Данные в слое</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ModelDataTableDialog.cpp" line="107"/>
+        <location filename="../svgui/widgets/ModelDataTableDialog.cpp" line="107"/>
         <source>Find:</source>
         <translation>Искать:</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/ModelDataTableDialog.cpp" line="108"/>
+        <location filename="../svgui/widgets/ModelDataTableDialog.cpp" line="108"/>
         <source> </source>
         <translation> </translation>
     </message>
@@ -4527,22 +5162,22 @@
 <context>
     <name>ModelMetadataModel</name>
     <message>
-        <location filename="../../svgui/widgets/LayerTree.cpp" line="227"/>
+        <location filename="../svgui/widgets/LayerTree.cpp" line="227"/>
         <source>Type</source>
         <translation>Тип</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/LayerTree.cpp" line="228"/>
+        <location filename="../svgui/widgets/LayerTree.cpp" line="228"/>
         <source>Name</source>
         <translation>Название</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/LayerTree.cpp" line="229"/>
+        <location filename="../svgui/widgets/LayerTree.cpp" line="229"/>
         <source>Maker</source>
         <translation>Создатель</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/LayerTree.cpp" line="230"/>
+        <location filename="../svgui/widgets/LayerTree.cpp" line="230"/>
         <source>Source</source>
         <translation>Источник</translation>
     </message>
@@ -4550,48 +5185,66 @@
 <context>
     <name>ModelTransformerFactory</name>
     <message>
-        <location filename="../../svcore/transform/ModelTransformerFactory.cpp" line="76"/>
+        <location filename="../svcore/transform/ModelTransformerFactory.cpp" line="78"/>
         <source>%1 &lt;%2&gt;</source>
         <translation>%1 &lt;%2&gt;</translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/ModelTransformerFactory.cpp" line="217"/>
+        <location filename="../svcore/transform/ModelTransformerFactory.cpp" line="239"/>
         <source>%1: %2</source>
         <translation>%1: %2</translation>
     </message>
 </context>
 <context>
+    <name>NetworkPermissionTester</name>
+    <message>
+        <location filename="../main/NetworkPermissionTester.cpp" line="44"/>
+        <source>Welcome to Sonic Visualiser</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/NetworkPermissionTester.cpp" line="53"/>
+        <source>&lt;h2&gt;Welcome to Sonic Visualiser!&lt;/h2&gt;&lt;p&gt;&lt;img src=&quot;:icons/qm-logo-smaller.png&quot; style=&quot;float:right&quot;&gt;Sonic Visualiser is a program for viewing and exploring audio data for semantic music analysis and annotation.&lt;/p&gt;&lt;p&gt;Developed in the Centre for Digital Music at Queen Mary, University of London, Sonic Visualiser is provided free as open source software under the GNU General Public License.&lt;/p&gt;&lt;p&gt;&lt;hr&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Before we go on...&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Sonic Visualiser would like to make networking connections and open a network port.&lt;/p&gt;&lt;p&gt;This is to:&lt;/p&gt;&lt;ul&gt;&lt;li&gt; Find information about available and installed plugins;&lt;/li&gt;&lt;li&gt; Support the use of Open Sound Control, where configured; and&lt;/li&gt;&lt;li&gt; Tell you when updates are available.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;No personal information will be sent, no tracking is carried out, and all requests happen in the background without interrupting your work.&lt;/p&gt;&lt;p&gt;We recommend that you allow this, because it makes Sonic Visualiser more useful. But if you do not wish to do so, please un-check the box below.&lt;br&gt;&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/NetworkPermissionTester.cpp" line="69"/>
+        <source>Allow this</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>NoteLayer</name>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="45"/>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="46"/>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="807"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="56"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="57"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="897"/>
         <source>New Point</source>
         <translation>Новая точка</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="83"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="94"/>
         <source>Vertical Scale</source>
         <translation>Верт. масштаб</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="142"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="160"/>
         <source>Auto-Align</source>
         <translation>Автовыравнивание</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="447"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="473"/>
         <source>In progress</source>
         <translation>В процессе</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="449"/>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="472"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="475"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="498"/>
         <source>No local points</source>
         <translation>Нет локальных точек</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="506"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="532"/>
         <source>Time:	%1
 Pitch:	%2
 Duration:	%3
@@ -4602,7 +5255,7 @@
 Без метки</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="511"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="537"/>
         <source>Time:	%1
 Pitch:	%2
 Duration:	%3
@@ -4613,108 +5266,108 @@
 Метка:	%4</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="812"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="902"/>
         <source>Draw Point</source>
         <translation>Нарисовать точку</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="940"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="1030"/>
         <source>Drag Point</source>
         <translation>Перетащить точку</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="961"/>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="1009"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="1051"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="1099"/>
         <source>Edit Point</source>
         <translation>Изменить точку</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="963"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="1053"/>
         <source>Relocate Point</source>
         <translation>Переместить точку</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="966"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="1056"/>
         <source>Change Point Value</source>
         <translation>Изменить значение точки</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="1025"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="1115"/>
         <source>Drag Selection</source>
         <translation>Перетащить выделение</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="1050"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="1140"/>
         <source>Resize Selection</source>
         <translation>Изменить размер выделения</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="1089"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="1179"/>
         <source>Delete Selected Points</source>
         <translation>Удалить выбранные точки</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="1150"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="1240"/>
         <source>Paste</source>
         <translation>Вставить</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="84"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="95"/>
         <source>Scale Units</source>
         <translation type="unfinished">Единицы шкалы</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="100"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="111"/>
         <source>Scale</source>
         <translation>Масштаб</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="143"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="161"/>
         <source>Linear</source>
         <translation>Линейный</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="144"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="162"/>
         <source>Log</source>
         <translation>Логарифмический</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="145"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="163"/>
         <source>MIDI Notes</source>
         <translation>Ноты MIDI</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="499"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="525"/>
         <source>%1 %2</source>
         <translation>%1 %2</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="888"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="978"/>
         <source>Erase Point</source>
         <translation>Стереть точку</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="1135"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="1225"/>
         <source>Re-align pasted items?</source>
         <translation>Заново выровнять вставленные объекты?</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="1136"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="1226"/>
         <source>The items you are pasting came from a layer with different source material from this one.  Do you want to re-align them in time, to match the source material for this layer?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="1221"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="1311"/>
         <source>Record Note</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="486"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="512"/>
         <source>%1 (%2, %3 Hz)</source>
         <translation>%1 (%2, %3 Гц)</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/NoteLayer.cpp" line="493"/>
+        <location filename="../svgui/layer/NoteLayer.cpp" line="519"/>
         <source>%1 Hz (%2, %3)</source>
         <translation>%1Гц (%2, %3)</translation>
     </message>
@@ -4722,47 +5375,47 @@
 <context>
     <name>NoteModel</name>
     <message>
-        <location filename="../../svcore/data/model/NoteModel.h" line="126"/>
+        <location filename="../svcore/data/model/NoteModel.h" line="129"/>
         <source>Note</source>
         <translation>Нота</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/NoteModel.h" line="166"/>
+        <location filename="../svcore/data/model/NoteModel.h" line="164"/>
         <source>Time</source>
         <translation>Время</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/NoteModel.h" line="167"/>
+        <location filename="../svcore/data/model/NoteModel.h" line="165"/>
         <source>Frame</source>
         <translation>Выборка</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/NoteModel.h" line="168"/>
+        <location filename="../svcore/data/model/NoteModel.h" line="166"/>
         <source>Pitch</source>
         <translation>Высота тона</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/NoteModel.h" line="169"/>
+        <location filename="../svcore/data/model/NoteModel.h" line="167"/>
         <source>Duration</source>
         <translation>Длительность</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/NoteModel.h" line="170"/>
+        <location filename="../svcore/data/model/NoteModel.h" line="168"/>
         <source>Level</source>
         <translation>Уровень</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/NoteModel.h" line="171"/>
+        <location filename="../svcore/data/model/NoteModel.h" line="169"/>
         <source>Label</source>
         <translation>Метка</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/NoteModel.h" line="172"/>
+        <location filename="../svcore/data/model/NoteModel.h" line="170"/>
         <source>Unknown</source>
         <translation>Неизвестно</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/NoteModel.h" line="202"/>
+        <location filename="../svcore/data/model/NoteModel.h" line="200"/>
         <source>Edit Data</source>
         <translation>Изменить данные</translation>
     </message>
@@ -4770,7 +5423,7 @@
 <context>
     <name>OggVorbisFileReader</name>
     <message>
-        <location filename="../../svcore/data/fileio/OggVorbisFileReader.cpp" line="76"/>
+        <location filename="../svcore/data/fileio/OggVorbisFileReader.cpp" line="77"/>
         <source>Decoding %1...</source>
         <translation>Декодируется %1...</translation>
     </message>
@@ -4778,12 +5431,12 @@
 <context>
     <name>Overview</name>
     <message>
-        <location filename="../../svgui/view/Overview.cpp" line="32"/>
+        <location filename="../svgui/view/Overview.cpp" line="33"/>
         <source>Overview</source>
         <translation>Обзор</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Overview.cpp" line="278"/>
+        <location filename="../svgui/view/Overview.cpp" line="362"/>
         <source>Click and drag to navigate; double-click to jump</source>
         <translation>Щёлкните и потащите для перемещения по окну; щёлкните дважды для скачка</translation>
     </message>
@@ -4791,465 +5444,376 @@
 <context>
     <name>Pane</name>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="657"/>
+        <location filename="../svgui/view/Pane.cpp" line="675"/>
         <source>Some lengthy prefix:</source>
         <translation>Некий длинный префикс:</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1015"/>
+        <location filename="../svgui/view/Pane.cpp" line="1064"/>
         <source>(R)</source>
         <translation>(R)</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1018"/>
+        <location filename="../svgui/view/Pane.cpp" line="1067"/>
         <source>(X)</source>
         <translation>(X)</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1022"/>
+        <location filename="../svgui/view/Pane.cpp" line="1071"/>
         <source>%1 / %2Hz%3</source>
         <translation>%1 / %2 Гц%3</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2354"/>
+        <location filename="../svgui/view/Pane.cpp" line="2631"/>
         <source>Drag Selection</source>
         <translation>Перетащить выделение</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2361"/>
+        <location filename="../svgui/view/Pane.cpp" line="2638"/>
         <source>Resize Selection</source>
         <translation>Изменить выделение</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="128"/>
+        <location filename="../svgui/view/Pane.cpp" line="141"/>
         <source>Horizontal Zoom</source>
         <translation>Горизонтальное масштабирование</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="154"/>
+        <location filename="../svgui/view/Pane.cpp" line="167"/>
         <source>Vertical Zoom</source>
         <translation>Вертикальное масштабирование</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2234"/>
+        <location filename="../svgui/view/Pane.cpp" line="2508"/>
         <source>Enter new range</source>
         <translation>Введите новый диапазон</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2235"/>
+        <location filename="../svgui/view/Pane.cpp" line="2509"/>
         <source>New vertical display range, from %1 to %2 %4:</source>
         <translation>Новый диапазон отображения по вертикали, от %1 до %2 %4:</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2520"/>
+        <location filename="../svgui/view/Pane.cpp" line="2802"/>
         <source>Click and drag to navigate</source>
         <translation>Щёлкните и потащите для перемещения по окну</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2537"/>
+        <location filename="../svgui/view/Pane.cpp" line="2819"/>
         <source>Click and drag to select a range; hold Shift to avoid snapping to items; hold Ctrl for multi-select; middle-click and drag to navigate</source>
         <translation>Щёлкните и потащите для выделения области; + Shift — для отключения прилипания к объектам; + Ctrl — для выделения нескольких объектов, + средняя клавиша мыши — для перемещения по окну</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2531"/>
+        <location filename="../svgui/view/Pane.cpp" line="2813"/>
         <source>Click and drag to select a range; hold Shift to avoid snapping to items; hold Cmd for multi-select; middle-click and drag to navigate</source>
         <translation type="unfinished">Щёлкните и потащите для выделения области; + Shift — для отключения прилипания к объектам; + Cmd — для выделения нескольких объектов, + средняя клавиша мыши — для перемещения по окну</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2539"/>
+        <location filename="../svgui/view/Pane.cpp" line="2821"/>
         <source>Click and drag to select a range; hold Ctrl for multi-select; middle-click and drag to navigate</source>
         <translation>Щёлкните и потащите для выделения диапазона; + Ctrl — для выделения нескольких объектов, + средняя клавиша мыши — для перемещения по окну</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2533"/>
+        <location filename="../svgui/view/Pane.cpp" line="2815"/>
         <source>Click and drag to select a range; hold Cmd for multi-select; middle-click and drag to navigate</source>
         <translation type="unfinished">Щёлкните и потащите для выделения диапазона; + Cmd — для выделения нескольких объектов, + средняя клавиша мыши — для перемещения по окну</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2548"/>
+        <location filename="../svgui/view/Pane.cpp" line="2830"/>
         <source>Click and drag to move the selection boundary</source>
         <translation>Щёлкните и потащите для перемещения границ выделения</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2553"/>
+        <location filename="../svgui/view/Pane.cpp" line="2835"/>
         <source>Click and drag to select a range; hold Shift to avoid snapping to items; middle-click to navigate</source>
         <translation>Щёлкните и потащите для выделения области; + Shift — для отключения прилипания к объектам; + средняя клавиша мыши — для перемещения по окну</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2555"/>
+        <location filename="../svgui/view/Pane.cpp" line="2837"/>
         <source>Click and drag to select a range; middle-click and drag to navigate</source>
         <translation>Щёлкните и потащите для выделения области; + средняя клавиша мыши — для перемещения по окну</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2563"/>
+        <location filename="../svgui/view/Pane.cpp" line="2845"/>
         <source>Click to add a new item in the active layer</source>
         <translation>Щёлкните для добавления нового объекта на активный слой</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2582"/>
+        <location filename="../svgui/view/Pane.cpp" line="2864"/>
         <source>Click and drag to move all items in the selected range</source>
         <translation>Щёлкните и потащите все объекты в выделенной области</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2598"/>
+        <location filename="../svgui/view/Pane.cpp" line="2880"/>
         <source>Click and drag to adjust the visible range of the vertical scale</source>
         <translation>Щёлкните и потащите для смены видимого диапазона масштабирования по вертикали</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2600"/>
+        <location filename="../svgui/view/Pane.cpp" line="2882"/>
         <source>Click and drag to adjust the vertical zoom level</source>
         <translation>Щёлкните и потащите для смены уровня масштабирования по вертикали</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2602"/>
+        <location filename="../svgui/view/Pane.cpp" line="2884"/>
         <source>Click and drag to adjust the horizontal zoom level</source>
         <translation>Щёлкните и потащите для смены уровня масштабирования по горизонтали</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2604"/>
+        <location filename="../svgui/view/Pane.cpp" line="2886"/>
         <source>Reset horizontal and vertical zoom levels to their defaults</source>
         <translation>Сбросить уровни масштабирования по горизонтали и вертикали до исходных значений</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="787"/>
+        <location filename="../svgui/view/Pane.cpp" line="836"/>
         <source>Reference</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="789"/>
-        <location filename="../../svgui/view/Pane.cpp" line="793"/>
+        <location filename="../svgui/view/Pane.cpp" line="838"/>
+        <location filename="../svgui/view/Pane.cpp" line="842"/>
         <source>Unaligned</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="795"/>
+        <location filename="../svgui/view/Pane.cpp" line="844"/>
         <source>Aligning: %1%</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="797"/>
+        <location filename="../svgui/view/Pane.cpp" line="846"/>
         <source>Aligned</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="839"/>
+        <location filename="../svgui/view/Pane.cpp" line="888"/>
         <source>%1 - %2</source>
         <translation>%1 - %2</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="949"/>
-        <location filename="../../svgui/view/Pane.cpp" line="965"/>
+        <location filename="../svgui/view/Pane.cpp" line="998"/>
+        <location filename="../svgui/view/Pane.cpp" line="1014"/>
         <source>+%1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1209"/>
-        <location filename="../../svgui/view/Pane.cpp" line="1215"/>
+        <location filename="../svgui/view/Pane.cpp" line="1255"/>
+        <location filename="../svgui/view/Pane.cpp" line="1261"/>
         <source>Zoom</source>
         <translation>Масштабирование отображения</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1210"/>
+        <location filename="../svgui/view/Pane.cpp" line="1256"/>
         <source>Zoom In</source>
         <translation>Приблизить</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1210"/>
+        <location filename="../svgui/view/Pane.cpp" line="1256"/>
         <source>Wheel Up</source>
         <translation>Колесом вверх</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1211"/>
+        <location filename="../svgui/view/Pane.cpp" line="1257"/>
         <source>Zoom Out</source>
         <translation>Отдалить</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1211"/>
+        <location filename="../svgui/view/Pane.cpp" line="1257"/>
         <source>Wheel Down</source>
         <translation>Колесом вниз</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1213"/>
+        <location filename="../svgui/view/Pane.cpp" line="1259"/>
         <source>General Pane Mouse Actions</source>
         <translation>Использование мыши в окнах</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1215"/>
+        <location filename="../svgui/view/Pane.cpp" line="1261"/>
         <source>Wheel</source>
         <translation>Колесо</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1216"/>
+        <location filename="../svgui/view/Pane.cpp" line="1262"/>
         <source>Zoom in or out in time axis</source>
         <translation>Приближение и отдаление по временной шкале</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1217"/>
+        <location filename="../svgui/view/Pane.cpp" line="1263"/>
         <source>Ctrl+Wheel</source>
         <translation>Ctrl+прокрутка</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1217"/>
+        <location filename="../svgui/view/Pane.cpp" line="1263"/>
         <source>Scroll</source>
         <translation>Прокручивать окно сеанса</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1218"/>
+        <location filename="../svgui/view/Pane.cpp" line="1264"/>
         <source>Scroll rapidly left or right in time axis</source>
         <translation>Быстро перемещаться вправо и влево по временной шкале</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1219"/>
+        <location filename="../svgui/view/Pane.cpp" line="1265"/>
         <source>Zoom Vertically</source>
         <translation>Вертикальный масштаб</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1219"/>
+        <location filename="../svgui/view/Pane.cpp" line="1265"/>
         <source>Shift+Wheel</source>
         <translation>Shift+прокрутка</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1220"/>
+        <location filename="../svgui/view/Pane.cpp" line="1266"/>
         <source>Zoom in or out in the vertical axis</source>
         <translation>Масштабировать отображение по вертикальной оси</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1221"/>
+        <location filename="../svgui/view/Pane.cpp" line="1267"/>
         <source>Scroll Vertically</source>
         <translation>Прокрутка по вертикали</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1221"/>
+        <location filename="../svgui/view/Pane.cpp" line="1267"/>
         <source>Alt+Wheel</source>
         <translation>Alt+Колесо</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1222"/>
+        <location filename="../svgui/view/Pane.cpp" line="1268"/>
         <source>Scroll up or down in the vertical axis</source>
         <translation>Прокручивать отображение по вертикальной оси</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1223"/>
-        <location filename="../../svgui/view/Pane.cpp" line="1232"/>
+        <location filename="../svgui/view/Pane.cpp" line="1269"/>
         <source>Navigate</source>
         <translation>Перемещение</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1223"/>
+        <location filename="../svgui/view/Pane.cpp" line="1269"/>
         <source>Middle</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1224"/>
+        <location filename="../svgui/view/Pane.cpp" line="1270"/>
         <source>Click middle button and drag to navigate with any tool</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1225"/>
-        <location filename="../../svgui/view/Pane.cpp" line="1236"/>
+        <location filename="../svgui/view/Pane.cpp" line="1271"/>
         <source>Relocate</source>
         <translation>Перемещение скачком</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1225"/>
+        <location filename="../svgui/view/Pane.cpp" line="1271"/>
         <source>Double-Click Middle</source>
         <translation>Двойной щелчок средней клавишей</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1226"/>
+        <location filename="../svgui/view/Pane.cpp" line="1272"/>
         <source>Double-click middle button to relocate with any tool</source>
         <translation>Перескочить вправо или влево в зависимости от положения курсора</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1227"/>
+        <location filename="../svgui/view/Pane.cpp" line="1273"/>
         <source>Menu</source>
         <translation>Меню</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1227"/>
+        <location filename="../svgui/view/Pane.cpp" line="1273"/>
         <source>Right</source>
         <translation>Правая клавиша</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1228"/>
+        <location filename="../svgui/view/Pane.cpp" line="1274"/>
         <source>Show pane context menu</source>
         <translation>Показать контекстное меню окна</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1230"/>
         <source>Navigate Tool Mouse Actions</source>
-        <translation>Использование мыши с инструментом навигации</translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1232"/>
-        <location filename="../../svgui/view/Pane.cpp" line="1242"/>
-        <location filename="../../svgui/view/Pane.cpp" line="1254"/>
-        <location filename="../../svgui/view/Pane.cpp" line="1260"/>
-        <location filename="../../svgui/view/Pane.cpp" line="1264"/>
+        <translation type="vanished">Использование мыши с инструментом навигации</translation>
+    </message>
+    <message>
         <source>Left</source>
-        <translation>Левая клавиша</translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1233"/>
-        <source>Click left button and drag to move around</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1234"/>
-        <location filename="../../svgui/view/Pane.cpp" line="1268"/>
+        <translation type="vanished">Левая клавиша</translation>
+    </message>
+    <message>
         <source>Zoom to Area</source>
-        <translation>Масштабировать в выделение</translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1234"/>
-        <location filename="../../svgui/view/Pane.cpp" line="1250"/>
-        <location filename="../../svgui/view/Pane.cpp" line="1268"/>
+        <translation type="vanished">Масштабировать в выделение</translation>
+    </message>
+    <message>
         <source>Shift+Left</source>
-        <translation>Shift+Left</translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1235"/>
-        <location filename="../../svgui/view/Pane.cpp" line="1269"/>
-        <source>Shift-click left button and drag to zoom to a rectangular area</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1236"/>
-        <location filename="../../svgui/view/Pane.cpp" line="1238"/>
-        <location filename="../../svgui/view/Pane.cpp" line="1256"/>
-        <location filename="../../svgui/view/Pane.cpp" line="1266"/>
+        <translation type="vanished">Shift+Left</translation>
+    </message>
+    <message>
         <source>Double-Click Left</source>
-        <translation>Двойной щелчок левой клавишей</translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1237"/>
-        <source>Double-click left button to jump to clicked location</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1238"/>
-        <location filename="../../svgui/view/Pane.cpp" line="1256"/>
+        <translation type="vanished">Двойной щелчок левой клавишей</translation>
+    </message>
+    <message>
         <source>Edit</source>
-        <translation>Изменить</translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1239"/>
-        <location filename="../../svgui/view/Pane.cpp" line="1257"/>
-        <source>Double-click left button on an item to edit it</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1241"/>
+        <translation type="vanished">Изменить</translation>
+    </message>
+    <message>
         <source>Select Tool Mouse Actions</source>
-        <translation>Использование мыши с инструментом выделения</translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1242"/>
+        <translation type="vanished">Использование мыши с инструментом выделения</translation>
+    </message>
+    <message>
         <source>Select</source>
-        <translation>Выделить</translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1243"/>
-        <source>Click left button and drag to select region; drag region edge to resize</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1244"/>
+        <translation type="vanished">Выделить</translation>
+    </message>
+    <message>
         <source>Multi Select</source>
-        <translation>Множественное выделение</translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1244"/>
+        <translation type="vanished">Множественное выделение</translation>
+    </message>
+    <message>
         <source>Ctrl+Left</source>
-        <translation>Ctrl+Влево</translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1246"/>
-        <source>Cmd-click left button and drag to select an additional region</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1248"/>
-        <source>Ctrl-click left button and drag to select an additional region</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1250"/>
+        <translation type="vanished">Ctrl+Влево</translation>
+    </message>
+    <message>
         <source>Fine Select</source>
-        <translation>Выделить точно</translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1251"/>
-        <source>Shift-click left button and drag to select without snapping to items or grid</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1253"/>
+        <translation type="vanished">Выделить точно</translation>
+    </message>
+    <message>
         <source>Edit Tool Mouse Actions</source>
-        <translation>Использование мыши с инструментом редактирования</translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1254"/>
+        <translation type="vanished">Использование мыши с инструментом редактирования</translation>
+    </message>
+    <message>
         <source>Move</source>
-        <translation>Переместить</translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1255"/>
-        <source>Click left button on an item or selected region and drag to move</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1259"/>
+        <translation type="vanished">Переместить</translation>
+    </message>
+    <message>
         <source>Draw Tool Mouse Actions</source>
-        <translation>Использование мыши с инструментом рисования</translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1260"/>
+        <translation type="vanished">Использование мыши с инструментом рисования</translation>
+    </message>
+    <message>
         <source>Draw</source>
-        <translation>Рисовать</translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1261"/>
+        <translation type="vanished">Рисовать</translation>
+    </message>
+    <message>
         <source>Click left button and drag to create new item</source>
-        <translation>Щелкните левой клавишей мыши и перетащите курсор для создания нового объекта</translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1263"/>
+        <translation type="vanished">Щелкните левой клавишей мыши и перетащите курсор для создания нового объекта</translation>
+    </message>
+    <message>
         <source>Measure Tool Mouse Actions</source>
-        <translation>Использование мыши с инструментом измерения</translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1264"/>
+        <translation type="vanished">Использование мыши с инструментом измерения</translation>
+    </message>
+    <message>
         <source>Measure Area</source>
-        <translation>Измерить область</translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1265"/>
-        <source>Click left button and drag to measure a rectangular area</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1266"/>
+        <translation type="vanished">Измерить область</translation>
+    </message>
+    <message>
         <source>Measure Item</source>
-        <translation>Измерить объект</translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="1267"/>
-        <source>Click left button and drag to measure extents of an item or shape</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2570"/>
+        <translation type="vanished">Измерить объект</translation>
+    </message>
+    <message>
+        <location filename="../svgui/view/Pane.cpp" line="2852"/>
         <source>Click to erase an item from the active layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="175"/>
+        <location filename="../svgui/view/Pane.cpp" line="188"/>
         <source>Reset zoom to default</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/Pane.cpp" line="2577"/>
+        <location filename="../svgui/view/Pane.cpp" line="2859"/>
         <source>Click and drag an item in the active layer to move it; hold Shift to override initial resistance</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5257,34 +5821,37 @@
 <context>
     <name>PlayParameterRepository</name>
     <message>
-        <location filename="../../svcore/base/PlayParameterRepository.cpp" line="206"/>
+        <location filename="../svcore/base/PlayParameterRepository.cpp" line="182"/>
         <source>Adjust Playback Parameters</source>
         <translation type="unfinished">Коррекция параметров воспроизведения</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/PlayParameterRepository.cpp" line="211"/>
+        <location filename="../svcore/base/PlayParameterRepository.cpp" line="187"/>
         <source>Change Playback Mute State</source>
         <translation type="unfinished">Смена состояния приглушенности воспроизведения</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/PlayParameterRepository.cpp" line="216"/>
+        <location filename="../svcore/base/PlayParameterRepository.cpp" line="192"/>
         <source>Change Playback Gain</source>
         <translation type="unfinished">Смена громкости воспроизведения</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/PlayParameterRepository.cpp" line="221"/>
+        <location filename="../svcore/base/PlayParameterRepository.cpp" line="197"/>
         <source>Change Playback Pan</source>
         <translation type="unfinished">Смена панорамы при воспроизведении</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/PlayParameterRepository.cpp" line="226"/>
+        <location filename="../svcore/base/PlayParameterRepository.cpp" line="202"/>
+        <source>Change Playback Sample</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source>Change Playback Plugin</source>
-        <translation type="unfinished">Смена расширения воспроизведения</translation>
-    </message>
-    <message>
-        <location filename="../../svcore/base/PlayParameterRepository.cpp" line="231"/>
+        <translation type="obsolete">Смена расширения воспроизведения</translation>
+    </message>
+    <message>
         <source>Configure Playback Plugin</source>
-        <translation type="unfinished">Смена параметров расширения воспроизведения</translation>
+        <translation type="obsolete">Смена параметров расширения воспроизведения</translation>
     </message>
 </context>
 <context>
@@ -5317,12 +5884,12 @@
 <context>
     <name>PluginParameterBox</name>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterBox.cpp" line="61"/>
+        <location filename="../svgui/widgets/PluginParameterBox.cpp" line="61"/>
         <source>This plugin has no adjustable parameters.</source>
         <translation>У этого расширения нет изменяемых параметров.</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterBox.cpp" line="82"/>
+        <location filename="../svgui/widgets/PluginParameterBox.cpp" line="82"/>
         <source>Program</source>
         <translation>Программа</translation>
     </message>
@@ -5330,58 +5897,58 @@
 <context>
     <name>PluginParameterDialog</name>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="102"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="104"/>
         <source>Name:</source>
         <translation>Название:</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="138"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="140"/>
         <source>Maker:</source>
         <translation>Автор:</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="144"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="146"/>
         <source>Copyright:  </source>
         <translation>Авторские права:  </translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="125"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="127"/>
         <source>Version:</source>
         <translation>Версия:</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="54"/>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="191"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="56"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="193"/>
         <source>Plugin Parameters</source>
         <translation>Параметры расширения</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="322"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="324"/>
         <source>Channel mismatch</source>
         <translation>Несовпадение каналов</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="323"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="325"/>
         <source>This plugin requires at least %1 input channels, but only %2 %3 available.  The plugin probably will not work correctly.</source>
         <translation>Этому расширению нужно хотя бы %1 вхдных каналовs, но лишь %2 %3 доступны.  Вероятно, расширение не сработает как должно.</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="323"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="325"/>
         <source>are</source>
         <translation>являются</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="323"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="325"/>
         <source>is</source>
         <translation>является</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="217"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="219"/>
         <source>Channels</source>
         <translation>Каналы</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="340"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="342"/>
         <source>This plugin accepts no more than %1 input channels,
 but %2 are available.  Only the first %3 will be used.
 </source>
@@ -5390,70 +5957,70 @@
 </translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="347"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="349"/>
         <source>This plugin only has a single channel input,
 but the source has %1 channels.</source>
         <translation>Это расширение может обрабатывать только один канал,
 но у источника %1 каналов.</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="350"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="352"/>
         <source>Use mean of source channels</source>
         <translation>Использовать среднее значение каналов источника</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="352"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="354"/>
         <source>Use channel %1 only</source>
         <translation>Использовать только канал %1</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="156"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="158"/>
         <source>Output:</source>
         <translation>Выход:</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="223"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="225"/>
         <source>Processing</source>
         <translation>Обработка</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="404"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="406"/>
         <source>Window size:</source>
         <translation>Размер оконной функции:</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="406"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="408"/>
         <source>Audio frames per block:</source>
         <translation>Выборок звука на блок:</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="431"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="433"/>
         <source>Window increment:</source>
         <translation>Шаг:</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="455"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="457"/>
         <source>Window shape:</source>
         <translation>Форма:</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="233"/>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="604"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="235"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="606"/>
         <source>Advanced &gt;&gt;</source>
         <translation>Больше &gt;&gt;</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="599"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="601"/>
         <source>Advanced &lt;&lt;</source>
         <translation>Меньше &lt;&lt;</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="175"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="177"/>
         <source>Input Material</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PluginParameterDialog.cpp" line="184"/>
+        <location filename="../svgui/widgets/PluginParameterDialog.cpp" line="186"/>
         <source>Restrict to selection extents</source>
         <translation>Только выделение</translation>
     </message>
@@ -5461,214 +6028,258 @@
 <context>
     <name>Preferences</name>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="112"/>
+        <location filename="../svcore/base/Preferences.cpp" line="124"/>
         <source>Frequency of concert A</source>
         <translation>Частота условной ноты Ля (A)</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="115"/>
+        <location filename="../svcore/base/Preferences.cpp" line="127"/>
         <source>Property box layout</source>
         <translation>Внешний вид панели свойств</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="118"/>
+        <location filename="../svcore/base/Preferences.cpp" line="130"/>
         <source>Spectral analysis window shape</source>
         <translation>Форма оконной функции при спектральном анализе</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="270"/>
+        <location filename="../svcore/base/Preferences.cpp" line="136"/>
+        <source>Normalise audio signal when reading from audio file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/base/Preferences.cpp" line="145"/>
+        <source>Single fixed sample rate to resample all files to</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/base/Preferences.cpp" line="154"/>
+        <source>Time display precision</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/base/Preferences.cpp" line="157"/>
+        <source>Use hours:minutes:seconds format</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/base/Preferences.cpp" line="160"/>
+        <source>Label middle C as</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/base/Preferences.cpp" line="323"/>
         <source>Show boxes for all panes</source>
         <translation>Показывать панели для всех окон</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="271"/>
+        <location filename="../svcore/base/Preferences.cpp" line="324"/>
         <source>Show box for current pane only</source>
         <translation>Показывать панель только для активного окна</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="275"/>
+        <location filename="../svcore/base/Preferences.cpp" line="328"/>
         <source>Rectangular</source>
         <translation>Прямоугольная</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="276"/>
+        <location filename="../svcore/base/Preferences.cpp" line="329"/>
         <source>Triangular</source>
         <translation>Треугольная</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="277"/>
+        <location filename="../svcore/base/Preferences.cpp" line="330"/>
         <source>Hamming</source>
         <translation>Хамминга</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="279"/>
+        <location filename="../svcore/base/Preferences.cpp" line="332"/>
         <source>Blackman</source>
         <translation>Блэкмена</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="280"/>
+        <location filename="../svcore/base/Preferences.cpp" line="333"/>
         <source>Gaussian</source>
         <translation>Гауссова</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="281"/>
+        <location filename="../svcore/base/Preferences.cpp" line="334"/>
         <source>Parzen</source>
         <translation>Парзена</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="282"/>
+        <location filename="../svcore/base/Preferences.cpp" line="335"/>
         <source>Nuttall</source>
         <translation>Нутталла</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="283"/>
+        <location filename="../svcore/base/Preferences.cpp" line="336"/>
         <source>Blackman-Harris</source>
         <translation>Блэкмена-Харриса</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="332"/>
+        <location filename="../svcore/base/Preferences.cpp" line="380"/>
+        <source>C0 - middle of octave scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/base/Preferences.cpp" line="381"/>
+        <source>C3 - common MIDI sequencer convention</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/base/Preferences.cpp" line="382"/>
+        <source>C4 - ASA American standard</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/base/Preferences.cpp" line="383"/>
+        <source>C5 - used in Cakewalk and others</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/base/Preferences.cpp" line="393"/>
         <source>Preferences</source>
         <translation>Параметры</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="121"/>
+        <location filename="../svcore/base/Preferences.cpp" line="133"/>
         <source>Playback resampler type</source>
         <translation>Тип ресэмплирования при воспроизведении</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="288"/>
+        <location filename="../svcore/base/Preferences.cpp" line="341"/>
         <source>Fastest</source>
         <translation>Самый быстрый</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="289"/>
+        <location filename="../svcore/base/Preferences.cpp" line="342"/>
         <source>Standard</source>
         <translation>Обычный</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="290"/>
+        <location filename="../svcore/base/Preferences.cpp" line="343"/>
         <source>Highest quality</source>
         <translation>Наивысшего качества</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="106"/>
+        <location filename="../svcore/base/Preferences.cpp" line="118"/>
         <source>Spectrogram y-axis interpolation:</source>
         <translation>Интерполяция оси Y спектрограммы:</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="124"/>
+        <location filename="../svcore/base/Preferences.cpp" line="139"/>
         <source>Omit temporaries from Recent Files menu</source>
         <translation>Пропускать временные файлы в меню недавно открывавшихся</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="127"/>
+        <location filename="../svcore/base/Preferences.cpp" line="142"/>
         <source>Resample mismatching files on import</source>
         <translation>Ресэмплировать файлы при импорте</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="130"/>
+        <location filename="../svcore/base/Preferences.cpp" line="148"/>
         <source>Location for cache file directory</source>
         <translation>Расположение каталога с кэшем</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="133"/>
+        <location filename="../svcore/base/Preferences.cpp" line="151"/>
         <source>Background colour preference</source>
         <translation>Предпочитаемый цвет фона</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="139"/>
+        <location filename="../svcore/base/Preferences.cpp" line="163"/>
         <source>Font size for text overlays</source>
         <translation>Кегль шрифта для текстовых перекрытий</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="142"/>
+        <location filename="../svcore/base/Preferences.cpp" line="166"/>
         <source>Show splash screen on startup</source>
         <translation>Показывать заставку при старте программы</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="278"/>
+        <location filename="../svcore/base/Preferences.cpp" line="331"/>
         <source>Hann</source>
         <translation>Хэнна</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="309"/>
+        <location filename="../svcore/base/Preferences.cpp" line="362"/>
         <source>Follow desktop theme</source>
         <translation>Использовать параметры окружения</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="310"/>
+        <location filename="../svcore/base/Preferences.cpp" line="363"/>
         <source>Dark background</source>
         <translation>Темный фон</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="311"/>
+        <location filename="../svcore/base/Preferences.cpp" line="364"/>
         <source>Light background</source>
         <translation>Светлый фон</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="109"/>
+        <location filename="../svcore/base/Preferences.cpp" line="121"/>
         <source>Spectrogram x-axis interpolation:</source>
         <translation>Интерполяция спектрограммы по оси X:</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="295"/>
-        <location filename="../../svcore/base/Preferences.cpp" line="303"/>
+        <location filename="../svcore/base/Preferences.cpp" line="348"/>
+        <location filename="../svcore/base/Preferences.cpp" line="356"/>
         <source>None</source>
         <translation>Нет</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="296"/>
-        <location filename="../../svcore/base/Preferences.cpp" line="304"/>
+        <location filename="../svcore/base/Preferences.cpp" line="349"/>
+        <location filename="../svcore/base/Preferences.cpp" line="357"/>
         <source>Linear interpolation</source>
         <translation>Линейная интерполяция</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="297"/>
+        <location filename="../svcore/base/Preferences.cpp" line="350"/>
         <source>4 x Oversampling</source>
         <translation>4 × пересэмплированная</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="298"/>
+        <location filename="../svcore/base/Preferences.cpp" line="351"/>
         <source>4 x Oversampling with interpolation</source>
         <translation>4 × пересэмплированная с интерполяцией</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="136"/>
         <source>Time display format</source>
-        <translation>Формат отображения времени</translation>
-    </message>
-    <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="316"/>
+        <translation type="vanished">Формат отображения времени</translation>
+    </message>
+    <message>
+        <location filename="../svcore/base/Preferences.cpp" line="369"/>
         <source>Standard (to millisecond)</source>
         <translation>Обычный (до мс)</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="317"/>
+        <location filename="../svcore/base/Preferences.cpp" line="370"/>
         <source>High resolution (to microsecond)</source>
         <translation>Высокое разрешение (до мкс)</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="318"/>
+        <location filename="../svcore/base/Preferences.cpp" line="371"/>
         <source>24 FPS</source>
         <translation>24 кадра/с</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="319"/>
+        <location filename="../svcore/base/Preferences.cpp" line="372"/>
         <source>25 FPS</source>
         <translation>25 кадров/с</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="320"/>
+        <location filename="../svcore/base/Preferences.cpp" line="373"/>
         <source>30 FPS</source>
         <translation>30 кадров/с</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="321"/>
+        <location filename="../svcore/base/Preferences.cpp" line="374"/>
         <source>50 FPS</source>
         <translation>50 кадров/с</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/Preferences.cpp" line="322"/>
+        <location filename="../svcore/base/Preferences.cpp" line="375"/>
         <source>60 FPS</source>
         <translation>60 кадров/с</translation>
     </message>
@@ -5676,117 +6287,145 @@
 <context>
     <name>PreferencesDialog</name>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="64"/>
+        <location filename="../main/PreferencesDialog.cpp" line="68"/>
         <source>Apply</source>
         <translation>Применить</translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="277"/>
-        <location filename="../main/PreferencesDialog.cpp" line="281"/>
-        <location filename="../main/PreferencesDialog.cpp" line="288"/>
-        <location filename="../main/PreferencesDialog.cpp" line="296"/>
-        <location filename="../main/PreferencesDialog.cpp" line="313"/>
-        <location filename="../main/PreferencesDialog.cpp" line="319"/>
-        <location filename="../main/PreferencesDialog.cpp" line="325"/>
-        <location filename="../main/PreferencesDialog.cpp" line="330"/>
-        <location filename="../main/PreferencesDialog.cpp" line="335"/>
+        <location filename="../main/PreferencesDialog.cpp" line="348"/>
         <location filename="../main/PreferencesDialog.cpp" line="352"/>
-        <location filename="../main/PreferencesDialog.cpp" line="367"/>
+        <location filename="../main/PreferencesDialog.cpp" line="356"/>
+        <location filename="../main/PreferencesDialog.cpp" line="363"/>
+        <location filename="../main/PreferencesDialog.cpp" line="371"/>
+        <location filename="../main/PreferencesDialog.cpp" line="388"/>
+        <location filename="../main/PreferencesDialog.cpp" line="400"/>
+        <location filename="../main/PreferencesDialog.cpp" line="418"/>
+        <location filename="../main/PreferencesDialog.cpp" line="424"/>
+        <location filename="../main/PreferencesDialog.cpp" line="429"/>
+        <location filename="../main/PreferencesDialog.cpp" line="434"/>
+        <location filename="../main/PreferencesDialog.cpp" line="451"/>
+        <location filename="../main/PreferencesDialog.cpp" line="456"/>
+        <location filename="../main/PreferencesDialog.cpp" line="471"/>
         <source>%1:</source>
         <translation>%1:</translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="427"/>
+        <location filename="../main/PreferencesDialog.cpp" line="405"/>
+        <source>Default spectrogram colour:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/PreferencesDialog.cpp" line="409"/>
+        <source>Default melodic spectrogram colour:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/PreferencesDialog.cpp" line="413"/>
+        <source>Default colour 3D plot colour:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/PreferencesDialog.cpp" line="531"/>
         <source>OK</source>
         <translation>ОК</translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="428"/>
+        <location filename="../main/PreferencesDialog.cpp" line="532"/>
         <source>Cancel</source>
         <translation>Отменить</translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="50"/>
+        <location filename="../main/PreferencesDialog.cpp" line="54"/>
         <source>Sonic Visualiser: Application Preferences</source>
         <translation>Параметры работы Sonic Visualiser</translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="179"/>
+        <location filename="../main/PreferencesDialog.cpp" line="223"/>
         <source>&lt;home directory&gt;</source>
         <translation>&lt;домашний каталог&gt;</translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="215"/>
+        <location filename="../main/PreferencesDialog.cpp" line="273"/>
         <source>Follow system locale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="229"/>
+        <location filename="../main/PreferencesDialog.cpp" line="287"/>
         <source>Russian</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="230"/>
+        <location filename="../main/PreferencesDialog.cpp" line="288"/>
         <source>British English</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="231"/>
+        <location filename="../main/PreferencesDialog.cpp" line="289"/>
         <source>American English</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="232"/>
+        <location filename="../main/PreferencesDialog.cpp" line="290"/>
         <source>Czech</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="277"/>
+        <location filename="../main/PreferencesDialog.cpp" line="348"/>
         <source>User interface language</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="304"/>
+        <location filename="../main/PreferencesDialog.cpp" line="352"/>
+        <source>Allow network usage</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/PreferencesDialog.cpp" line="379"/>
         <source>&amp;General</source>
         <translation>О&amp;бщие</translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="386"/>
+        <location filename="../main/PreferencesDialog.cpp" line="395"/>
+        <source>Draw layers at Retina resolution:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../main/PreferencesDialog.cpp" line="490"/>
         <source>Default session template for audio files:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="397"/>
+        <location filename="../main/PreferencesDialog.cpp" line="501"/>
         <source>Standard Waveform</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="422"/>
+        <location filename="../main/PreferencesDialog.cpp" line="526"/>
         <source>Session &amp;Template</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="544"/>
+        <location filename="../main/PreferencesDialog.cpp" line="685"/>
         <source>Select a directory to create cache subdirectory in</source>
         <translation>Выберите каталог для хранения кэша</translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="621"/>
+        <location filename="../main/PreferencesDialog.cpp" line="783"/>
         <source>Preferences</source>
         <translation>Параметры</translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="622"/>
+        <location filename="../main/PreferencesDialog.cpp" line="784"/>
         <source>&lt;b&gt;Restart required&lt;/b&gt;&lt;p&gt;One or more of the application preferences you have changed may not take full effect until Sonic Visualiser is restarted.&lt;/p&gt;&lt;p&gt;Please exit and restart the application now if you want these changes to take effect immediately.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Требуется перезапуск программы&lt;/b&gt;&lt;p&gt;Некоторые изменившиеся параметры не могут быть учтены без перезапуска Sonic Visualiser.&lt;/p&gt;&lt;p&gt;Завершите работу с программой и повторно запустите ее, чтобы внесенные изменения возымели эффект.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="643"/>
+        <location filename="../main/PreferencesDialog.cpp" line="805"/>
         <source>Preferences Changed</source>
         <translation>Параметры изменены</translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="644"/>
+        <location filename="../main/PreferencesDialog.cpp" line="806"/>
         <source>Some preferences have been changed but not applied.
 Apply them before closing?</source>
         <translation>Некоторые параметры работы программы 
@@ -5794,17 +6433,16 @@
 Применить их перед закрытием?</translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="293"/>
         <source>Playback audio device:</source>
-        <translation>Устройство воспроизведения:</translation>
-    </message>
-    <message>
-        <location filename="../main/PreferencesDialog.cpp" line="343"/>
+        <translation type="vanished">Устройство воспроизведения:</translation>
+    </message>
+    <message>
+        <location filename="../main/PreferencesDialog.cpp" line="442"/>
         <source>&amp;Appearance</source>
         <translation>Об&amp;лик</translation>
     </message>
     <message>
-        <location filename="../main/PreferencesDialog.cpp" line="377"/>
+        <location filename="../main/PreferencesDialog.cpp" line="481"/>
         <source>Anal&amp;ysis</source>
         <translation>&amp;Анализ</translation>
     </message>
@@ -5812,7 +6450,7 @@
 <context>
     <name>ProgressDialog</name>
     <message>
-        <location filename="../../svgui/widgets/ProgressDialog.cpp" line="28"/>
+        <location filename="../svgui/widgets/ProgressDialog.cpp" line="28"/>
         <source>Cancel</source>
         <translation>Отменить</translation>
     </message>
@@ -5820,78 +6458,83 @@
 <context>
     <name>PropertyBox</name>
     <message>
-        <location filename="../../svgui/widgets/PropertyBox.cpp" line="155"/>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="160"/>
         <source>Show</source>
         <translation>Показать</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PropertyBox.cpp" line="172"/>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="177"/>
         <source>Play</source>
         <translation>Воспроизвести</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PropertyBox.cpp" line="236"/>
-        <location filename="../../svgui/widgets/PropertyBox.cpp" line="238"/>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="242"/>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="244"/>
         <source>Playback Pan / Balance</source>
         <translation>Панорама/баланс при воспроизведении</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PropertyBox.cpp" line="210"/>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="216"/>
         <source>Playback Gain</source>
         <translation>Усиление воспроизведения</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PropertyBox.cpp" line="212"/>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="218"/>
         <source>dB</source>
         <translation>Дб</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PropertyBox.cpp" line="829"/>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="788"/>
+        <source>Set playback clip:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="856"/>
         <source> (current value: %1%2)</source>
         <translation> (текущее значение: %1%2)</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PropertyBox.cpp" line="831"/>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="858"/>
         <source> (current value: %1)</source>
         <translation> (текущее значение: %1)</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PropertyBox.cpp" line="836"/>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="863"/>
         <source>Toggle Visibility of %1</source>
         <translation>Переключить видимость %1</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PropertyBox.cpp" line="838"/>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="865"/>
         <source>Toggle Playback of %1</source>
         <translation>Переключить воспроизведение %1</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PropertyBox.cpp" line="842"/>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="869"/>
         <source>Toggle %1 property of %2</source>
         <translation>Переключить %1 свойство %2</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PropertyBox.cpp" line="845"/>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="872"/>
         <source>Adjust %1 property of %2%3</source>
         <translation>Скорректировать %1 свойство %2%3</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PropertyBox.cpp" line="468"/>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="483"/>
         <source>Add New Colour...</source>
         <translation>Добавить новый цвет...</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PropertyBox.cpp" line="654"/>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="674"/>
         <source>Name New Colour</source>
         <translation>Дайте цвету название</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PropertyBox.cpp" line="655"/>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="675"/>
         <source>Enter a name for the new colour:</source>
         <translation>Введите название нового цвета:</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PropertyBox.cpp" line="657"/>
+        <location filename="../svgui/widgets/PropertyBox.cpp" line="677"/>
         <source>Prefer black background for this colour</source>
         <translation>Предпочитать черный фон для этого цвета</translation>
     </message>
@@ -5899,37 +6542,37 @@
 <context>
     <name>PropertyContainer</name>
     <message>
-        <location filename="../../svcore/base/PropertyContainer.cpp" line="151"/>
+        <location filename="../svcore/base/PropertyContainer.cpp" line="157"/>
         <source>yes</source>
         <translation>да</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/PropertyContainer.cpp" line="152"/>
+        <location filename="../svcore/base/PropertyContainer.cpp" line="158"/>
         <source>on</source>
         <translation>вкл</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/PropertyContainer.cpp" line="153"/>
+        <location filename="../svcore/base/PropertyContainer.cpp" line="159"/>
         <source>true</source>
         <translation>правда</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/PropertyContainer.cpp" line="155"/>
+        <location filename="../svcore/base/PropertyContainer.cpp" line="161"/>
         <source>no</source>
         <translation>нет</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/PropertyContainer.cpp" line="156"/>
+        <location filename="../svcore/base/PropertyContainer.cpp" line="162"/>
         <source>off</source>
         <translation>выкл</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/PropertyContainer.cpp" line="157"/>
+        <location filename="../svcore/base/PropertyContainer.cpp" line="163"/>
         <source>false</source>
         <translation>ложь</translation>
     </message>
     <message>
-        <location filename="../../svcore/base/PropertyContainer.cpp" line="244"/>
+        <location filename="../svcore/base/PropertyContainer.cpp" line="250"/>
         <source>Set %1 Property</source>
         <translation>Установить свойство %1</translation>
     </message>
@@ -5944,12 +6587,12 @@
 <context>
     <name>PropertyStack</name>
     <message>
-        <location filename="../../svgui/widgets/PropertyStack.cpp" line="259"/>
+        <location filename="../svgui/widgets/PropertyStack.cpp" line="259"/>
         <source>Click to change the current active layer</source>
         <translation>Щёлкните для смены активного слоя</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/PropertyStack.cpp" line="242"/>
+        <location filename="../svgui/widgets/PropertyStack.cpp" line="242"/>
         <source>Change Layer Visibility</source>
         <translation>Переключить видимость слоя</translation>
     </message>
@@ -5957,7 +6600,7 @@
 <context>
     <name>QApplication</name>
     <message>
-        <location filename="../main/main.cpp" line="269"/>
+        <location filename="../main/main.cpp" line="260"/>
         <source>
 Sonic Visualiser is a program for viewing and exploring audio data
 for semantic music analysis and annotation.
@@ -5984,7 +6627,7 @@
 </translation>
     </message>
     <message>
-        <location filename="../main/main.cpp" line="279"/>
+        <location filename="../main/main.cpp" line="270"/>
         <source>Sonic Visualiser</source>
         <translation>Sonic Visualiser</translation>
     </message>
@@ -5992,22 +6635,20 @@
 <context>
     <name>QFile</name>
     <message>
-        <location filename="../../svcore/data/fileio/CSVFileReader.cpp" line="47"/>
-        <location filename="../../svcore/data/fileio/MatchFileReader.cpp" line="73"/>
-        <location filename="../../svcore/data/fileio/PlaylistFileReader.cpp" line="69"/>
+        <location filename="../svcore/data/fileio/CSVFileReader.cpp" line="52"/>
+        <location filename="../svcore/data/fileio/PlaylistFileReader.cpp" line="69"/>
         <source>File &quot;%1&quot; does not exist</source>
         <translation>Файл &quot;%1&quot; не существует</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/CSVFileReader.cpp" line="49"/>
-        <location filename="../../svcore/data/fileio/MatchFileReader.cpp" line="75"/>
-        <location filename="../../svcore/data/fileio/PlaylistFileReader.cpp" line="72"/>
+        <location filename="../svcore/data/fileio/CSVFileReader.cpp" line="54"/>
+        <location filename="../svcore/data/fileio/PlaylistFileReader.cpp" line="72"/>
         <source>Failed to open file &quot;%1&quot;</source>
         <translation>Не удалось открыть файл &quot;%1&quot;</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/fileio/PlaylistFileReader.cpp" line="31"/>
-        <location filename="../../svcore/data/fileio/PlaylistFileReader.cpp" line="43"/>
+        <location filename="../svcore/data/fileio/PlaylistFileReader.cpp" line="31"/>
+        <location filename="../svcore/data/fileio/PlaylistFileReader.cpp" line="43"/>
         <source>File or URL &quot;%1&quot; could not be retrieved</source>
         <translation>Файл или URL &quot;%1&quot; не мог быть получен</translation>
     </message>
@@ -6015,26 +6656,55 @@
 <context>
     <name>QMessageBox</name>
     <message>
-        <location filename="../main/main.cpp" line="532"/>
-        <location filename="../main/main.cpp" line="537"/>
+        <location filename="../main/main.cpp" line="522"/>
+        <location filename="../main/main.cpp" line="527"/>
         <source>Failed to open file</source>
         <translation>Не удалось открыть файл</translation>
     </message>
     <message>
-        <location filename="../main/main.cpp" line="533"/>
+        <location filename="../main/main.cpp" line="523"/>
         <source>File or URL &quot;%1&quot; could not be opened</source>
         <translation>Файл или URL &quot;%1&quot; не мог быть открыт</translation>
     </message>
     <message>
-        <location filename="../main/main.cpp" line="538"/>
+        <location filename="../main/main.cpp" line="528"/>
         <source>&lt;b&gt;Audio required&lt;/b&gt;&lt;p&gt;Please load at least one audio file before importing annotation data</source>
         <translation>&lt;b&gt;Нужны звуковые данные&lt;/b&gt;&lt;p&gt;Загрузите хотя бы один звуковой файл перед импортом аннотаций</translation>
     </message>
 </context>
 <context>
+    <name>QObject</name>
+    <message>
+        <location filename="../svcore/plugin/FeatureExtractionPluginFactory.cpp" line="164"/>
+        <source>&lt;b&gt;Failed to load plugins&lt;/b&gt;&lt;p&gt;Failed to load one or more plugin libraries:&lt;/p&gt;
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/plugin/FeatureExtractionPluginFactory.cpp" line="170"/>
+        <source>Failed to load library</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/plugin/FeatureExtractionPluginFactory.cpp" line="172"/>
+        <source>Failed to query plugins from library after loading</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/plugin/FeatureExtractionPluginFactory.cpp" line="174"/>
+        <source>Unknown failure</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svcore/plugin/FeatureExtractionPluginFactory.cpp" line="176"/>
+        <source>Success: internal error?</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>QuickTimeFileReader</name>
     <message>
-        <location filename="../../svcore/data/fileio/QuickTimeFileReader.cpp" line="225"/>
+        <location filename="../svcore/data/fileio/QuickTimeFileReader.cpp" line="226"/>
         <source>Decoding %1...</source>
         <translation>Декодируется %1...</translation>
     </message>
@@ -6042,17 +6712,17 @@
 <context>
     <name>RDFImporter</name>
     <message>
-        <location filename="../../svcore/rdf/RDFImporter.cpp" line="272"/>
+        <location filename="../svcore/rdf/RDFImporter.cpp" line="270"/>
         <source>Importing audio referenced in RDF...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/rdf/RDFImporter.cpp" line="296"/>
+        <location filename="../svcore/rdf/RDFImporter.cpp" line="294"/>
         <source>Importing dense signal data from RDF...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/rdf/RDFImporter.cpp" line="490"/>
+        <location filename="../svcore/rdf/RDFImporter.cpp" line="488"/>
         <source>Importing event data from RDF...</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6060,7 +6730,7 @@
 <context>
     <name>RangeInputDialog</name>
     <message>
-        <location filename="../../svgui/widgets/RangeInputDialog.cpp" line="48"/>
+        <location filename="../svgui/widgets/RangeInputDialog.cpp" line="48"/>
         <source> to </source>
         <translation> до </translation>
     </message>
@@ -6068,81 +6738,89 @@
 <context>
     <name>RangeSummarisableTimeValueModel</name>
     <message>
-        <location filename="../../svcore/data/model/RangeSummarisableTimeValueModel.h" line="124"/>
+        <location filename="../svcore/data/model/RangeSummarisableTimeValueModel.h" line="102"/>
         <source>Range-Summarisable Time-Value</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
+    <name>ReadOnlyWaveFileModel</name>
+    <message>
+        <location filename="../svcore/data/model/ReadOnlyWaveFileModel.h" line="79"/>
+        <source>Wave File</source>
+        <translation type="unfinished">Звуковой файл</translation>
+    </message>
+</context>
+<context>
     <name>RegionLayer</name>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="89"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="100"/>
         <source>Vertical Scale</source>
         <translation>Верт. масштаб</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="90"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="101"/>
         <source>Scale Units</source>
         <translation>Единицы шкалы</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="91"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="102"/>
         <source>Plot Type</source>
         <translation>Тип графика</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="109"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="120"/>
         <source>Scale</source>
         <translation>Масштаб</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="170"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="181"/>
         <source>Bars</source>
         <translation>Такты</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="171"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="182"/>
         <source>Segmentation</source>
         <translation>Сегментация</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="177"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="188"/>
         <source>Auto-Align</source>
         <translation>Автовыравнивание</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="178"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="189"/>
         <source>Equal Spaced</source>
         <translation>Равные промежутки</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="179"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="190"/>
         <source>Linear</source>
         <translation>Линейный</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="180"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="191"/>
         <source>Log</source>
         <translation>Логарифмический</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="385"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="396"/>
         <source>In progress</source>
         <translation>В процессе</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="387"/>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="413"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="398"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="424"/>
         <source>No local points</source>
         <translation>Нет локальных точек</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="422"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="433"/>
         <source>%1 %2</source>
         <translation>%1 %2</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="427"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="438"/>
         <source>Time:	%1
 Value:	%2
 Duration:	%3
@@ -6153,7 +6831,7 @@
 Без метки</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="432"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="443"/>
         <source>Time:	%1
 Value:	%2
 Duration:	%3
@@ -6164,69 +6842,69 @@
 Метка:	%4</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="1211"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="1307"/>
         <source>Change Point Value</source>
         <translation>Изменить значение точки</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="1270"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="1366"/>
         <source>Drag Selection</source>
         <translation>Перетащить выделение</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="1296"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="1392"/>
         <source>Resize Selection</source>
         <translation>Изменить размер выделения</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="1336"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="1432"/>
         <source>Delete Selected Points</source>
         <translation>Удалить выбранные точки</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="1383"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="1479"/>
         <source>Re-align pasted items?</source>
         <translation>Заново выровнять вставленные объекты?</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="1384"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="1480"/>
         <source>The items you are pasting came from a layer with different source material from this one.  Do you want to re-align them in time, to match the source material for this layer?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="1398"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="1494"/>
         <source>Paste</source>
         <translation>Вставить</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="43"/>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="44"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="54"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="55"/>
         <source>New Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="1043"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="1139"/>
         <source>Draw Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="1125"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="1221"/>
         <source>Erase Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="1185"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="1281"/>
         <source>Drag Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="1206"/>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="1253"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="1302"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="1349"/>
         <source>Edit Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/RegionLayer.cpp" line="1208"/>
+        <location filename="../svgui/layer/RegionLayer.cpp" line="1304"/>
         <source>Relocate Region</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6234,42 +6912,42 @@
 <context>
     <name>RegionModel</name>
     <message>
-        <location filename="../../svcore/data/model/RegionModel.h" line="125"/>
+        <location filename="../svcore/data/model/RegionModel.h" line="125"/>
         <source>Region</source>
         <translation>Область</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/RegionModel.h" line="153"/>
+        <location filename="../svcore/data/model/RegionModel.h" line="153"/>
         <source>Time</source>
         <translation>Время</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/RegionModel.h" line="154"/>
+        <location filename="../svcore/data/model/RegionModel.h" line="154"/>
         <source>Frame</source>
         <translation>Выборка</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/RegionModel.h" line="155"/>
+        <location filename="../svcore/data/model/RegionModel.h" line="155"/>
         <source>Value</source>
         <translation>Значение</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/RegionModel.h" line="156"/>
+        <location filename="../svcore/data/model/RegionModel.h" line="156"/>
         <source>Duration</source>
         <translation>Длительность</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/RegionModel.h" line="157"/>
+        <location filename="../svcore/data/model/RegionModel.h" line="157"/>
         <source>Label</source>
         <translation>Метка</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/RegionModel.h" line="158"/>
+        <location filename="../svcore/data/model/RegionModel.h" line="158"/>
         <source>Unknown</source>
         <translation>Неизвестно</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/RegionModel.h" line="187"/>
+        <location filename="../svcore/data/model/RegionModel.h" line="187"/>
         <source>Edit Data</source>
         <translation>Изменить данные</translation>
     </message>
@@ -6277,7 +6955,7 @@
 <context>
     <name>RemoveLayerCommand</name>
     <message>
-        <location filename="../../svapp/framework/Document.cpp" line="1016"/>
+        <location filename="../svapp/framework/Document.cpp" line="1240"/>
         <source>Delete %1 Layer</source>
         <translation>Удалить слой %1 </translation>
     </message>
@@ -6285,21 +6963,20 @@
 <context>
     <name>ResamplingWavFileReader</name>
     <message>
-        <location filename="../../svcore/data/fileio/ResamplingWavFileReader.cpp" line="63"/>
         <source>Resampling %1...</source>
-        <translation>Ресэмплирование %1...</translation>
+        <translation type="vanished">Ресэмплирование %1...</translation>
     </message>
 </context>
 <context>
     <name>SVFileReader</name>
     <message>
-        <location filename="../../svapp/framework/SVFileReader.cpp" line="318"/>
-        <location filename="../../svapp/framework/SVFileReader.cpp" line="322"/>
+        <location filename="../svapp/framework/SVFileReader.cpp" line="324"/>
+        <location filename="../svapp/framework/SVFileReader.cpp" line="328"/>
         <source>(derived model in SV-XML)</source>
         <translation>(модель извлечена в SV-XML)</translation>
     </message>
     <message>
-        <location filename="../../svapp/framework/SVFileReader.cpp" line="463"/>
+        <location filename="../svapp/framework/SVFileReader.cpp" line="469"/>
         <source>Opening file or URL...</source>
         <translation>Открывается файл или URL...</translation>
     </message>
@@ -6307,12 +6984,12 @@
 <context>
     <name>SingleColourLayer</name>
     <message>
-        <location filename="../../svgui/layer/SingleColourLayer.cpp" line="62"/>
+        <location filename="../svgui/layer/SingleColourLayer.cpp" line="70"/>
         <source>Colour</source>
         <translation>Цвет</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SingleColourLayer.cpp" line="114"/>
+        <location filename="../svgui/layer/SingleColourLayer.cpp" line="122"/>
         <source>&lt;unknown&gt;</source>
         <translation>&lt;неизвестно&gt;</translation>
     </message>
@@ -6320,113 +6997,113 @@
 <context>
     <name>SliceLayer</name>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="146"/>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="153"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="146"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="153"/>
         <source>%1 - %2</source>
         <translation>%1 - %2</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="164"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="164"/>
         <source>First</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="165"/>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="717"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="165"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="720"/>
         <source>Mean</source>
         <translation type="unfinished">Усреднённо</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="165"/>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="718"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="165"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="721"/>
         <source>Peak</source>
         <translation>Пик</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="507"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="510"/>
         <source>0dB</source>
         <translation>0 Дб</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="508"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="511"/>
         <source>-Inf</source>
         <translation>-Inf</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="539"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="542"/>
         <source>x10</source>
         <translation>x10</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="564"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="567"/>
         <source>Plot Type</source>
         <translation>Тип графика</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="565"/>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="602"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="568"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="605"/>
         <source>Scale</source>
         <translation>Масштаб</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="566"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="569"/>
         <source>Normalize</source>
         <translation>Нормализовать</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="568"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="571"/>
         <source>Gain</source>
         <translation>Усиление</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="569"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="572"/>
         <source>Sampling Mode</source>
         <translation>Режим сэмплирования</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="707"/>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="733"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="710"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="736"/>
         <source>Linear</source>
         <translation>Линейный</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="708"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="711"/>
         <source>Meter</source>
         <translation>Счетчик</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="745"/>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="748"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="748"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="751"/>
         <source>dB</source>
         <translation>Дб</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="716"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="719"/>
         <source>Any</source>
         <translation>Любые</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="724"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="727"/>
         <source>Lines</source>
         <translation>Линии</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="725"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="728"/>
         <source>Steps</source>
         <translation>Шаги</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="726"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="729"/>
         <source>Blocks</source>
         <translation>Блоки</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="727"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="730"/>
         <source>Colours</source>
         <translation>Цвета</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="158"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="158"/>
         <source>Time:	%1 - %2
 Range:	%3 samples (%4)
 Bin:	%5
@@ -6437,40 +7114,40 @@
 %6 значение:	%7</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="172"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="172"/>
         <source>Time:	%1 - %2
 Range:	%3 samples (%4)</source>
         <translation>Время:	%1 - %2
 Диапазон:	%3 сэмплов (%4)</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="567"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="570"/>
         <source>Threshold</source>
         <translation>Порог</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="570"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="573"/>
         <source>Bin Scale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="604"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="607"/>
         <source>Bins</source>
         <translation type="unfinished">Бины</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="709"/>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="734"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="712"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="737"/>
         <source>Log</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="710"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="713"/>
         <source>Absolute</source>
         <translation type="unfinished">Абсолютный</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SliceLayer.cpp" line="735"/>
+        <location filename="../svgui/layer/SliceLayer.cpp" line="738"/>
         <source>Rev Log</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6490,22 +7167,22 @@
         <translation type="obsolete">Переразметить точку</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/SparseModel.h" line="143"/>
+        <location filename="../svcore/data/model/SparseModel.h" line="153"/>
         <source>Sparse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/SparseModel.h" line="328"/>
+        <location filename="../svcore/data/model/SparseModel.h" line="355"/>
         <source>Edit Data</source>
         <translation type="unfinished">Изменить данные</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/SparseModel.h" line="344"/>
+        <location filename="../svcore/data/model/SparseModel.h" line="371"/>
         <source>Insert Data Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/SparseModel.h" line="355"/>
+        <location filename="../svcore/data/model/SparseModel.h" line="384"/>
         <source>Delete Data Point</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6513,7 +7190,7 @@
 <context>
     <name>SparseModel::AddPointCommand</name>
     <message>
-        <location filename="../../svcore/data/model/SparseModel.h" line="172"/>
+        <location filename="../svcore/data/model/SparseModel.h" line="204"/>
         <source>Add Point</source>
         <translation type="unfinished">Добавить точку</translation>
     </message>
@@ -6521,7 +7198,7 @@
 <context>
     <name>SparseModel::DeletePointCommand</name>
     <message>
-        <location filename="../../svcore/data/model/SparseModel.h" line="197"/>
+        <location filename="../svcore/data/model/SparseModel.h" line="229"/>
         <source>Delete Point</source>
         <translation type="unfinished">Удалить точку</translation>
     </message>
@@ -6529,7 +7206,7 @@
 <context>
     <name>SparseModel::RelabelCommand</name>
     <message>
-        <location filename="../../svcore/data/model/SparseModel.h" line="254"/>
+        <location filename="../svcore/data/model/SparseModel.h" line="286"/>
         <source>Re-Label Point</source>
         <translation type="unfinished">Переразметить точку</translation>
     </message>
@@ -6537,32 +7214,32 @@
 <context>
     <name>SparseOneDimensionalModel</name>
     <message>
-        <location filename="../../svcore/data/model/SparseOneDimensionalModel.h" line="113"/>
+        <location filename="../svcore/data/model/SparseOneDimensionalModel.h" line="110"/>
         <source>Sparse 1-D</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/SparseOneDimensionalModel.h" line="127"/>
+        <location filename="../svcore/data/model/SparseOneDimensionalModel.h" line="124"/>
         <source>Time</source>
         <translation>Время</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/SparseOneDimensionalModel.h" line="128"/>
+        <location filename="../svcore/data/model/SparseOneDimensionalModel.h" line="125"/>
         <source>Frame</source>
         <translation type="unfinished">Выборка</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/SparseOneDimensionalModel.h" line="129"/>
+        <location filename="../svcore/data/model/SparseOneDimensionalModel.h" line="126"/>
         <source>Label</source>
         <translation>Метка</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/SparseOneDimensionalModel.h" line="130"/>
+        <location filename="../svcore/data/model/SparseOneDimensionalModel.h" line="127"/>
         <source>Unknown</source>
         <translation>Неизвестно</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/SparseOneDimensionalModel.h" line="160"/>
+        <location filename="../svcore/data/model/SparseOneDimensionalModel.h" line="157"/>
         <source>Edit Data</source>
         <translation>Изменить данные</translation>
     </message>
@@ -6570,37 +7247,37 @@
 <context>
     <name>SparseTimeValueModel</name>
     <message>
-        <location filename="../../svcore/data/model/SparseTimeValueModel.h" line="102"/>
+        <location filename="../svcore/data/model/SparseTimeValueModel.h" line="111"/>
         <source>Sparse Time-Value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/SparseTimeValueModel.h" line="116"/>
+        <location filename="../svcore/data/model/SparseTimeValueModel.h" line="128"/>
         <source>Time</source>
         <translation>Время</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/SparseTimeValueModel.h" line="117"/>
+        <location filename="../svcore/data/model/SparseTimeValueModel.h" line="129"/>
         <source>Frame</source>
         <translation type="unfinished">Выборка</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/SparseTimeValueModel.h" line="118"/>
+        <location filename="../svcore/data/model/SparseTimeValueModel.h" line="130"/>
         <source>Value</source>
         <translation>Значение</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/SparseTimeValueModel.h" line="119"/>
+        <location filename="../svcore/data/model/SparseTimeValueModel.h" line="131"/>
         <source>Label</source>
         <translation>Метка</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/SparseTimeValueModel.h" line="120"/>
+        <location filename="../svcore/data/model/SparseTimeValueModel.h" line="132"/>
         <source>Unknown</source>
         <translation>Неизвестно</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/SparseTimeValueModel.h" line="153"/>
+        <location filename="../svcore/data/model/SparseTimeValueModel.h" line="165"/>
         <source>Edit Data</source>
         <translation>Изменить данные</translation>
     </message>
@@ -6608,7 +7285,7 @@
 <context>
     <name>SparseValueModel</name>
     <message>
-        <location filename="../../svcore/data/model/SparseValueModel.h" line="56"/>
+        <location filename="../svcore/data/model/SparseValueModel.h" line="56"/>
         <source>Sparse Value</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6616,250 +7293,254 @@
 <context>
     <name>SpectrogramLayer</name>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="172"/>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="219"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="177"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="219"/>
         <source>Colour</source>
         <translation>Цвет</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="173"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="178"/>
         <source>Colour Scale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="174"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="179"/>
         <source>Window Size</source>
         <translation>Размер окна</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="176"/>
         <source>Normalize Columns</source>
-        <translation>Нормализовать столбцы</translation>
-    </message>
-    <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="178"/>
+        <translation type="vanished">Нормализовать столбцы</translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="182"/>
         <source>Bin Display</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="179"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="183"/>
         <source>Threshold</source>
         <translation>Порог</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="180"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="184"/>
         <source>Gain</source>
         <translation>Усиление</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="181"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="185"/>
         <source>Colour Rotation</source>
         <translation>Вращение цвета</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="182"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="186"/>
         <source>Min Frequency</source>
         <translation>Мин. частота</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="183"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="187"/>
         <source>Max Frequency</source>
         <translation>Макс. частота</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="184"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="188"/>
         <source>Frequency Scale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="216"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="216"/>
         <source>Window</source>
         <translation>Окно</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="223"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="222"/>
         <source>Scale</source>
         <translation>Масштаб</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="393"/>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="451"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="389"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="450"/>
         <source>Linear</source>
         <translation>Линейный</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="394"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="390"/>
         <source>Meter</source>
         <translation>Счетчик</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="470"/>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="473"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="485"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="488"/>
         <source>dB</source>
         <translation>Дб</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="397"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="393"/>
         <source>Phase</source>
         <translation>Фаза</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="421"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="181"/>
+        <source>Normalization</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="420"/>
         <source>No min</source>
         <translation>Без минимума</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="422"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="421"/>
         <source>10 Hz</source>
         <translation>10 Гц</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="423"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="422"/>
         <source>20 Hz</source>
         <translation>20 Гц</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="424"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="423"/>
         <source>40 Hz</source>
         <translation>40 Гц</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="425"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="424"/>
         <source>100 Hz</source>
         <translation>100 Гц</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="426"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="425"/>
         <source>250 Hz</source>
         <translation>250 Гц</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="427"/>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="436"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="426"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="435"/>
         <source>500 Hz</source>
         <translation>500 Гц</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="428"/>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="437"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="427"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="436"/>
         <source>1 KHz</source>
         <translation>1 КГц</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="429"/>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="440"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="428"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="439"/>
         <source>4 KHz</source>
         <translation>4 КГц</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="430"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="429"/>
         <source>10 KHz</source>
         <translation>10 КГц</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="438"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="437"/>
         <source>1.5 KHz</source>
         <translation>1,5 КГц</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="439"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="438"/>
         <source>2 KHz</source>
         <translation>2 КГц</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="441"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="440"/>
         <source>6 KHz</source>
         <translation>6 КГц</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="442"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="441"/>
         <source>8 KHz</source>
         <translation>8 КГц</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="443"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="442"/>
         <source>12 KHz</source>
         <translation>12 КГц</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="444"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="443"/>
         <source>16 KHz</source>
         <translation>16 КГц</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="445"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="444"/>
         <source>No max</source>
         <translation>Без максимума</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="452"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="451"/>
         <source>Log</source>
         <translation>Логарифм.</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="458"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="457"/>
         <source>All Bins</source>
         <translation>Все бины</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="459"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="458"/>
         <source>Peak Bins</source>
         <translation>Пиковые бины</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="460"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="459"/>
         <source>Frequencies</source>
         <translation>Частоты</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="463"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="462"/>
         <source>&lt;unknown&gt;</source>
         <translation>&lt;неизвестно&gt;</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="3175"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="2968"/>
         <source>Peak Frequency:	%1 - %2 Hz
 </source>
         <translation>Пиковая частота:	%1 - %2 Гц
 </translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="3178"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="2971"/>
         <source>Peak Frequency:	%1 Hz
 </source>
         <translation>Пиковая частота:	%1 Гц
 </translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="3186"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="2979"/>
         <source>Peak Pitch:	%3 - %4
 </source>
         <translation>Пиковая высота тона:	%3 - %4
 </translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="3188"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="2981"/>
         <source>Peak Pitch:	%2
 </source>
         <translation>Пиковая высота тона:	%2
 </translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="3199"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="2992"/>
         <source>Time:	%1 - %2
 </source>
         <translation>Время:	%1 - %2
 </translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="3203"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="2996"/>
         <source>Time:	%1
 </source>
         <translation>Время:	%1
 </translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="3208"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="3001"/>
         <source>%1Bin Frequency:	%2 - %3 Hz
 %4Bin Pitch:	%5 - %6
 </source>
@@ -6868,7 +7549,7 @@
 </translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="3216"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="3009"/>
         <source>%1Bin Frequency:	%2 Hz
 %3Bin Pitch:	%4
 </source>
@@ -6877,115 +7558,114 @@
 </translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="3229"/>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="3234"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="3022"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="3027"/>
         <source>-Inf</source>
         <translation>-Inf</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="3239"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="3032"/>
         <source>dB:	%1 - %2</source>
         <translation>Дб:	%1 - %2</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="3241"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="3034"/>
         <source>dB:	%1</source>
         <translation>Дб:	%1</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="3244"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="3037"/>
         <source>
 Phase:	%1 - %2</source>
         <translation>
 Фаза:	%1 - %2</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="3246"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="3039"/>
         <source>
 Phase:	%1</source>
         <translation>
 Фаза:	%1</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="175"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="180"/>
         <source>Window Overlap</source>
         <translation>Перекрытие окон</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="185"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="189"/>
         <source>Smoothing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="406"/>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="415"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="405"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="414"/>
         <source>None</source>
         <translation>Нет</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="407"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="406"/>
         <source>25 %</source>
         <translation>25 %</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="408"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="407"/>
         <source>50 %</source>
         <translation>50 %</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="409"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="408"/>
         <source>75 %</source>
         <translation>75 %</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="410"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="409"/>
         <source>87.5 %</source>
         <translation>87,5 %</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="411"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="410"/>
         <source>93.75 %</source>
         <translation>93,75 %</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="177"/>
         <source>Normalize Visible Area</source>
-        <translation>Нормализовать видимую область</translation>
-    </message>
-    <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="213"/>
+        <translation type="vanished">Нормализовать видимую область</translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="213"/>
         <source>Bins</source>
         <translation>Бины</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="1667"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="1492"/>
         <source>FFT cache failed</source>
         <translation>Не удалось кэшировать FFT</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="1668"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="1493"/>
         <source>Failed to create the FFT model for this spectrogram.
 There may be insufficient memory or disc space to continue.</source>
         <translation>Не удалось создать FFT-модель этой спектрограммы.
 Вероятно, не хватает памяти или дискового порстранства для продолжения.</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="395"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="391"/>
         <source>dBV^2</source>
         <translation>ДбВ^2</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="396"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="392"/>
         <source>dBV</source>
         <translation>ДбВ</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="3276"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="3069"/>
         <source>43Hz</source>
         <translation>43 Гц</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrogramLayer.cpp" line="3423"/>
+        <location filename="../svgui/layer/SpectrogramLayer.cpp" line="3216"/>
         <source>%1Hz</source>
         <translation>%1 Гц</translation>
     </message>
@@ -6993,90 +7673,90 @@
 <context>
     <name>SpectrumLayer</name>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="146"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="140"/>
         <source>Window Size</source>
         <translation>Размер окна</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="147"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="141"/>
         <source>Window Overlap</source>
         <translation>Перекрытие окон</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="172"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="166"/>
         <source>Window</source>
         <translation>Окно</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="637"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="631"/>
         <source>Mean</source>
         <translation type="unfinished">Усреднённо</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="228"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="222"/>
         <source>None</source>
         <translation>Ничего</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="173"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="167"/>
         <source>Bins</source>
         <translation type="unfinished">Бины</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="229"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="223"/>
         <source>25 %</source>
         <translation>25 %</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="230"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="224"/>
         <source>50 %</source>
         <translation>50 %</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="231"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="225"/>
         <source>75 %</source>
         <translation>75 %</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="232"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="226"/>
         <source>87.5 %</source>
         <translation>87,5 %</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="233"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="227"/>
         <source>93.75 %</source>
         <translation>93,75 %</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="591"/>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="603"/>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="624"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="585"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="597"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="618"/>
         <source>%1 - %2</source>
         <translation>%1 - %2</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="596"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="590"/>
         <source>%1 - %2 Hz</source>
         <translation>%1 - %2 Гц</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="598"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="592"/>
         <source>%1 Hz</source>
         <translation>%1 Гц</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="614"/>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="619"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="608"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="613"/>
         <source>-Inf</source>
         <translation>-Inf</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="626"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="620"/>
         <source>%1</source>
         <translation>%1</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="632"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="626"/>
         <source>%1
 Bin:	%2 (%3)
 %4 value:	%5
@@ -7087,17 +7767,17 @@
 Дб:	%6</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="636"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="630"/>
         <source>First</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="637"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="631"/>
         <source>Peak</source>
         <translation>Пик</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="641"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="635"/>
         <source>%1
 Bin:	%2 (%3)
 Value:	%4
@@ -7108,7 +7788,7 @@
 Дб:	%5</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/SpectrumLayer.cpp" line="148"/>
+        <location filename="../svgui/layer/SpectrumLayer.cpp" line="142"/>
         <source>Show Peak Frequencies</source>
         <translation>Показывать пиковые частоты</translation>
     </message>
@@ -7120,7 +7800,7 @@
 <context>
     <name>SubdividingMenu</name>
     <message>
-        <location filename="../../svgui/widgets/SubdividingMenu.cpp" line="115"/>
+        <location filename="../svgui/widgets/SubdividingMenu.cpp" line="117"/>
         <source>%1 - %2</source>
         <translation>%1 - %2</translation>
     </message>
@@ -7128,35 +7808,37 @@
 <context>
     <name>Surveyer</name>
     <message>
+        <location filename="../main/Surveyer.cpp" line="97"/>
         <source>Yes! Take me to the survey</source>
-        <translation type="obsolete">Да, я хочу заполнить отчёт</translation>
-    </message>
-    <message>
+        <translation type="unfinished">Да, я хочу заполнить отчёт</translation>
+    </message>
+    <message>
+        <location filename="../main/Surveyer.cpp" line="98"/>
         <source>No, thanks</source>
-        <translation type="obsolete">Спасибо, нет</translation>
+        <translation type="unfinished">Спасибо, нет</translation>
     </message>
 </context>
 <context>
     <name>TextLayer</name>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="39"/>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="40"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="39"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="40"/>
         <source>Empty Label</source>
         <translation>Очистить метку</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="135"/>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="373"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="135"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="373"/>
         <source>&lt;no text&gt;</source>
         <translation>&lt;без текста&gt;</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="195"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="195"/>
         <source>In progress</source>
         <translation>В процессе</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="208"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="208"/>
         <source>Time:	%1
 Height:	%2
 Label:	%3</source>
@@ -7165,74 +7847,74 @@
 Метка:	%3</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="465"/>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="611"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="465"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="611"/>
         <source>Enter label</source>
         <translation>Введите метку</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="466"/>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="612"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="466"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="612"/>
         <source>Please enter a new label:</source>
         <translation>Введите текст новой метки:</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="563"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="563"/>
         <source>Drag Label</source>
         <translation>Перетащите метку</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="584"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="584"/>
         <source>Move Label</source>
         <translation>Переместите метку</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="586"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="586"/>
         <source>Move Label Horizontally</source>
         <translation>Переместите по горизонтали</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="589"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="589"/>
         <source>Move Label Vertically</source>
         <translation>Переместите по вертикали</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="629"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="629"/>
         <source>Drag Selection</source>
         <translation>Перетащите выделение</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="654"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="654"/>
         <source>Resize Selection</source>
         <translation>Смените размер выделения</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="688"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="688"/>
         <source>Delete Selection</source>
         <translation>Удалите выделение</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="746"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="746"/>
         <source>Paste</source>
         <translation>Вставить</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="791"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="791"/>
         <source>New Point</source>
         <translation>Новая точка</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="514"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="514"/>
         <source>Erase Point</source>
         <translation>Удалить точку</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="731"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="731"/>
         <source>Re-align pasted items?</source>
         <translation>Заново выровнять вставленные объекты?</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TextLayer.cpp" line="732"/>
+        <location filename="../svgui/layer/TextLayer.cpp" line="732"/>
         <source>The items you are pasting came from a layer with different source material from this one.  Do you want to re-align them in time, to match the source material for this layer?</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7240,37 +7922,37 @@
 <context>
     <name>TextModel</name>
     <message>
-        <location filename="../../svcore/data/model/TextModel.h" line="103"/>
+        <location filename="../svcore/data/model/TextModel.h" line="103"/>
         <source>Text</source>
         <translation>Текст</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/TextModel.h" line="117"/>
+        <location filename="../svcore/data/model/TextModel.h" line="117"/>
         <source>Time</source>
         <translation>Время</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/TextModel.h" line="118"/>
+        <location filename="../svcore/data/model/TextModel.h" line="118"/>
         <source>Frame</source>
         <translation>Выборка</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/TextModel.h" line="119"/>
+        <location filename="../svcore/data/model/TextModel.h" line="119"/>
         <source>Height</source>
         <translation>Высота</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/TextModel.h" line="120"/>
+        <location filename="../svcore/data/model/TextModel.h" line="120"/>
         <source>Label</source>
         <translation>Метка</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/TextModel.h" line="121"/>
+        <location filename="../svcore/data/model/TextModel.h" line="121"/>
         <source>Unknown</source>
         <translation>Неизвестно</translation>
     </message>
     <message>
-        <location filename="../../svcore/data/model/TextModel.h" line="152"/>
+        <location filename="../svcore/data/model/TextModel.h" line="152"/>
         <source>Edit Data</source>
         <translation>Изменить данные</translation>
     </message>
@@ -7278,39 +7960,39 @@
 <context>
     <name>Thumbwheel</name>
     <message>
-        <location filename="../../svgui/widgets/Thumbwheel.cpp" line="232"/>
+        <location filename="../svgui/widgets/Thumbwheel.cpp" line="232"/>
         <source>%1: %2%3</source>
         <translation>%1: %2%3</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/Thumbwheel.cpp" line="234"/>
+        <location filename="../svgui/widgets/Thumbwheel.cpp" line="234"/>
         <source>%2%3</source>
         <translation>%2%3</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/Thumbwheel.cpp" line="344"/>
+        <location filename="../svgui/widgets/Thumbwheel.cpp" line="344"/>
         <source>New value for %1, from %2 to %3 %4:</source>
         <translation>Новое значение для %1, от %2 до %3 %4:</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/Thumbwheel.cpp" line="347"/>
+        <location filename="../svgui/widgets/Thumbwheel.cpp" line="347"/>
         <source>New value for %1, from %2 to %3:</source>
         <translation>Новое значение для %1, от %2 до %3:</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/Thumbwheel.cpp" line="352"/>
+        <location filename="../svgui/widgets/Thumbwheel.cpp" line="352"/>
         <source>Enter a new value from %1 to %2 %3:</source>
         <translation>Введите новое значение от %1 до %2 %3:</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/Thumbwheel.cpp" line="355"/>
-        <location filename="../../svgui/widgets/Thumbwheel.cpp" line="379"/>
+        <location filename="../svgui/widgets/Thumbwheel.cpp" line="355"/>
+        <location filename="../svgui/widgets/Thumbwheel.cpp" line="379"/>
         <source>Enter a new value from %1 to %2:</source>
         <translation>Введите новое значение от %1 до %2:</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/Thumbwheel.cpp" line="362"/>
-        <location filename="../../svgui/widgets/Thumbwheel.cpp" line="378"/>
+        <location filename="../svgui/widgets/Thumbwheel.cpp" line="362"/>
+        <location filename="../svgui/widgets/Thumbwheel.cpp" line="378"/>
         <source>Enter new value</source>
         <translation>Введите новое значение</translation>
     </message>
@@ -7318,107 +8000,107 @@
 <context>
     <name>TimeInstantLayer</name>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="44"/>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="481"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="44"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="481"/>
         <source>New Point</source>
         <translation>Новая точка</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="84"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="84"/>
         <source>Plot Type</source>
         <translation>Тип графика</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="124"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="124"/>
         <source>Instants</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="125"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="125"/>
         <source>Segmentation</source>
         <translation>Сегментация</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="226"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="226"/>
         <source>In progress</source>
         <translation>В процессе</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="228"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="228"/>
         <source>No local points</source>
         <translation>Нет локальных точек</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="239"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="239"/>
         <source>Time:	%1
 No label</source>
         <translation>Время:	%1
 Без метки</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="242"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="242"/>
         <source>Time:	%1
 Label:	%2</source>
         <translation>Время:	%1
 Метка:	%2</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="485"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="485"/>
         <source>Draw Point</source>
         <translation>Нарисовать точку</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="515"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="515"/>
         <source>Add Point at %1 s</source>
         <translation>Добавить точку в %1 с</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="606"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="606"/>
         <source>Drag Point</source>
         <translation>Перетащить точку</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="622"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="622"/>
         <source>Move Point to %1 s</source>
         <translation>Перетащить точку к %1 с</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="658"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="658"/>
         <source>Edit Point</source>
         <translation>Изменить точку</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="675"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="675"/>
         <source>Drag Selection</source>
         <translation>Перетащить выделение</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="701"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="701"/>
         <source>Resize Selection</source>
         <translation>Изменить размер выделения</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="736"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="736"/>
         <source>Delete Selection</source>
         <translation>Удалить выделение</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="794"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="794"/>
         <source>Paste</source>
         <translation>Вставить</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="560"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="560"/>
         <source>Erase Point</source>
         <translation>Удалить точку</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="779"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="779"/>
         <source>Re-align pasted instants?</source>
         <translation>Заново выровнять вставленные объекты?</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeInstantLayer.cpp" line="780"/>
+        <location filename="../svgui/layer/TimeInstantLayer.cpp" line="780"/>
         <source>The instants you are pasting came from a layer with different source material from this one.  Do you want to re-align them in time, to match the source material for this layer?</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7426,212 +8108,252 @@
 <context>
     <name>TimeValueLayer</name>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="51"/>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="52"/>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1285"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="58"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="59"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1351"/>
         <source>New Point</source>
         <translation>Новая точка</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="105"/>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="141"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="112"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="148"/>
         <source>Plot Type</source>
         <translation>Тип графика</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="106"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="113"/>
         <source>Vertical Scale</source>
         <translation>Верт. масштаб</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="107"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="114"/>
         <source>Scale Units</source>
         <translation>Единицы шкалы</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="109"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="116"/>
         <source>Show Derivative</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="215"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="229"/>
         <source>Points</source>
         <translation>Точки</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="216"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="230"/>
         <source>Stems</source>
         <translation>Ножки</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="217"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="231"/>
         <source>Connected Points</source>
         <translation>Соединённые точки</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="218"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="232"/>
         <source>Lines</source>
         <translation>Линии</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="219"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="233"/>
         <source>Curve</source>
         <translation>Кривая</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="220"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="234"/>
         <source>Segmentation</source>
         <translation>Сегментация</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="225"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="235"/>
+        <source>Discrete Curves</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="240"/>
         <source>Auto-Align</source>
         <translation>Автовыравнивание</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="556"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="600"/>
         <source>In progress</source>
         <translation>В процессе</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="558"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="602"/>
         <source>No local points</source>
         <translation>Нет локальных точек</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="571"/>
         <source>Time:	%1
 Value:	%2%3
 No label</source>
-        <translation>Время:	%1
+        <translation type="vanished">Время:	%1
 Значение:	%2%3
 Без метки</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="576"/>
         <source>Time:	%1
 Value:	%2%3
 Label:	%4</source>
-        <translation>Время:	%1
+        <translation type="vanished">Время:	%1
 Значение:	%2%3
 Метка:	%4</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1292"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1358"/>
         <source>Draw Point</source>
         <translation>Нарисовать точку</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1459"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1525"/>
         <source>Drag Point</source>
         <translation>Перетащить точку</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1482"/>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1527"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1548"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1593"/>
         <source>Edit Point</source>
         <translation>Изменить точку</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1484"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1550"/>
         <source>Relocate Point</source>
         <translation>Переместить точку</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1487"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1553"/>
         <source>Change Point Value</source>
         <translation>Изменить значение точки</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1544"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1610"/>
         <source>Drag Selection</source>
         <translation>Перетащить выделение</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1570"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1636"/>
         <source>Resize Selection</source>
         <translation>Изменить размер выделения</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1605"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1671"/>
         <source>Delete Selected Points</source>
         <translation>Удалить выбранные точки</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1667"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1733"/>
         <source>Paste</source>
         <translation>Вставить</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1723"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1788"/>
         <source>The items you are pasting do not have values.
 What values do you want to use for these items?</source>
         <translation>У вставляемых объектов нет значений.
 Какие значения вы хотите для них использовать?</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1725"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1790"/>
         <source>Some of the items you are pasting do not have values.
 What values do you want to use for these items?</source>
         <translation>У некоторых вставляемых объектов нет значений.Какие значения вы хотите для них использовать?</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1735"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1800"/>
         <source>Zero for all items</source>
         <translation>Ноль для всех объектов</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1744"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1809"/>
         <source>Choose value calculation</source>
         <translation>Выбрать вычисление значения</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="137"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="144"/>
         <source>Scale</source>
         <translation>Масштаб</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="226"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="241"/>
         <source>Linear</source>
         <translation>Линейный</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="227"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="242"/>
         <source>Log</source>
         <translation>Логарифмический</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="228"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="243"/>
         <source>+/-1</source>
         <translation>+/-1</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1410"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="615"/>
+        <source>%1 Hz (%2, %3)</source>
+        <translation type="unfinished">%1Гц (%2, %3)</translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="620"/>
+        <source>%1 %2</source>
+        <translation type="unfinished">%1 %2</translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="622"/>
+        <source>%1</source>
+        <translation type="unfinished">%1</translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="628"/>
+        <source>Time:	%1
+Value:	%2
+No label</source>
+        <translation type="unfinished">Время:	%1
+Значение:	%2%3
+Без метки {1
+?} {2
+?}</translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="632"/>
+        <source>Time:	%1
+Value:	%2
+Label:	%4</source>
+        <translation type="unfinished">Время:	%1
+Значение:	%2%3
+Метка:	%4 {1
+?} {2
+?}</translation>
+    </message>
+    <message>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1476"/>
         <source>Erase Point</source>
         <translation>Стереть точку</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1652"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1718"/>
         <source>Re-align pasted items?</source>
         <translation type="unfinished">Заново выровнять вставленные объекты?</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1653"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1719"/>
         <source>The items you are pasting came from a layer with different source material from this one.  Do you want to re-align them in time, to match the source material for this layer?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1765"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1833"/>
         <source>Select cycle size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="1766"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="1834"/>
         <source>Cycle size:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/TimeValueLayer.cpp" line="108"/>
+        <location filename="../svgui/layer/TimeValueLayer.cpp" line="115"/>
         <source>Draw Segment Division Lines</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7639,27 +8361,27 @@
 <context>
     <name>TipDialog</name>
     <message>
-        <location filename="../../svgui/widgets/TipDialog.cpp" line="35"/>
+        <location filename="../svgui/widgets/TipDialog.cpp" line="35"/>
         <source>Tip of the Day</source>
         <translation>Совет дня</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TipDialog.cpp" line="65"/>
+        <location filename="../svgui/widgets/TipDialog.cpp" line="65"/>
         <source>Show tip on startup</source>
         <translation>Показывать советы при запуске</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TipDialog.cpp" line="71"/>
+        <location filename="../svgui/widgets/TipDialog.cpp" line="71"/>
         <source>&lt;&lt; Previous</source>
         <translation>&lt;&lt; Предыдущий</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TipDialog.cpp" line="75"/>
+        <location filename="../svgui/widgets/TipDialog.cpp" line="75"/>
         <source>Next &gt;&gt;</source>
         <translation>Следующий &gt;&gt;</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TipDialog.cpp" line="79"/>
+        <location filename="../svgui/widgets/TipDialog.cpp" line="79"/>
         <source>Close</source>
         <translation>Закрыть</translation>
     </message>
@@ -7667,136 +8389,136 @@
 <context>
     <name>TransformFactory</name>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="555"/>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="707"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="567"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="720"/>
         <source>%1: %2</source>
         <translation>%1: %2</translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="565"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="577"/>
         <source>%1: Output %2</source>
         <translation>%1: Выход %2</translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="320"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="320"/>
         <source>Analysis</source>
         <translation>Анализ</translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="322"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="322"/>
         <source>Effects Data</source>
         <translation>Данные эффектов</translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="321"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="321"/>
         <source>Effects</source>
         <translation>Эффекты</translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="386"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="386"/>
         <source> [\(&lt;].*$</source>
         <translation> [\(&lt;].*$</translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="445"/>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="539"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="457"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="551"/>
         <source>&lt;unknown maker&gt;</source>
         <translation>&lt;неизвестный производитель&gt;</translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="451"/>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="714"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="463"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="727"/>
         <source>Extract features using &quot;%1&quot; plugin (from %2)</source>
         <translation>Извлечь данные при помощи &quot;%1&quot; (из %2)</translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="454"/>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="717"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="466"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="730"/>
         <source>Extract features using &quot;%1&quot; output of &quot;%2&quot; plugin (from %3)</source>
         <translation>Извлечь данные при помощи &quot;%1&quot; вывода из расширения &quot;%2&quot; (из %3)</translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="459"/>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="722"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="471"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="735"/>
         <source>%1 using &quot;%2&quot; plugin (from %3)</source>
         <translation>%1 используя расширение &quot;%2&quot; (из %3)</translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="462"/>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="725"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="474"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="738"/>
         <source>%1 using &quot;%2&quot; output of &quot;%3&quot; plugin (from %4)</source>
         <translation>%1 используя вывод &quot;%2&quot; расширения &quot;%3&quot; (из %4)</translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="577"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="589"/>
         <source>Extract &quot;%1&quot; data output from &quot;%2&quot; effect plugin (from %3)</source>
         <translation>Извлечь &quot;%1&quot; данные вывода из расширения эффектов &quot;%2&quot; (из %3)</translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="582"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="594"/>
         <source>Extract data output %1 from &quot;%2&quot; effect plugin (from %3)</source>
         <translation>Извлечь данные вывода %1 из расширения эффектов &quot;%2&quot; (из %3)</translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="609"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="621"/>
         <source>Transform audio signal with &quot;%1&quot; effect plugin (from %2)</source>
         <translation>Трансформировать звуковой сигнал расширением эффектов &quot;%1&quot; (из %2)</translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="615"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="627"/>
         <source>Generate audio signal using &quot;%1&quot; plugin (from %2)</source>
         <translation>Создать звуковой сигнал при помощи расширения &quot;%1&quot; (из %2)</translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="1133"/>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="1171"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="1157"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="1195"/>
         <source>Plugin type</source>
         <translation>Тип расширения</translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="1135"/>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="1173"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="1159"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="1197"/>
         <source>Category</source>
         <translation>Категория</translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="1136"/>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="1174"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="1160"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="1198"/>
         <source>System Identifier</source>
         <translation>Системный идентификатор</translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="1137"/>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="1175"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="1161"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="1199"/>
         <source>Name</source>
         <translation>Название</translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="1138"/>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="1176"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="1162"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="1200"/>
         <source>Description</source>
         <translation>Описание</translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="1139"/>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="1177"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="1163"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="1201"/>
         <source>Maker</source>
         <translation>Создатель</translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="1140"/>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="1178"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="1164"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="1202"/>
         <source>Units</source>
         <translation>Единица измерения</translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="323"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="323"/>
         <source>Generator</source>
         <translation>Генератор</translation>
     </message>
     <message>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="324"/>
-        <location filename="../../svcore/transform/TransformFactory.cpp" line="326"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="324"/>
+        <location filename="../svcore/transform/TransformFactory.cpp" line="326"/>
         <source>Other</source>
         <translation>Прочее</translation>
     </message>
@@ -7804,34 +8526,34 @@
 <context>
     <name>TransformFinder</name>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="38"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="38"/>
         <source>Find a Transform</source>
         <translation>Поиск расширений для трансформации</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="44"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="44"/>
         <source>Find:</source>
         <translation>Искать:</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="77"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="77"/>
         <source>&lt;br&gt;&amp;nbsp;&amp;nbsp;No results found</source>
         <translation>&lt;br&gt;&amp;nbsp;&amp;nbsp;Ничего не найдено</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="85"/>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="86"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="85"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="86"/>
         <source>Up</source>
         <translation>Вверх</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="90"/>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="91"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="90"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="91"/>
         <source>Down</source>
         <translation>Вниз</translation>
     </message>
     <message numerus="yes">
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="227"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="227"/>
         <source>Found %n description(s) containing &lt;b&gt;%1&lt;/b&gt;, showing the first %2 only</source>
         <translation>
             <numerusform>Найдено %n описание, содержащее &lt;b&gt;%1&lt;/b&gt;, показаны первые %2</numerusform>
@@ -7840,7 +8562,7 @@
         </translation>
     </message>
     <message numerus="yes">
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="231"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="231"/>
         <source>Found %n description(s) containing &lt;b&gt;%1&lt;/b&gt;</source>
         <translation>
             <numerusform>Найдено %n описание, содержащее &lt;b&gt;%1&lt;/b&gt;</numerusform>
@@ -7849,148 +8571,218 @@
         </translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="257"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="257"/>
         <source>&lt;i&gt; (not installed)&lt;/i&gt;</source>
         <translation>&lt;i&gt; (не установлено)&lt;/i&gt;</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="261"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="261"/>
         <source>%1%2&lt;br&gt;&lt;small&gt;</source>
         <translation>%1%2&lt;br&gt;&lt;small&gt;</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="272"/>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="303"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="272"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="303"/>
         <source>&lt;/small&gt;</source>
         <translation>&lt;/small&gt;</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="275"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="275"/>
         <source>&lt;b&gt;%1&lt;/b&gt;%2&lt;br&gt;</source>
         <translation>&lt;b&gt;%1&lt;/b&gt;%2&lt;br&gt;</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="281"/>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="284"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="281"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="284"/>
         <source>&lt;small&gt;%1&lt;/small&gt;</source>
         <translation>&lt;small&gt;%1&lt;/small&gt;</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="288"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="288"/>
         <source>&lt;small&gt;</source>
         <translation>&lt;small&gt;</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="290"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="290"/>
         <source>&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;mdash; Plugin type: %1</source>
         <translation>&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;mdash; Тип расширения: %1</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="294"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="294"/>
         <source>&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;mdash; Category: %1</source>
         <translation>&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;mdash; Категория: %1</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="297"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="297"/>
         <source>&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;mdash; System identifier: %1</source>
         <translation>&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;mdash; Системный идентификатор: %1</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="300"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="300"/>
         <source>&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;mdash; More information: &lt;a href=&quot;%1&quot;&gt;%1&lt;/a&gt;</source>
         <translation>&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;mdash; Подробная информация: &lt;a href=&quot;%1&quot;&gt;%1&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="137"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="137"/>
         <source>&lt;p&gt;Type some text into the search box to search the descriptions of:&lt;ul&gt;&lt;li&gt;All currently installed &lt;a href=&quot;http://www.vamp-plugins.org/&quot;&gt;Vamp&lt;/a&gt; audio feature extraction plugins&lt;/li&gt;&lt;li&gt;All currently installed &lt;a href=&quot;http://www.ladspa.org/&quot;&gt;LADSPA&lt;/a&gt; audio effects plugins&lt;/li&gt;&lt;li&gt;Vamp plugins that are not currently installed but that have descriptions published via the semantic web&lt;/li&gt;&lt;/ul&gt;</source>
         <translation>&lt;p&gt;Введите текст для поиска по описаниям среди:&lt;ul&gt;&lt;li&gt;всех установленных расширений &lt;a href=&quot;http://www.vamp-plugins.org/&quot;&gt;Vamp&lt;/a&gt; для извлечения анализируемых данных;&lt;/li&gt;&lt;li&gt;всех установленных эффектов&lt;a href=&quot;http://www.ladspa.org/&quot;&gt;LADSPA&lt;/a&gt;;&lt;/li&gt;&lt;li&gt;еще не установленных расширений Vamp, чьё описание опубликовано в семантической сети.&lt;/li&gt;&lt;/ul&gt;</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="140"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="140"/>
         <source>&lt;b&gt;Unable to retrieve published descriptions from network!&lt;/b&gt;</source>
         <translation>&lt;b&gt;Не удалось получить опубликованные в сети описания!&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="143"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="143"/>
         <source>&lt;b&gt;No plugins are currently installed!&lt;/b&gt;</source>
         <translation>&lt;b&gt;Ни одно расширение не установлено!&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="151"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="151"/>
         <source>&lt;p&gt;%1&lt;br&gt;Perhaps the network connection is down, services are responding too slowly, or a processing problem has occurred.&lt;br&gt;Only the descriptions of installed plugins will be searched.</source>
         <translation>&lt;p&gt;%1&lt;br&gt;Вероятно, не работает сетевое соединение, либо службы отзываются слишком медленно, либо произошла неполадка при обработке.&lt;br&gt;Будет выполнен поиск только по описаниям уже установленных расширений.</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="157"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="157"/>
         <source>&lt;p&gt;%1&lt;br&gt;Only the published descriptions of Vamp feature extraction plugins will be searched.</source>
         <translation>&lt;p&gt;%1&lt;br&gt;Выдет выполнен поиск только по описаниям расширений Vamp, предназначенных для извлечения анализируемых данных.</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/TransformFinder.cpp" line="161"/>
+        <location filename="../svgui/widgets/TransformFinder.cpp" line="161"/>
         <source>&lt;p&gt;%1&lt;br&gt;%2&lt;br&gt;Perhaps the network connection is down, or services are responding too slowly.&lt;br&gt;No search results will be available.</source>
         <translation>&lt;p&gt;%1&lt;br&gt;%2&lt;br&gt;Вероятно, не работает сетевое соединение, либо службы отзываются слишком медленно.&lt;br&gt;Результаты поиска будут недоступны.</translation>
     </message>
 </context>
 <context>
+    <name>UnitConverter</name>
+    <message>
+        <location filename="../svgui/widgets/UnitConverter.cpp" line="50"/>
+        <source>Pitch</source>
+        <translation type="unfinished">Высота тона</translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/UnitConverter.cpp" line="87"/>
+        <source> cents</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/UnitConverter.cpp" line="96"/>
+        <source>In 12-tone Equal Temperament:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/UnitConverter.cpp" line="105"/>
+        <location filename="../svgui/widgets/UnitConverter.cpp" line="208"/>
+        <source>=</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/UnitConverter.cpp" line="107"/>
+        <source>+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/UnitConverter.cpp" line="110"/>
+        <source>Piano note</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/UnitConverter.cpp" line="112"/>
+        <source>in octave</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/UnitConverter.cpp" line="117"/>
+        <source>MIDI pitch</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/UnitConverter.cpp" line="133"/>
+        <source>Note that only pitches in the range 0 to 127 are valid in the MIDI protocol.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/UnitConverter.cpp" line="140"/>
+        <source>Tempo</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/UnitConverter.cpp" line="206"/>
+        <source>Beat period</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/UnitConverter.cpp" line="212"/>
+        <source>at</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/widgets/UnitConverter.cpp" line="275"/>
+        <source>With concert-A tuning frequency at %1 Hz, and middle C residing in octave %2.
+(These can be changed in the application preferences.)</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>View</name>
     <message>
-        <location filename="../../svgui/view/View.cpp" line="91"/>
+        <location filename="../svgui/view/View.cpp" line="96"/>
         <source>Global Scroll</source>
         <translation>Глобальная прокрутка</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/View.cpp" line="92"/>
+        <location filename="../svgui/view/View.cpp" line="97"/>
         <source>Global Zoom</source>
         <translation>Глобальный масштаб</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/View.cpp" line="93"/>
+        <location filename="../svgui/view/View.cpp" line="98"/>
         <source>Follow Playback</source>
         <translation>Следовать за воспроизведением</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/View.cpp" line="132"/>
+        <location filename="../svgui/view/View.cpp" line="141"/>
         <source>Scroll</source>
         <translation>Прокручивать</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/View.cpp" line="133"/>
+        <location filename="../svgui/view/View.cpp" line="142"/>
         <source>Page</source>
         <translation>Постранично</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/View.cpp" line="134"/>
+        <location filename="../svgui/view/View.cpp" line="143"/>
         <source>Off</source>
         <translation>Выключить</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/View.cpp" line="137"/>
+        <location filename="../svgui/view/View.cpp" line="146"/>
         <source>&lt;unknown&gt;</source>
         <translation>&lt;неизвестно&gt;</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/View.cpp" line="1445"/>
+        <location filename="../svgui/view/View.cpp" line="1581"/>
         <source>Layer rendering error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/View.cpp" line="2242"/>
+        <location filename="../svgui/view/View.cpp" line="2427"/>
         <source>Waiting for layers to be ready...</source>
         <translation>Ожидание готовности слоёв...</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/View.cpp" line="2243"/>
-        <location filename="../../svgui/view/View.cpp" line="2272"/>
+        <location filename="../svgui/view/View.cpp" line="2428"/>
+        <location filename="../svgui/view/View.cpp" line="2457"/>
         <source>Cancel</source>
         <translation>Отменить</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/View.cpp" line="2271"/>
+        <location filename="../svgui/view/View.cpp" line="2456"/>
         <source>Rendering image...</source>
         <translation>Отрисовывается изображение...</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/View.cpp" line="1466"/>
+        <location filename="../svgui/view/View.cpp" line="1603"/>
         <source>Alignment</source>
         <translation>Выравнивание</translation>
     </message>
@@ -7998,97 +8790,102 @@
 <context>
     <name>ViewManager</name>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="338"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="371"/>
         <source>Clear Selection</source>
         <translation type="unfinished">Снять выделение</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="339"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="372"/>
         <source>Select Multiple Regions</source>
         <translation type="unfinished">Выделить несколько областей</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="340"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="373"/>
         <source>Select Region</source>
         <translation type="unfinished">Выделить область</translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="357"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="390"/>
         <source>Enter Navigate mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="358"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="391"/>
         <source>Enter Select mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="359"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="392"/>
         <source>Enter Edit mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="360"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="393"/>
         <source>Enter Draw mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="361"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="394"/>
         <source>Enter Erase mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="362"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="395"/>
         <source>Enter Measure mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="376"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="396"/>
+        <source>Enter NoteEdit mode</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../svgui/view/ViewManager.cpp" line="432"/>
         <source>Switch on Loop mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="377"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="433"/>
         <source>Switch off Loop mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="391"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="447"/>
         <source>Switch on Play Selection mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="392"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="448"/>
         <source>Switch off Play Selection mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="406"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="462"/>
         <source>Switch on Play Solo mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="407"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="463"/>
         <source>Switch off Play Solo mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="421"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="477"/>
         <source>Switch on Alignment mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="422"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="478"/>
         <source>Switch off Alignment mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="524"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="581"/>
         <source>Scroll to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../../svgui/view/ViewManager.cpp" line="586"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="642"/>
         <source>Zoom to %n sample(s) per pixel</source>
         <translation type="unfinished">
             <numerusform></numerusform>
@@ -8097,7 +8894,7 @@
         </translation>
     </message>
     <message>
-        <location filename="../../svgui/view/ViewManager.cpp" line="596"/>
+        <location filename="../svgui/view/ViewManager.cpp" line="652"/>
         <source>Change overlay level</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8120,120 +8917,119 @@
 <context>
     <name>WaveFileModel</name>
     <message>
-        <location filename="../../svcore/data/model/WaveFileModel.h" line="83"/>
         <source>Wave File</source>
-        <translation>Звуковой файл</translation>
+        <translation type="vanished">Звуковой файл</translation>
     </message>
 </context>
 <context>
     <name>WaveformLayer</name>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="104"/>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="133"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="106"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="135"/>
         <source>Scale</source>
         <translation>Масштаб по Y</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="105"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="107"/>
         <source>Gain</source>
         <translation>Усиление</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="106"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="108"/>
         <source>Normalize Visible Area</source>
         <translation>Нормализовать видимую область</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="107"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="109"/>
         <source>Channels</source>
         <translation>Каналы</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="194"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="196"/>
         <source>Linear</source>
         <translation>Линейный</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="195"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="197"/>
         <source>Meter</source>
         <translation>Счетчик</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="196"/>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="214"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="198"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="216"/>
         <source>dB</source>
         <translation>Дб</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="202"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="204"/>
         <source>Separate</source>
         <translation>Отдельно</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="203"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="205"/>
         <source>Mean</source>
         <translation>Усреднённо</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="204"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="206"/>
         <source>Butterfly</source>
         <translation>V-образно</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="953"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="981"/>
         <source>Time:	%1 - %2</source>
         <translation>Время:	%1 - %2</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="957"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="985"/>
         <source>Time:	%1</source>
         <translation>Время:	%1</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="978"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="1006"/>
         <source>Level:</source>
         <translation>Уровень:</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="980"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="1008"/>
         <source>Left:</source>
         <translation>Левый:</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="981"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="1009"/>
         <source>Right:</source>
         <translation>Правый:</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="982"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="1010"/>
         <source>Channel %1</source>
         <translation>Канал %1</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="1005"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="1033"/>
         <source>
 %1	%2 - %3 (%4 dB peak)</source>
         <translation>
 %1	%2 - %3 (пик в %4 Дб)</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="1008"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="1036"/>
         <source>
 %1	%2 (%3 dB peak)</source>
         <translation>
 %1	%2 (пик в %3 Дб)</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="1175"/>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="1228"/>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="1238"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="1203"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="1256"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="1266"/>
         <source>0dB</source>
         <translation>0 Дб</translation>
     </message>
     <message>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="1176"/>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="1230"/>
-        <location filename="../../svgui/layer/WaveformLayer.cpp" line="1240"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="1204"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="1258"/>
+        <location filename="../svgui/layer/WaveformLayer.cpp" line="1268"/>
         <source>-Inf</source>
         <translation>-Inf</translation>
     </message>
@@ -8241,12 +9037,12 @@
 <context>
     <name>WindowShapePreview</name>
     <message>
-        <location filename="../../svgui/widgets/WindowShapePreview.cpp" line="118"/>
+        <location filename="../svgui/widgets/WindowShapePreview.cpp" line="118"/>
         <source>V / time</source>
         <translation>V / время</translation>
     </message>
     <message>
-        <location filename="../../svgui/widgets/WindowShapePreview.cpp" line="202"/>
+        <location filename="../svgui/widgets/WindowShapePreview.cpp" line="202"/>
         <source>dB / freq</source>
         <translation>Дб / частота</translation>
     </message>
@@ -8254,7 +9050,7 @@
 <context>
     <name>WritableWaveFileModel</name>
     <message>
-        <location filename="../../svcore/data/model/WritableWaveFileModel.h" line="82"/>
+        <location filename="../svcore/data/model/WritableWaveFileModel.h" line="124"/>
         <source>Writable Wave File</source>
         <translation>Записываемый звуковой файл</translation>
     </message>
--- a/main/MainWindow.cpp	Wed Jul 15 12:27:40 2015 +0100
+++ b/main/MainWindow.cpp	Wed Apr 20 12:06:28 2016 +0100
@@ -25,6 +25,7 @@
 #include "data/model/SparseOneDimensionalModel.h"
 #include "data/model/RangeSummarisableTimeValueModel.h"
 #include "data/model/NoteModel.h"
+#include "data/model/AggregateWaveModel.h"
 #include "data/model/Labeller.h"
 #include "data/osc/OSCQueue.h"
 #include "framework/Document.h"
@@ -56,10 +57,10 @@
 #include "widgets/TransformFinder.h"
 #include "widgets/LabelCounterInputDialog.h"
 #include "widgets/ActivityLog.h"
-#include "audioio/AudioCallbackPlaySource.h"
-#include "audioio/AudioCallbackPlayTarget.h"
-#include "audioio/AudioTargetFactory.h"
-#include "audioio/PlaySpeedRangeMapper.h"
+#include "widgets/UnitConverter.h"
+#include "audio/AudioCallbackPlaySource.h"
+#include "audio/AudioRecordTarget.h"
+#include "audio/PlaySpeedRangeMapper.h"
 #include "data/fileio/DataFileReaderFactory.h"
 #include "data/fileio/PlaylistFileReader.h"
 #include "data/fileio/WavFileWriter.h"
@@ -67,9 +68,9 @@
 #include "data/fileio/MIDIFileWriter.h"
 #include "data/fileio/BZipFileDevice.h"
 #include "data/fileio/FileSource.h"
-#include "data/fft/FFTDataServer.h"
 #include "data/midi/MIDIInput.h"
 #include "base/RecentFiles.h"
+#include "plugin/PluginScan.h"
 #include "transform/TransformFactory.h"
 #include "transform/ModelTransformerFactory.h"
 #include "base/PlayParameterRepository.h"
@@ -93,6 +94,9 @@
 #include "plugin/api/ladspa.h"
 #include "plugin/api/dssi.h"
 
+#include <bqaudioio/SystemPlaybackTarget.h>
+#include <bqaudioio/SystemAudioIO.h>
+
 #include <QApplication>
 #include <QMessageBox>
 #include <QGridLayout>
@@ -107,6 +111,7 @@
 #include <QFileInfo>
 #include <QDir>
 #include <QTextStream>
+#include <QTextCodec>
 #include <QProcess>
 #include <QShortcut>
 #include <QSettings>
@@ -146,8 +151,8 @@
 
 bool isIMAF;
 
-MainWindow::MainWindow(bool withAudioOutput, bool withOSCSupport) :
-    MainWindowBase(withAudioOutput, withOSCSupport, true),
+MainWindow::MainWindow(SoundOptions options, bool withOSCSupport) :
+    MainWindowBase(options),
     m_overview(0),
     m_mainMenusCreated(false),
     m_paneMenu(0),
@@ -164,8 +169,6 @@
     m_rightButtonTransformsMenu(0),
     m_rightButtonPlaybackMenu(0),
     m_soloAction(0),
-    m_soloModified(false),
-    m_prevSolo(false),
     m_rwdStartAction(0),
     m_rwdSimilarAction(0),
     m_rwdAction(0),
@@ -173,13 +176,17 @@
     m_ffwdSimilarAction(0),
     m_ffwdEndAction(0),
     m_playAction(0),
+    m_recordAction(0),
     m_playSelectionAction(0),
     m_playLoopAction(0),
+    m_soloModified(false),
+    m_prevSolo(false),
     m_playControlsSpacer(0),
     m_playControlsWidth(0),
     m_preferencesDialog(0),
     m_layerTreeDialog(0),
     m_activityLog(new ActivityLog()),
+    m_unitConverter(new UnitConverter()),
     m_keyReference(new KeyReference()),
     m_templateWatcher(0)
 {
@@ -251,15 +258,15 @@
 
     m_playSpeed = new AudioDial(frame);
     m_playSpeed->setMinimum(0);
-    m_playSpeed->setMaximum(200);
-    m_playSpeed->setValue(100);
+    m_playSpeed->setMaximum(120);
+    m_playSpeed->setValue(60);
     m_playSpeed->setFixedWidth(32);
     m_playSpeed->setFixedHeight(32);
     m_playSpeed->setNotchesVisible(true);
     m_playSpeed->setPageStep(10);
-    m_playSpeed->setObjectName(tr("Playback Speedup"));
-    m_playSpeed->setDefaultValue(100);
-    m_playSpeed->setRangeMapper(new PlaySpeedRangeMapper(0, 200));
+    m_playSpeed->setObjectName(tr("Playback Speed"));
+    m_playSpeed->setRangeMapper(new PlaySpeedRangeMapper);
+    m_playSpeed->setDefaultValue(60);
     m_playSpeed->setShowToolTip(true);
     connect(m_playSpeed, SIGNAL(valueChanged(int)),
         this, SLOT(playSpeedChanged(int)));
@@ -302,6 +309,8 @@
     m_currentLabel = new QLabel;
     statusBar()->addPermanentWidget(m_currentLabel);
 
+    finaliseMenus();
+
     connect(m_viewManager, SIGNAL(activity(QString)),
             m_activityLog, SLOT(activityHappened(QString)));
     connect(m_playSource, SIGNAL(activity(QString)),
@@ -311,8 +320,13 @@
     connect(this, SIGNAL(activity(QString)),
             m_activityLog, SLOT(activityHappened(QString)));
     connect(this, SIGNAL(replacedDocument()), this, SLOT(documentReplaced()));
+
     m_activityLog->hide();
 
+    m_unitConverter->hide();
+
+    setAudioRecordMode(RecordCreateAdditionalModel);
+    
     newSession();
 
     connect(m_midiInput, SIGNAL(eventsAvailable()),
@@ -321,6 +335,9 @@
     NetworkPermissionTester tester;
     bool networkPermission = tester.havePermission();
     if (networkPermission) {
+        if (withOSCSupport) {
+            startOSCQueue();
+        }
         TransformFactory::getInstance()->startPopulationThread();
         m_surveyer = 0;
         m_versionTester = 0;
@@ -336,6 +353,11 @@
         m_surveyer = 0;
         m_versionTester = 0;
     }
+
+    QString warning = PluginScan::getInstance()->getStartupFailureReport();
+    if (warning != "") {
+        QTimer::singleShot(500, this, SLOT(pluginPopulationWarning()));
+    }
 }
 
 MainWindow::~MainWindow()
@@ -343,6 +365,7 @@
 //    SVDEBUG << "MainWindow::~MainWindow" << endl;
     delete m_keyReference;
     delete m_activityLog;
+    delete m_unitConverter;
     delete m_preferencesDialog;
     delete m_layerTreeDialog;
     delete m_versionTester;
@@ -355,6 +378,17 @@
 MainWindow::setupMenus()
 {
     if (!m_mainMenusCreated) {
+
+#ifdef Q_OS_LINUX
+        // In Ubuntu 14.04 the window's menu bar goes missing entirely
+        // if the user is running any desktop environment other than Unity
+        // (in which the faux single-menubar appears). The user has a
+        // workaround, to remove the appmenu-qt5 package, but that is
+        // awkward and the problem is so severe that it merits disabling
+        // the system menubar integration altogether. Like this:
+	menuBar()->setNativeMenuBar(false);  // fix #1039
+#endif
+
         m_rightButtonMenu = new QMenu();
 
         // No -- we don't want tear-off enabled on the right-button
@@ -423,7 +457,7 @@
         m_scrollLeftAction, m_scrollRightAction, m_showPropertyBoxesAction
     };
 
-    for (int i = 0; i < sizeof(acts)/sizeof(acts[0]); ++i) {
+    for (int i = 0; i < int(sizeof(acts)/sizeof(acts[0])); ++i) {
         sc = new QShortcut(acts[i]->shortcut(), ps);
         connect(sc, SIGNAL(activated()), acts[i], SLOT(trigger()));
     }
@@ -459,7 +493,6 @@
     IconLoader il;
 
     QIcon icon = il.load("filenew");
-    icon.addPixmap(il.loadPixmap("filenew-22"));
     QAction *action = new QAction(icon, tr("&New Session"), this);
     action->setShortcut(tr("Ctrl+N"));
     action->setStatusTip(tr("Abandon the current %1 session and start a new one").arg(QApplication::applicationName()));
@@ -469,11 +502,11 @@
     toolbar->addAction(action);
 
     icon = il.load("fileopen");
-    icon.addPixmap(il.loadPixmap("fileopen-22"));
     action = new QAction(icon, tr("&Open..."), this);
     action->setShortcut(tr("Ctrl+O"));
     action->setStatusTip(tr("Open a session file, audio file, or layer"));
     connect(action, SIGNAL(triggered()), this, SLOT(openSomething()));
+    m_keyReference->registerShortcut(action);
     toolbar->addAction(action);
     menu->addAction(action);
 
@@ -509,7 +542,6 @@
     menu->addSeparator();
 
     icon = il.load("filesave");
-    icon.addPixmap(il.loadPixmap("filesave-22"));
     action = new QAction(icon, tr("&Save Session"), this);
     action->setShortcut(tr("Ctrl+S"));
     action->setStatusTip(tr("Save the current session into a %1 session file").arg(QApplication::applicationName()));
@@ -520,7 +552,6 @@
     toolbar->addAction(action);
 
     icon = il.load("filesaveas");
-    icon.addPixmap(il.loadPixmap("filesaveas-22"));
     action = new QAction(icon, tr("Save Session &As..."), this);
     action->setShortcut(tr("Ctrl+Shift+S"));
     action->setStatusTip(tr("Save the current session into a new %1 session file").arg(QApplication::applicationName()));
@@ -578,10 +609,12 @@
     m_keyReference->registerShortcut(action);
     menu->addAction(action);
 
-    action = new QAction(tr("Export Annotation Layer..."), this);
+    action = new QAction(tr("Export Annotation La&yer..."), this);
+    action->setShortcut(tr("Ctrl+Y"));
     action->setStatusTip(tr("Export layer data to a file"));
     connect(action, SIGNAL(triggered()), this, SLOT(exportLayer()));
     connect(this, SIGNAL(canExportLayer(bool)), action, SLOT(setEnabled(bool)));
+    m_keyReference->registerShortcut(action);
     menu->addAction(action);
 
     menu->addSeparator();
@@ -594,6 +627,13 @@
 
     menu->addSeparator();
 
+    action = new QAction(tr("Browse Recorded Audio Folder"), this);
+    action->setStatusTip(tr("Open the Recorded Audio folder in the system file browser"));
+    connect(action, SIGNAL(triggered()), this, SLOT(browseRecordedAudio()));
+    menu->addAction(action);
+
+    menu->addSeparator();
+
     QString templatesMenuLabel = tr("Apply Session Template");
     m_templatesMenu = menu->addMenu(templatesMenuLabel);
     m_templatesMenu->setTearOffEnabled(true);
@@ -768,7 +808,7 @@
     menu->addAction(action);
 
     action = new QAction(tr("Insert Item at Selection"), this);
-    action->setShortcut(tr("Ctrl+Shift+Enter"));
+    action->setShortcut(tr("Ctrl+Shift+Return"));
     action->setStatusTip(tr("Insert a new note or region item corresponding to the current selection"));
     connect(action, SIGNAL(triggered()), this, SLOT(insertItemAtSelection()));
     connect(this, SIGNAL(canInsertItemAtSelection(bool)), action, SLOT(setEnabled(bool)));
@@ -944,7 +984,7 @@
     action->setStatusTip(tr("Show or hide the centre line"));
     connect(action, SIGNAL(triggered()), this, SLOT(toggleCentreLine()));
     action->setCheckable(true);
-    action->setChecked(true);
+    action->setChecked(m_viewManager->shouldShowCentreLine());
     m_keyReference->registerShortcut(action);
     menu->addAction(action);
 
@@ -958,13 +998,15 @@
     menu->addSeparator();
 
     QActionGroup *overlayGroup = new QActionGroup(this);
+        
+    ViewManager::OverlayMode mode = m_viewManager->getOverlayMode();
 
     action = new QAction(tr("Show &No Overlays"), this);
     action->setShortcut(tr("0"));
     action->setStatusTip(tr("Hide times, layer names, and scale"));
     connect(action, SIGNAL(triggered()), this, SLOT(showNoOverlays()));
     action->setCheckable(true);
-    action->setChecked(false);
+    action->setChecked(mode == ViewManager::NoOverlays);
     overlayGroup->addAction(action);
     m_keyReference->registerShortcut(action);
     menu->addAction(action);
@@ -974,7 +1016,7 @@
     action->setStatusTip(tr("Show times and basic scale"));
     connect(action, SIGNAL(triggered()), this, SLOT(showMinimalOverlays()));
     action->setCheckable(true);
-    action->setChecked(true);
+    action->setChecked(mode == ViewManager::StandardOverlays);
     overlayGroup->addAction(action);
     m_keyReference->registerShortcut(action);
     menu->addAction(action);
@@ -984,7 +1026,7 @@
     action->setStatusTip(tr("Show times, layer names, and scale"));
     connect(action, SIGNAL(triggered()), this, SLOT(showAllOverlays()));
     action->setCheckable(true);
-    action->setChecked(false);
+    action->setChecked(mode == ViewManager::AllOverlays);
     overlayGroup->addAction(action);
     m_keyReference->registerShortcut(action);
     menu->addAction(action);
@@ -1039,6 +1081,11 @@
     connect(action, SIGNAL(triggered()), this, SLOT(showActivityLog()));
     menu->addAction(action);
 
+    action = new QAction(tr("Show &Unit Converter"), this);
+    action->setStatusTip(tr("Open a window of pitch and timing conversion utilities"));
+    connect(action, SIGNAL(triggered()), this, SLOT(showUnitConverter()));
+    menu->addAction(action);
+
     menu->addSeparator();
 
     action = new QAction(tr("Go Full-Screen"), this);
@@ -1162,6 +1209,11 @@
             LayerFactory::LayerType type = backgroundTypes[i];
             bool mono = true;
 
+// Avoid warnings/errors with -Wextra because we aren't explicitly
+// handling all layer types (-Wall is OK with this because of the
+// default but the stricter level insists)
+#pragma GCC diagnostic ignored "-Wswitch-enum"
+            
             switch (type) {
 
             case LayerFactory::Waveform:
@@ -1406,7 +1458,6 @@
 
     setupExistingLayersMenus();
 
-/*!!! These don't work correctly -- fix or omit
     menu->addSeparator();
 
     action = new QAction(tr("Switch to Previous Layer"), this);
@@ -1424,7 +1475,7 @@
     connect(this, SIGNAL(canSelectNextLayer(bool)), action, SLOT(setEnabled(bool)));
     m_keyReference->registerShortcut(action);
     menu->addAction(action);
-*/
+
     m_rightButtonLayerMenu->addSeparator();
     menu->addSeparator();
 
@@ -1455,6 +1506,8 @@
 
     m_keyReference->registerShortcut(raction); // rename after delete, so delete layer goes next to delete pane
     m_keyReference->registerShortcut(eaction); // edit also after delete
+
+    finaliseMenus();
 }
 
 void
@@ -1978,6 +2031,17 @@
     connect(m_ffwdEndAction, SIGNAL(triggered()), this, SLOT(ffwdEnd()));
     connect(this, SIGNAL(canPlay(bool)), m_ffwdEndAction, SLOT(setEnabled(bool)));
 
+    m_recordAction = toolbar->addAction(il.load("record"),
+                                        tr("Record"));
+    m_recordAction->setCheckable(true);
+    m_recordAction->setShortcut(tr("Ctrl+Space"));
+    m_recordAction->setStatusTip(tr("Record a new audio file"));
+    connect(m_recordAction, SIGNAL(triggered()), this, SLOT(record()));
+    connect(m_recordTarget, SIGNAL(recordStatusChanged(bool)),
+	    m_recordAction, SLOT(setChecked(bool)));
+    connect(this, SIGNAL(canRecord(bool)),
+            m_recordAction, SLOT(setEnabled(bool)));
+
     toolbar = addToolBar(tr("Play Mode Toolbar"));
 
     m_playSelectionAction = toolbar->addAction(il.load("playselection"),
@@ -2028,6 +2092,7 @@
     }
 
     m_keyReference->registerShortcut(m_playAction);
+    m_keyReference->registerShortcut(m_recordAction);
     m_keyReference->registerShortcut(m_playSelectionAction);
     m_keyReference->registerShortcut(m_playLoopAction);
     m_keyReference->registerShortcut(m_soloAction);
@@ -2040,6 +2105,7 @@
     m_keyReference->registerShortcut(m_ffwdEndAction);
 
     menu->addAction(m_playAction);
+    menu->addAction(m_recordAction);
     menu->addAction(m_playSelectionAction);
     menu->addAction(m_playLoopAction);
     menu->addAction(m_soloAction);
@@ -2054,8 +2120,11 @@
     menu->addAction(m_rwdStartAction);
     menu->addAction(m_ffwdEndAction);
     menu->addSeparator();
+    menu->addAction(m_recordAction);
+    menu->addSeparator();
 
     m_rightButtonPlaybackMenu->addAction(m_playAction);
+    m_rightButtonPlaybackMenu->addAction(m_recordAction);
     m_rightButtonPlaybackMenu->addAction(m_playSelectionAction);
     m_rightButtonPlaybackMenu->addAction(m_playLoopAction);
     m_rightButtonPlaybackMenu->addAction(m_soloAction);
@@ -2067,6 +2136,8 @@
     m_rightButtonPlaybackMenu->addAction(m_rwdStartAction);
     m_rightButtonPlaybackMenu->addAction(m_ffwdEndAction);
     m_rightButtonPlaybackMenu->addSeparator();
+    m_rightButtonPlaybackMenu->addAction(m_recordAction);
+    m_rightButtonPlaybackMenu->addSeparator();
 
     QAction *fastAction = menu->addAction(tr("Speed Up"));
     fastAction->setShortcut(tr("Ctrl+PgUp"));
@@ -2097,11 +2168,10 @@
     toolbar = addToolBar(tr("Edit Toolbar"));
     CommandHistory::getInstance()->registerToolbar(toolbar);
 
-    m_keyReference->setCategory(tr("Tool Selection"));
-
     toolbar = addToolBar(tr("Tools Toolbar"));
     QActionGroup *group = new QActionGroup(this);
 
+    m_keyReference->setCategory(tr("Tool Selection"));
     QAction *action = toolbar->addAction(il.load("navigate"),
                                          tr("Navigate"));
     action->setCheckable(true);
@@ -2113,7 +2183,23 @@
     group->addAction(action);
     m_keyReference->registerShortcut(action);
     m_toolActions[ViewManager::NavigateMode] = action;
-
+    
+    m_keyReference->setCategory
+        (tr("Navigate Tool Mouse Actions"));
+    m_keyReference->registerShortcut
+        (tr("Navigate"), tr("Left"), 
+         tr("Click left button and drag to move around"));
+    m_keyReference->registerShortcut
+        (tr("Zoom to Area"), tr("Shift+Left"), 
+         tr("Shift-click left button and drag to zoom to a rectangular area"));
+    m_keyReference->registerShortcut
+        (tr("Relocate"), tr("Double-Click Left"), 
+         tr("Double-click left button to jump to clicked location"));
+    m_keyReference->registerShortcut
+        (tr("Edit"), tr("Double-Click Left"), 
+         tr("Double-click left button on an item to edit it"));
+
+    m_keyReference->setCategory(tr("Tool Selection"));
     action = toolbar->addAction(il.load("select"),
                 tr("Select"));
     action->setCheckable(true);
@@ -2123,7 +2209,26 @@
     group->addAction(action);
     m_keyReference->registerShortcut(action);
     m_toolActions[ViewManager::SelectMode] = action;
-
+        
+    m_keyReference->setCategory
+        (tr("Select Tool Mouse Actions"));
+    m_keyReference->registerShortcut
+        (tr("Select"), tr("Left"), 
+         tr("Click left button and drag to select region; drag region edge to resize"));
+#ifdef Q_OS_MAC
+    m_keyReference->registerShortcut
+        (tr("Multi Select"), tr("Ctrl+Left"), 
+         tr("Cmd-click left button and drag to select an additional region"));
+#else
+    m_keyReference->registerShortcut
+        (tr("Multi Select"), tr("Ctrl+Left"), 
+         tr("Ctrl-click left button and drag to select an additional region"));
+#endif
+    m_keyReference->registerShortcut
+        (tr("Fine Select"), tr("Shift+Left"), 
+        tr("Shift-click left button and drag to select without snapping to items or grid"));
+
+    m_keyReference->setCategory(tr("Tool Selection"));
     action = toolbar->addAction(il.load("move"),
                 tr("Edit"));
     action->setCheckable(true);
@@ -2134,7 +2239,17 @@
     group->addAction(action);
     m_keyReference->registerShortcut(action);
     m_toolActions[ViewManager::EditMode] = action;
-
+    
+    m_keyReference->setCategory
+        (tr("Edit Tool Mouse Actions"));
+    m_keyReference->registerShortcut
+        (tr("Move"), tr("Left"), 
+        tr("Click left button on an item or selected region and drag to move"));
+    m_keyReference->registerShortcut
+        (tr("Edit"), tr("Double-Click Left"), 
+        tr("Double-click left button on an item to edit it"));
+
+    m_keyReference->setCategory(tr("Tool Selection"));
     action = toolbar->addAction(il.load("draw"),
                 tr("Draw"));
     action->setCheckable(true);
@@ -2146,6 +2261,13 @@
     m_keyReference->registerShortcut(action);
     m_toolActions[ViewManager::DrawMode] = action;
 
+    m_keyReference->setCategory
+        (tr("Draw Tool Mouse Actions"));
+    m_keyReference->registerShortcut
+        (tr("Draw"), tr("Left"), 
+        tr("Click left button and drag to create new item"));
+
+    m_keyReference->setCategory(tr("Tool Selection"));
     action = toolbar->addAction(il.load("erase"),
                 tr("Erase"));
     action->setCheckable(true);
@@ -2157,6 +2279,13 @@
     m_keyReference->registerShortcut(action);
     m_toolActions[ViewManager::EraseMode] = action;
 
+    m_keyReference->setCategory
+        (tr("Erase Tool Mouse Actions"));
+    m_keyReference->registerShortcut
+        (tr("Erase"), tr("Left"), 
+        tr("Click left button on an item to remove it from the layer"));
+
+    m_keyReference->setCategory(tr("Tool Selection"));
     action = toolbar->addAction(il.load("measure"), tr("Measure"));
     action->setCheckable(true);
     action->setShortcut(tr("6"));
@@ -2167,6 +2296,18 @@
     m_keyReference->registerShortcut(action);
     m_toolActions[ViewManager::MeasureMode] = action;
 
+    m_keyReference->setCategory
+        (tr("Measure Tool Mouse Actions"));
+    m_keyReference->registerShortcut
+        (tr("Measure Area"), tr("Left"), 
+        tr("Click left button and drag to measure a rectangular area"));
+    m_keyReference->registerShortcut
+        (tr("Measure Item"), tr("Double-Click Left"), 
+        tr("Click left button and drag to measure extents of an item or shape"));
+    m_keyReference->registerShortcut
+        (tr("Zoom to Area"), tr("Shift+Left"), 
+        tr("Shift-click left button and drag to zoom to a rectangular area"));
+
     toolNavigateSelected();
 
     Pane::registerShortcuts(*m_keyReference);
@@ -2203,10 +2344,10 @@
         (haveCurrentPane &&
          (currentLayer != 0));
     bool havePlayTarget =
-    (m_playTarget != 0);
-    bool haveSelection =
-    (m_viewManager &&
-     !m_viewManager->getSelections().empty());
+	(m_playTarget != 0 || m_audioIO != 0);
+    bool haveSelection = 
+	(m_viewManager &&
+	 !m_viewManager->getSelections().empty());
     bool haveCurrentEditableLayer =
     (haveCurrentLayer &&
      currentLayer->isLayerEditable());
@@ -2267,8 +2408,8 @@
 
     QString description;
 
-    size_t ssr = getMainModel()->getSampleRate();
-    size_t tsr = ssr;
+    sv_samplerate_t ssr = getMainModel()->getSampleRate();
+    sv_samplerate_t tsr = ssr;
     if (m_playSource) tsr = m_playSource->getTargetSampleRate();
 
     if (ssr != tsr) {
@@ -2491,8 +2632,6 @@
 
     } else if (selections.size() > 1) {
 
-        bool multiple = false;
-
         if (!asData) { // Multi-file export not supported for data
 
             QStringList items;
@@ -2658,6 +2797,7 @@
             error = tr("Failed to open file %1 for writing").arg(path);
         } else {
             QTextStream out(&file);
+            out.setCodec(QTextCodec::codecForName("UTF-8"));
             out << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
                 << "<!DOCTYPE sonic-visualiser>\n"
                 << "<sv>\n"
@@ -2681,7 +2821,7 @@
         if (!nm) {
             error = tr("Can't export non-note layers to MIDI");
         } else {
-            MIDIFileWriter writer(path, nm);
+            MIDIFileWriter writer(path, nm, nm->getSampleRate());
             writer.write();
             if (!writer.isOK()) {
                 error = writer.getError();
@@ -2738,8 +2878,8 @@
     visible = pane->getImageSize(pane->getFirstVisibleFrame(),
                                  pane->getLastVisibleFrame());
 
-    size_t sf0 = 0, sf1 = 0;
-
+    sv_frame_t sf0 = 0, sf1 = 0;
+ 
     if (haveSelection) {
         MultiSelection::SelectionList selections = m_viewManager->getSelections();
         sf0 = selections.begin()->getStartFrame();
@@ -2810,6 +2950,17 @@
 }
 
 void
+MainWindow::browseRecordedAudio()
+{
+    if (!m_recordTarget) return;
+
+    QString path = m_recordTarget->getRecordFolder();
+    if (path == "") return;
+
+    openLocalFolder(path);
+}
+
+void
 MainWindow::newSession()
 {
     if (!checkSaveModified()) return;
@@ -2885,6 +3036,7 @@
     delete m_preferencesDialog.data();
 
     m_activityLog->hide();
+    m_unitConverter->hide();
     m_keyReference->hide();
 
     delete m_document;
@@ -2901,26 +3053,6 @@
 }
 
 void
-MainWindow::openSession()
-{
-    if (!checkSaveModified()) return;
-
-    QString orig = m_audioFile;
-    if (orig == "") orig = ".";
-    else orig = QFileInfo(orig).absoluteDir().canonicalPath();
-
-    QString path = getOpenFileName(FileFinder::SessionFile);
-
-    if (path.isEmpty()) return;
-
-    if (openSessionFile(path) == FileOpenFailed) {
-        emit hideSplash();
-    QMessageBox::critical(this, tr("Failed to open file"),
-                  tr("<b>File open failed</b><p>Session file \"%1\" could not be opened").arg(path));
-    }
-}
-
-void
 MainWindow::openSomething()
 {
     QString orig = m_audioFile;
@@ -2931,7 +3063,7 @@
 
         if (path.isEmpty()) return;
 
-    FileOpenStatus status = open(path, ReplaceSession);
+    FileOpenStatus status = openPath(path, ReplaceSession);
 
     if (status == FileOpenFailed) {
         emit hideSplash();
@@ -2968,7 +3100,7 @@
 
     if (text.isEmpty()) return;
 
-    FileOpenStatus status = open(text, AskUser);
+    FileOpenStatus status = openPath(text, AskUser);
 
     if (status == FileOpenFailed) {
         emit hideSplash();
@@ -2996,7 +3128,7 @@
     QString path = action->text();
     if (path == "") return;
 
-    FileOpenStatus status = open(path, ReplaceSession);
+    FileOpenStatus status = openPath(path, ReplaceSession);
 
     if (status == FileOpenFailed) {
         emit hideSplash();
@@ -3043,7 +3175,7 @@
 void
 MainWindow::saveSessionAsTemplate()
 {
-    QDialog *d = new QDialog;
+    QDialog *d = new QDialog(this);
     d->setWindowTitle(tr("Enter template name"));
 
     QGridLayout *layout = new QGridLayout;
@@ -3124,9 +3256,9 @@
         FileOpenStatus status;
 
         if (i == uriList.begin()) {
-            status = open(*i, ReplaceCurrentPane);
+            status = openPath(*i, ReplaceCurrentPane);
         } else {
-            status = open(*i, CreateAdditionalModel);
+            status = openPath(*i, CreateAdditionalModel);
         }
 
         if (status == FileOpenFailed) {
@@ -3356,9 +3488,9 @@
     QMessageBox::critical(this, tr("Failed to save file"),
                   tr("<b>Save failed</b><p>Session file \"%1\" could not be saved.").arg(path));
     } else {
-    setWindowTitle(tr("%1: %1")
+	setWindowTitle(tr("%1: %2")
                        .arg(QApplication::applicationName())
-               .arg(QFileInfo(path).fileName()));
+                       .arg(QFileInfo(path).fileName()));
     m_sessionFile = path;
     CommandHistory::getInstance()->documentSaved();
     documentRestored();
@@ -3403,6 +3535,8 @@
     QObject *s = sender();
     QAction *action = dynamic_cast<QAction *>(s);
 
+    cerr << "addPane: sender is " << s << ", action is " << action << ", name " << action->text() << endl;
+    
     if (!action) {
 	cerr << "WARNING: MainWindow::addPane: sender is not an action"
 		  << endl;
@@ -3414,6 +3548,11 @@
     if (i == m_paneActions.end()) {
 	cerr << "WARNING: MainWindow::addPane: unknown action "
 		  << action->objectName() << endl;
+        cerr << "known actions are:" << endl;
+        for (PaneActionMap::const_iterator i = m_paneActions.begin();
+             i != m_paneActions.end(); ++i) {
+            cerr << i->first << ", name " << i->first->text() << endl;
+        }
 	return;
     }
 
@@ -3603,7 +3742,7 @@
                     cerr << "WARNING: MainWindow::addLayer: unknown model "
                               << model
                               << " (\""
-                              << (model ? model->objectName() : "")
+                              << model->objectName()
                               << "\") in layer action map"
                               << endl;
                 }
@@ -3657,25 +3796,50 @@
         m_document->getTransformInputModels();
 
     Model *defaultInputModel = 0;
+
     for (int j = 0; j < pane->getLayerCount(); ++j) {
+
         Layer *layer = pane->getLayer(j);
         if (!layer) continue;
+
         if (LayerFactory::getInstance()->getLayerType(layer) !=
             LayerFactory::Waveform &&
             !layer->isLayerOpaque()) continue;
+
         Model *model = layer->getModel();
         if (!model) continue;
+
         for (size_t k = 0; k < candidateInputModels.size(); ++k) {
             if (candidateInputModels[k] == model) {
                 defaultInputModel = model;
                 break;
             }
         }
+
         if (defaultInputModel) break;
     }
 
-    size_t startFrame = 0, duration = 0;
-    size_t endFrame = 0;
+    if (candidateInputModels.size() > 1) {
+        // Add an aggregate model as another option
+        AggregateWaveModel::ChannelSpecList sl;
+        foreach (Model *m, candidateInputModels) {
+            RangeSummarisableTimeValueModel *r =
+                qobject_cast<RangeSummarisableTimeValueModel *>(m);
+            if (r) {
+                sl.push_back(AggregateWaveModel::ModelChannelSpec(r, -1));
+            }
+        }
+        if (!sl.empty()) {
+            AggregateWaveModel *aggregate = new AggregateWaveModel(sl);
+            aggregate->setObjectName(tr("Multiplex all of the above"));
+            candidateInputModels.push_back(aggregate);
+            //!!! but it leaks
+        }
+    }
+    
+    sv_frame_t startFrame = 0, duration = 0;
+    sv_frame_t endFrame = 0;
+
     m_viewManager->getSelection().getExtents(startFrame, endFrame);
     if (endFrame > startFrame) duration = endFrame - startFrame;
     else startFrame = 0;
@@ -3797,26 +3961,38 @@
 void
 MainWindow::playSpeedChanged(int position)
 {
-    PlaySpeedRangeMapper mapper(0, 200);
-
-    float percent = m_playSpeed->mappedValue();
-    float factor = mapper.getFactorForValue(percent);
-
-//    cerr << "speed = " << position << " percent = " << percent << " factor = " << factor << endl;
-
-    bool something = (position != 100);
-
-    int pc = lrintf(percent);
-
-    if (!something) {
+    PlaySpeedRangeMapper mapper;
+
+    double percent = m_playSpeed->mappedValue();
+    double factor = mapper.getFactorForValue(percent);
+
+//    cerr << "play speed position = " << position << " (range 0-120) percent = " << percent << " factor = " << factor << endl;
+
+    int centre = m_playSpeed->defaultValue();
+
+    // Percentage is shown to 0dp if >100, to 1dp if <100; factor is
+    // shown to 3sf
+
+    char pcbuf[30];
+    char facbuf[30];
+    
+    if (position == centre) {
         contextHelpChanged(tr("Playback speed: Normal"));
+    } else if (position < centre) {
+        sprintf(pcbuf, "%.1f", percent);
+        sprintf(facbuf, "%.3g", 1.0 / factor);
+        contextHelpChanged(tr("Playback speed: %1% (%2x slower)")
+                           .arg(pcbuf)
+                           .arg(facbuf));
     } else {
-        contextHelpChanged(tr("Playback speed: %1%2%")
-                           .arg(position > 100 ? "+" : "")
-                           .arg(pc));
+        sprintf(pcbuf, "%.0f", percent);
+        sprintf(facbuf, "%.3g", factor);
+        contextHelpChanged(tr("Playback speed: %1% (%2x faster)")
+                           .arg(pcbuf)
+                           .arg(facbuf));
     }
 
-    m_playSource->setTimeStretch(factor);
+    m_playSource->setTimeStretch(1.0 / factor); // factor is a speedup
 
     updateMenuStates();
 }
@@ -3851,6 +4027,29 @@
     MainWindowBase::currentPaneChanged(pane);
 
     if (!pane || !m_panLayer) return;
+
+    // If this pane contains the main model, it usually makes sense to
+    // show the main model in the pan layer even if it isn't the top
+    // layer in the pane (e.g. if the top layer is one derived from
+    // the main model).
+    bool containsMainModel = false;
+    for (int i = pane->getLayerCount(); i > 0; ) {
+        --i;
+        Layer *layer = pane->getLayer(i);
+        if (layer &&
+            LayerFactory::getInstance()->getLayerType(layer) ==
+            LayerFactory::Waveform &&
+            layer->getModel() == getMainModel()) {
+            containsMainModel = true;
+            break;
+        }
+    }
+
+    if (containsMainModel) {
+        m_panLayer->setModel(getMainModel());
+        return;
+    }
+
     for (int i = pane->getLayerCount(); i > 0; ) {
         --i;
         Layer *layer = pane->getLayer(i);
@@ -3874,7 +4073,7 @@
     }
 
     bool haveSelection = false;
-    size_t startFrame = 0, endFrame = 0;
+    sv_frame_t startFrame = 0, endFrame = 0;
 
     if (m_viewManager && m_viewManager->haveInProgressSelection()) {
 
@@ -3914,7 +4113,9 @@
             .arg(startStr).arg(endStr).arg(durationStr);
     }
 
-    statusBar()->showMessage(m_myStatusMessage);
+    if (getStatusLabel()->text() != m_myStatusMessage) {
+        getStatusLabel()->setText(m_myStatusMessage);
+    }
 
     updatePositionStatusDisplays();
 }
@@ -3925,7 +4126,7 @@
     if (!statusBar()->isVisible()) return;
 
     Pane *pane = 0;
-    size_t frame = m_viewManager->getPlaybackFrame();
+    sv_frame_t frame = m_viewManager->getPlaybackFrame();
 
     if (m_paneStack) pane = m_paneStack->getCurrentPane();
     if (!pane) return;
@@ -3952,7 +4153,8 @@
 }
 
 void
-MainWindow::sampleRateMismatch(size_t requested, size_t actual,
+MainWindow::sampleRateMismatch(sv_samplerate_t requested,
+                               sv_samplerate_t actual,
                                bool willResample)
 {
     if (!willResample) {
@@ -3986,18 +4188,34 @@
 }
 
 void
+MainWindow::pluginPopulationWarning()
+{
+    QString warning = PluginScan::getInstance()->getStartupFailureReport();
+    QMessageBox::warning(this, tr("Problems loading plugins"), warning);
+}
+
+void
 MainWindow::midiEventsAvailable()
 {
     Pane *currentPane = 0;
     NoteLayer *currentNoteLayer = 0;
     TimeValueLayer *currentTimeValueLayer = 0;
 
-    if (m_paneStack) currentPane = m_paneStack->getCurrentPane();
+    if (m_paneStack) {
+        currentPane = m_paneStack->getCurrentPane();
+    }
+
     if (currentPane) {
         currentNoteLayer = dynamic_cast<NoteLayer *>
             (currentPane->getSelectedLayer());
         currentTimeValueLayer = dynamic_cast<TimeValueLayer *>
             (currentPane->getSelectedLayer());
+    } else {
+        // discard these events
+        while (m_midiInput->getEventsAvailable() > 0) {
+            (void)m_midiInput->readEvent();
+        }
+        return;
     }
 
     // This is called through a serialised signal/slot invocation
@@ -4009,7 +4227,7 @@
 
         MIDIEvent ev(m_midiInput->readEvent());
 
-        size_t frame = currentPane->alignFromReference(ev.getTime());
+        sv_frame_t frame = currentPane->alignFromReference(ev.getTime());
 
         bool noteOn = (ev.getMessageType() == MIDIConstants::MIDI_NOTE_ON &&
                        ev.getVelocity() > 0);
@@ -4054,17 +4272,21 @@
                     (tvm, point, tr("Add Point"));
                 CommandHistory::getInstance()->addCommand(command);
             }
+
             continue;
-
         }
 
+        // This is reached only if !currentNoteLayer and
+        // !currentTimeValueLayer, i.e. there is some other sort of
+        // layer that may be insertable-into
+
         if (!noteOn) continue;
         insertInstantAt(ev.getTime());
     }
 }
 
 void
-MainWindow::playStatusChanged(bool playing)
+MainWindow::playStatusChanged(bool )
 {
     Pane *currentPane = 0;
     NoteLayer *currentNoteLayer = 0;
@@ -4109,13 +4331,36 @@
 
     MainWindowBase::mainModelChanged(model);
 
+    if (m_playTarget || m_audioIO) {
+        connect(m_fader, SIGNAL(valueChanged(float)),
+                this, SLOT(mainModelGainChanged(float)));
+    }
+}
+
+void
+MainWindow::mainModelGainChanged(float gain)
+{
     if (m_playTarget) {
-        connect(m_fader, SIGNAL(valueChanged(float)),
-                m_playTarget, SLOT(setOutputGain(float)));
+        m_playTarget->setOutputGain(gain);
+    } else if (m_audioIO) {
+        m_audioIO->setOutputGain(gain);
     }
 }
 
 void
+MainWindow::modelAboutToBeDeleted(Model *model)
+{
+    if (model == m_panLayer->getModel()) {
+        if (model == getMainModel()) {
+            m_panLayer->setModel(0);
+        } else {
+            m_panLayer->setModel(getMainModel());
+        }
+    }
+    MainWindowBase::modelAboutToBeDeleted(model);
+}
+
+void
 MainWindow::setInstantsNumbering()
 {
     QAction *a = dynamic_cast<QAction *>(sender());
@@ -4167,26 +4412,31 @@
 {
     emit hideSplash();
 
+    QString quoted;
+    if (transformName != "") {
+        quoted = QString("\"%1\" ").arg(transformName);
+    }
+    
     if (message != "") {
 
         QMessageBox::warning
             (this,
              tr("Failed to generate layer"),
-             tr("<b>Layer generation failed</b><p>Failed to generate derived layer.<p>The layer transform \"%1\" failed:<p>%2")
-             .arg(transformName).arg(message),
+             tr("<b>Layer generation failed</b><p>Failed to generate derived layer.<p>The layer transform %1failed:<p>%2")
+             .arg(quoted).arg(message),
              QMessageBox::Ok);
     } else {
         QMessageBox::warning
             (this,
              tr("Failed to generate layer"),
-             tr("<b>Layer generation failed</b><p>Failed to generate a derived layer.<p>The layer transform \"%1\" failed.<p>No error information is available.")
-             .arg(transformName),
+             tr("<b>Layer generation failed</b><p>Failed to generate a derived layer.<p>The layer transform %1failed.<p>No error information is available.")
+             .arg(quoted),
              QMessageBox::Ok);
     }
 }
 
 void
-MainWindow::modelGenerationWarning(QString transformName, QString message)
+MainWindow::modelGenerationWarning(QString /* transformName */, QString message)
 {
     emit hideSplash();
 
@@ -4220,7 +4470,8 @@
 
 void
 MainWindow::modelRegenerationWarning(QString layerName,
-                                     QString transformName, QString message)
+                                     QString /* transformName */,
+                                     QString message)
 {
     emit hideSplash();
 
@@ -4258,7 +4509,7 @@
         return;
     }
 
-    m_layerTreeDialog = new LayerTreeDialog(m_paneStack);
+    m_layerTreeDialog = new LayerTreeDialog(m_paneStack, this);
     m_layerTreeDialog->setAttribute(Qt::WA_DeleteOnClose); // see below
     m_layerTreeDialog->show();
 }
@@ -4272,6 +4523,13 @@
 }
 
 void
+MainWindow::showUnitConverter()
+{
+    m_unitConverter->show();
+    m_unitConverter->raise();
+}
+
+void
 MainWindow::preferences()
 {
     bool goToTemplateTab =
@@ -4458,8 +4716,8 @@
     aboutText.replace(tr("With "), tr("Using "));
 #endif
 
-    aboutText +=
-        "<p><small>Sonic Visualiser Copyright &copy; 2005&ndash;2013 Chris Cannam and "
+    aboutText += 
+        "<p><small>Sonic Visualiser Copyright &copy; 2005&ndash;2015 Chris Cannam and "
         "Queen Mary, University of London.</small></p>"
         "<p><small>This program is free software; you can redistribute it and/or "
         "modify it under the terms of the GNU General Public License as "
@@ -5151,12 +5409,13 @@
 
       char buf[2];
        sprintf(buf, "%d", i); //convert int to char
-       status = open(buf, CreateAdditionalModel);
+       status = openPath(buf, CreateAdditionalModel);
        remove (buf);
 
   }
 
 }
+
 void CheckBox::set_selruleType(QAbstractButton *button)
 {
     selrule_type = button->objectName().toInt();
--- a/main/MainWindow.h	Wed Jul 15 12:27:40 2015 +0100
+++ b/main/MainWindow.h	Wed Apr 20 12:06:28 2016 +0100
@@ -22,6 +22,7 @@
 class Surveyer;
 class LayerTreeDialog;
 class ActivityLog;
+class UnitConverter;
 
 class QFileSystemWatcher;
 class QScrollArea;
@@ -31,8 +32,7 @@
     Q_OBJECT
 
 public:
-    MainWindow(bool withAudioOutput = true,
-               bool withOSCSupport = true);
+    MainWindow(SoundOptions options, bool withOSCSupport = true);
     virtual ~MainWindow();
 
 signals:
@@ -47,7 +47,6 @@
     void endFullScreen();
 
 protected slots:
-    virtual void openSession();
     virtual void importAudio();
     virtual void importMoreAudio();
     virtual void replaceMainAudio();
@@ -60,13 +59,14 @@
     virtual void importLayer();
     virtual void exportLayer();
     virtual void exportImage();
+    virtual void browseRecordedAudio();
     virtual void saveSession();
     virtual void saveSessionAs();
     virtual void newSession();
     virtual void closeSession();
     virtual void preferences();
 
-    virtual void sampleRateMismatch(size_t, size_t, bool);
+    virtual void sampleRateMismatch(sv_samplerate_t, sv_samplerate_t, bool);
     virtual void audioOverloadPluginDisabled();
     virtual void audioTimeStretchMultiChannelDisabled();
 
@@ -132,10 +132,13 @@
     virtual void layerInAView(Layer *, bool);
 
     virtual void mainModelChanged(WaveFileModel *);
+    virtual void mainModelGainChanged(float);
     virtual void modelAdded(Model *);
+    virtual void modelAboutToBeDeleted(Model *);
 
     virtual void showLayerTree();
     virtual void showActivityLog();
+    virtual void showUnitConverter();
 
     virtual void mouseEnteredWidget();
     virtual void mouseLeftWidget();
@@ -144,6 +147,8 @@
     virtual void midiEventsAvailable();
     virtual void playStatusChanged(bool);
 
+    virtual void pluginPopulationWarning();
+
     virtual void saveSessionAsTemplate();
     virtual void manageSavedTemplates();
 
@@ -189,6 +194,7 @@
     QAction                 *m_ffwdSimilarAction;
     QAction                 *m_ffwdEndAction;
     QAction                 *m_playAction;
+    QAction                 *m_recordAction;
     QAction                 *m_playSelectionAction;
     QAction                 *m_playLoopAction;
     QAction                 *m_manageTemplatesAction;
@@ -212,6 +218,7 @@
     QPointer<LayerTreeDialog>   m_layerTreeDialog;
 
     ActivityLog             *m_activityLog;
+    UnitConverter           *m_unitConverter;
     KeyReference            *m_keyReference;
 
     QFileSystemWatcher      *m_templateWatcher;
--- a/main/NetworkPermissionTester.cpp	Wed Jul 15 12:27:40 2015 +0100
+++ b/main/NetworkPermissionTester.cpp	Wed Apr 20 12:06:28 2016 +0100
@@ -57,9 +57,12 @@
               "<p><b>This is an experimental release of Sonic Visualiser with support for import and export of IM-AF encoded multitrack files.</b><br>It is not a standard Sonic Visualiser release.</p>"
               "<p><hr></p>"
 	      "<p><b>Before we go on...</b></p>"
-	      "<p>Sonic Visualiser needs to make occasional network requests to our servers.</p>"
+	      "<p>Sonic Visualiser would like to make networking connections and open a network port.</p>"
 	      "<p>This is to:</p>"
-	      "<ul><li> look up information about available and installed plugins.</li></ul>"
+	      "<ul><li> Find information about available and installed plugins;</li>"
+	      "<li> Support the use of Open Sound Control, where configured; and</li>"
+	      "<li> Tell you when updates are available.</li>"
+              "</ul>"
 	      "<p>No personal information will be sent, no tracking is carried out, and all requests happen in the background without interrupting your work.</p>"
 	      "<p>We recommend that you allow this, because it makes Sonic Visualiser more useful. But if you do not wish to do so, please un-check the box below.<br></p>"));
 	layout->addWidget(label, 0, 0);
--- a/main/OSCHandler.cpp	Wed Jul 15 12:27:40 2015 +0100
+++ b/main/OSCHandler.cpp	Wed Apr 20 12:06:28 2016 +0100
@@ -22,14 +22,15 @@
 #include "view/PaneStack.h"
 #include "data/model/WaveFileModel.h"
 #include "widgets/CommandHistory.h"
-#include "audioio/AudioCallbackPlaySource.h"
-#include "audioio/AudioCallbackPlayTarget.h"
+#include "audio/AudioCallbackPlaySource.h"
 #include "framework/Document.h"
 #include "data/fileio/WavFileWriter.h"
 #include "transform/TransformFactory.h"
 #include "widgets/Fader.h"
 #include "widgets/AudioDial.h"
 
+#include <bqaudioio/SystemPlaybackTarget.h>
+
 #include <QFileInfo>
 
 void
@@ -123,7 +124,7 @@
 
         if (getMainModel()) {
 
-            unsigned long frame = m_viewManager->getPlaybackFrame();
+            sv_frame_t frame = m_viewManager->getPlaybackFrame();
             bool selection = false;
             bool play = (message.getMethod() == "play");
 
@@ -233,8 +234,8 @@
 
         if (getMainModel()) {
 
-            int f0 = getMainModel()->getStartFrame();
-            int f1 = getMainModel()->getEndFrame();
+            sv_frame_t f0 = getMainModel()->getStartFrame();
+            sv_frame_t f1 = getMainModel()->getEndFrame();
 
             bool done = false;
 
@@ -255,7 +256,7 @@
                 Layer *layer = 0;
                 if (pane) layer = pane->getSelectedLayer();
                 if (layer) {
-                    size_t resolution;
+                    int resolution;
                     layer->snapToFeatureFrame(pane, f0, resolution,
                                               Layer::SnapLeft);
                     layer->snapToFeatureFrame(pane, f1, resolution,
@@ -349,7 +350,7 @@
                 if (value < 0.5) {
                     m_viewManager->setOverlayMode(ViewManager::NoOverlays);
                 } else if (value < 1.5) {
-                    m_viewManager->setOverlayMode(ViewManager::MinimalOverlays);
+                    m_viewManager->setOverlayMode(ViewManager::StandardOverlays);
                 } else {
                     m_viewManager->setOverlayMode(ViewManager::AllOverlays);
                 }
@@ -452,7 +453,7 @@
                 double level = message.getArg(0).toDouble();
                 Pane *currentPane = m_paneStack->getCurrentPane();
                 if (level < 1.0) level = 1.0;
-                if (currentPane) currentPane->setZoomLevel(lrint(level));
+                if (currentPane) currentPane->setZoomLevel(int(lrint(level)));
             }
         }
 
--- a/main/PreferencesDialog.cpp	Wed Jul 15 12:27:40 2015 +0100
+++ b/main/PreferencesDialog.cpp	Wed Apr 20 12:06:28 2016 +0100
@@ -39,8 +39,12 @@
 #include "widgets/WindowTypeSelector.h"
 #include "widgets/IconLoader.h"
 #include "base/Preferences.h"
-#include "audioio/AudioTargetFactory.h"
 #include "base/ResourceFinder.h"
+#include "layer/ColourMapper.h"
+
+//#include "audioio/AudioTargetFactory.h"
+
+#include "version.h"
 
 PreferencesDialog::PreferencesDialog(QWidget *parent) :
     QDialog(parent),
@@ -120,6 +124,33 @@
     connect(propertyLayout, SIGNAL(currentIndexChanged(int)),
             this, SLOT(propertyLayoutChanged(int)));
 
+    QSettings settings;
+    settings.beginGroup("Preferences");
+    m_spectrogramGColour = (settings.value("spectrogram-colour",
+                                           int(ColourMapper::Green)).toInt());
+    m_spectrogramMColour = (settings.value("spectrogram-melodic-colour",
+                                           int(ColourMapper::Sunset)).toInt());
+    m_colour3DColour = (settings.value("colour-3d-plot-colour",
+                                       int(ColourMapper::Green)).toInt());
+    settings.endGroup();
+    QComboBox *spectrogramGColour = new QComboBox;
+    QComboBox *spectrogramMColour = new QComboBox;
+    QComboBox *colour3DColour = new QComboBox;
+    for (i = 0; i < ColourMapper::getColourMapCount(); ++i) {
+        spectrogramGColour->addItem(ColourMapper::getColourMapName(i));
+        spectrogramMColour->addItem(ColourMapper::getColourMapName(i));
+        colour3DColour->addItem(ColourMapper::getColourMapName(i));
+        if (i == m_spectrogramGColour) spectrogramGColour->setCurrentIndex(i);
+        if (i == m_spectrogramMColour) spectrogramMColour->setCurrentIndex(i);
+        if (i == m_colour3DColour) colour3DColour->setCurrentIndex(i);
+    }
+    connect(spectrogramGColour, SIGNAL(currentIndexChanged(int)),
+            this, SLOT(spectrogramGColourChanged(int)));
+    connect(spectrogramMColour, SIGNAL(currentIndexChanged(int)),
+            this, SLOT(spectrogramMColourChanged(int)));
+    connect(colour3DColour, SIGNAL(currentIndexChanged(int)),
+            this, SLOT(colour3DColourChanged(int)));
+
     m_tuningFrequency = prefs->getTuningFrequency();
 
     QDoubleSpinBox *frequency = new QDoubleSpinBox;
@@ -133,6 +164,20 @@
     connect(frequency, SIGNAL(valueChanged(double)),
             this, SLOT(tuningFrequencyChanged(double)));
 
+    QComboBox *octaveSystem = new QComboBox;
+    int oct = prefs->getPropertyRangeAndValue
+        ("Octave Numbering System", &min, &max, &deflt);
+    m_octaveSystem = oct;
+    for (i = min; i <= max; ++i) {
+        octaveSystem->addItem(prefs->getPropertyValueLabel
+                              ("Octave Numbering System", i));
+    }
+    octaveSystem->setCurrentIndex(oct);
+
+    connect(octaveSystem, SIGNAL(currentIndexChanged(int)),
+            this, SLOT(octaveSystemChanged(int)));
+
+    /*!!! restore
     QComboBox *audioDevice = new QComboBox;
     std::vector<QString> devices =
         AudioTargetFactory::getInstance()->getCallbackTargetNames();
@@ -150,7 +195,7 @@
 
     connect(audioDevice, SIGNAL(currentIndexChanged(int)),
             this, SLOT(audioDeviceChanged(int)));
-
+    */
     QComboBox *resampleQuality = new QComboBox;
 
     int rsq = prefs->getPropertyRangeAndValue("Resample Quality", &min, &max,
@@ -191,7 +236,7 @@
     connect(showSplash, SIGNAL(stateChanged(int)),
             this, SLOT(showSplashChanged(int)));
 
-#ifndef Q_OS_MAC
+#ifdef NOT_DEFINED // This no longer works correctly on any platform AFAICS
     QComboBox *bgMode = new QComboBox;
     int bg = prefs->getPropertyRangeAndValue("Background Mode", &min, &max,
                                              &deflt);
@@ -206,8 +251,22 @@
 #endif
 
     settings.beginGroup("Preferences");
+
+#ifdef Q_OS_MAC
+    m_retina = settings.value("scaledHiDpi", true).toBool();
+    QCheckBox *retina = new QCheckBox;
+    retina->setCheckState(m_retina ? Qt::Checked : Qt::Unchecked);
+    connect(retina, SIGNAL(stateChanged(int)), this, SLOT(retinaChanged(int)));
+#else
+    m_retina = false;
+#endif
+
     QString userLocale = settings.value("locale", "").toString();
     m_currentLocale = userLocale;
+    
+    QString permishTag = QString("network-permission-%1").arg(SV_VERSION);
+    m_networkPermission = settings.value(permishTag, false).toBool();
+
     settings.endGroup();
 
     QComboBox *locale = new QComboBox;
@@ -240,6 +299,11 @@
     connect(locale, SIGNAL(currentIndexChanged(int)),
             this, SLOT(localeChanged(int)));
 
+    QCheckBox *networkPermish = new QCheckBox;
+    networkPermish->setCheckState(m_networkPermission ? Qt::Checked : Qt::Unchecked);
+    connect(networkPermish, SIGNAL(stateChanged(int)),
+            this, SLOT(networkPermissionChanged(int)));
+
     QSpinBox *fontSize = new QSpinBox;
     int fs = prefs->getPropertyRangeAndValue("View Font Size", &min, &max,
                                              &deflt);
@@ -265,6 +329,14 @@
     connect(ttMode, SIGNAL(currentIndexChanged(int)),
             this, SLOT(timeToTextModeChanged(int)));
 
+    QCheckBox *hms = new QCheckBox;
+    int showHMS = prefs->getPropertyRangeAndValue
+        ("Show Hours And Minutes", &min, &max, &deflt);
+    m_showHMS = (showHMS != 0);
+    hms->setCheckState(m_showHMS ? Qt::Checked : Qt::Unchecked);
+    connect(hms, SIGNAL(stateChanged(int)),
+            this, SLOT(showHMSChanged(int)));
+    
     // General tab
 
     QFrame *frame = new QFrame;
@@ -278,6 +350,10 @@
                        row, 0);
     subgrid->addWidget(locale, row++, 1, 1, 1);
 
+    subgrid->addWidget(new QLabel(tr("%1:").arg(tr("Allow network usage"))),
+                       row, 0);
+    subgrid->addWidget(networkPermish, row++, 1, 1, 1);
+
     subgrid->addWidget(new QLabel(tr("%1:").arg(prefs->getPropertyLabel
                                                 ("Temporary Directory Root"))),
                        row, 0);
@@ -290,8 +366,8 @@
                        row, 0);
     subgrid->addWidget(resampleOnLoad, row++, 1, 1, 1);
 
-    subgrid->addWidget(new QLabel(tr("Playback audio device:")), row, 0);
-    subgrid->addWidget(audioDevice, row++, 1, 1, 2);
+//!!!    subgrid->addWidget(new QLabel(tr("Playback audio device:")), row, 0);
+//!!!    subgrid->addWidget(audioDevice, row++, 1, 1, 2);
 
     subgrid->addWidget(new QLabel(tr("%1:").arg(prefs->getPropertyLabel
                                                 ("Resample Quality"))),
@@ -311,11 +387,35 @@
     row = 0;
 
     subgrid->addWidget(new QLabel(tr("%1:").arg(prefs->getPropertyLabel
+                                                ("Show Splash Screen"))),
+                       row, 0);
+    subgrid->addWidget(showSplash, row++, 1, 1, 1);
+
+#ifdef Q_OS_MAC
+    if (devicePixelRatio() > 1) {
+        subgrid->addWidget(new QLabel(tr("Draw layers at Retina resolution:")), row, 0);
+        subgrid->addWidget(retina, row++, 1, 1, 1);
+    }
+#endif
+
+    subgrid->addWidget(new QLabel(tr("%1:").arg(prefs->getPropertyLabel
                                                 ("Property Box Layout"))),
                        row, 0);
     subgrid->addWidget(propertyLayout, row++, 1, 1, 2);
 
-#ifndef Q_OS_MAC
+    subgrid->addWidget(new QLabel(tr("Default spectrogram colour:")),
+                       row, 0);
+    subgrid->addWidget(spectrogramGColour, row++, 1, 1, 2);
+
+    subgrid->addWidget(new QLabel(tr("Default melodic spectrogram colour:")),
+                       row, 0);
+    subgrid->addWidget(spectrogramMColour, row++, 1, 1, 2);
+
+    subgrid->addWidget(new QLabel(tr("Default colour 3D plot colour:")),
+                       row, 0);
+    subgrid->addWidget(colour3DColour, row++, 1, 1, 2);
+
+#ifdef NOT_DEFINED // see earlier
     subgrid->addWidget(new QLabel(tr("%1:").arg(prefs->getPropertyLabel
                                                 ("Background Mode"))),
                        row, 0);
@@ -333,9 +433,9 @@
     subgrid->addWidget(ttMode, row++, 1, 1, 2);
 
     subgrid->addWidget(new QLabel(tr("%1:").arg(prefs->getPropertyLabel
-                                                ("Show Splash Screen"))),
+                                                ("Show Hours And Minutes"))),
                        row, 0);
-    subgrid->addWidget(showSplash, row++, 1, 1, 1);
+    subgrid->addWidget(hms, row++, 1, 1, 1);
 
     subgrid->setRowStretch(row, 10);
 
@@ -354,6 +454,11 @@
                        row, 0);
     subgrid->addWidget(frequency, row++, 1, 1, 2);
 
+    subgrid->addWidget(new QLabel(tr("%1:").arg(prefs->getPropertyLabel
+                                                ("Octave Numbering System"))),
+                       row, 0);
+    subgrid->addWidget(octaveSystem, row++, 1, 1, 2);
+
     subgrid->addWidget(new QLabel(prefs->getPropertyLabel
                                   ("Spectrogram Y Smoothing")),
                        row, 0);
@@ -471,6 +576,27 @@
 }
 
 void
+PreferencesDialog::spectrogramGColourChanged(int colour)
+{
+    m_spectrogramGColour = colour;
+    m_applyButton->setEnabled(true);
+}
+
+void
+PreferencesDialog::spectrogramMColourChanged(int colour)
+{
+    m_spectrogramMColour = colour;
+    m_applyButton->setEnabled(true);
+}
+
+void
+PreferencesDialog::colour3DColourChanged(int colour)
+{
+    m_colour3DColour = colour;
+    m_applyButton->setEnabled(true);
+}
+
+void
 PreferencesDialog::propertyLayoutChanged(int layout)
 {
     m_propertyLayout = layout;
@@ -508,6 +634,22 @@
 }
 
 void
+PreferencesDialog::networkPermissionChanged(int state)
+{
+    m_networkPermission = (state == Qt::Checked);
+    m_applyButton->setEnabled(true);
+    m_changesOnRestart = true;
+}
+
+void
+PreferencesDialog::retinaChanged(int state)
+{
+    m_retina = (state == Qt::Checked);
+    m_applyButton->setEnabled(true);
+    // Does not require a restart
+}
+
+void
 PreferencesDialog::showSplashChanged(int state)
 {
     m_showSplash = (state == Qt::Checked);
@@ -565,6 +707,20 @@
 }
 
 void
+PreferencesDialog::showHMSChanged(int state)
+{
+    m_showHMS = (state == Qt::Checked);
+    m_applyButton->setEnabled(true);
+}
+
+void
+PreferencesDialog::octaveSystemChanged(int system)
+{
+    m_octaveSystem = system;
+    m_applyButton->setEnabled(true);
+}
+
+void
 PreferencesDialog::viewFontSizeChanged(int sz)
 {
     m_viewFontSize = sz;
@@ -596,25 +752,32 @@
     prefs->setTemporaryDirectoryRoot(m_tempDirRoot);
     prefs->setBackgroundMode(Preferences::BackgroundMode(m_backgroundMode));
     prefs->setTimeToTextMode(Preferences::TimeToTextMode(m_timeToTextMode));
+    prefs->setShowHMS(m_showHMS);
     prefs->setViewFontSize(m_viewFontSize);
+    
+    prefs->setProperty("Octave Numbering System", m_octaveSystem);
 
-    std::vector<QString> devices =
-        AudioTargetFactory::getInstance()->getCallbackTargetNames();
+//!!!    std::vector<QString> devices =
+//!!!        AudioTargetFactory::getInstance()->getCallbackTargetNames();
 
     QSettings settings;
-
     settings.beginGroup("Preferences");
-    settings.setValue("audio-target", devices[m_audioDevice]);
+    QString permishTag = QString("network-permission-%1").arg(SV_VERSION);
+    settings.setValue(permishTag, m_networkPermission);
+//!!!    settings.setValue("audio-target", devices[m_audioDevice]);
+    settings.setValue("locale", m_currentLocale);
+#ifdef Q_OS_MAC
+    settings.setValue("scaledHiDpi", m_retina);
+#endif
+    settings.setValue("spectrogram-colour", m_spectrogramGColour);
+    settings.setValue("spectrogram-melodic-colour", m_spectrogramMColour);
+    settings.setValue("colour-3d-plot-colour", m_colour3DColour);
     settings.endGroup();
 
     settings.beginGroup("MainWindow");
     settings.setValue("sessiontemplate", m_currentTemplate);
     settings.endGroup();
 
-    settings.beginGroup("Preferences");
-    settings.setValue("locale", m_currentLocale);
-    settings.endGroup();
-
     m_applyButton->setEnabled(false);
 
     if (m_changesOnRestart) {
--- a/main/PreferencesDialog.h	Wed Jul 15 12:27:40 2015 +0100
+++ b/main/PreferencesDialog.h	Wed Apr 20 12:06:28 2016 +0100
@@ -49,6 +49,9 @@
     void windowTypeChanged(WindowType type);
     void spectrogramSmoothingChanged(int state);
     void spectrogramXSmoothingChanged(int state);
+    void spectrogramGColourChanged(int state);
+    void spectrogramMColourChanged(int state);
+    void colour3DColourChanged(int state);
     void propertyLayoutChanged(int layout);
     void tuningFrequencyChanged(double freq);
     void audioDeviceChanged(int device);
@@ -57,10 +60,14 @@
     void tempDirRootChanged(QString root);
     void backgroundModeChanged(int mode);
     void timeToTextModeChanged(int mode);
+    void showHMSChanged(int state);
+    void octaveSystemChanged(int system);
     void viewFontSizeChanged(int sz);
     void showSplashChanged(int state);
     void defaultTemplateChanged(int);
     void localeChanged(int);
+    void networkPermissionChanged(int state);
+    void retinaChanged(int state);
 
     void tempDirButtonClicked();
 
@@ -86,14 +93,21 @@
     WindowType m_windowType;
     int m_spectrogramSmoothing;
     int m_spectrogramXSmoothing;
+    int m_spectrogramGColour;
+    int m_spectrogramMColour;
+    int m_colour3DColour;
     int m_propertyLayout;
-    float m_tuningFrequency;
+    double m_tuningFrequency;
     int m_audioDevice;
     int m_resampleQuality;
     bool m_resampleOnLoad;
+    bool m_networkPermission;
+    bool m_retina;
     QString m_tempDirRoot;
     int m_backgroundMode;
     int m_timeToTextMode;
+    bool m_showHMS;
+    int m_octaveSystem;
     int m_viewFontSize;
     bool m_showSplash;
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main/SVSplash.cpp	Wed Apr 20 12:06:28 2016 +0100
@@ -0,0 +1,100 @@
+/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*-  vi:set ts=8 sts=4 sw=4: */
+
+/*
+    Sonic Visualiser
+    An audio file viewer and annotation editor.
+    Centre for Digital Music, Queen Mary, University of London.
+    
+    This program 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.
+*/
+
+#include "SVSplash.h"
+
+#include "../version.h"
+
+#include <QPainter>
+#include <QApplication>
+#include <QDesktopWidget>
+#include <QSvgRenderer>
+
+#include <cmath>
+
+#include <iostream>
+using namespace std;
+
+SVSplash::SVSplash()
+{
+    setWindowFlags(windowFlags() | Qt::WindowStaysOnTopHint);
+    
+    QPixmap *p1 = new QPixmap(":icons/scalable/sv-splash.png");
+
+    int w = p1->width(), h = p1->height();
+    QRect desk = QApplication::desktop()->availableGeometry();
+
+    double dpratio = devicePixelRatio();
+    double widthMultiple = double(desk.width()) / double(w);
+
+    int sw = w, sh = h;
+
+    if (widthMultiple > 2.5 || dpratio > 1.0) {
+
+	// Hi-dpi either via pixel doubling or simply via lots of
+	// pixels
+
+	double factor = widthMultiple / 2.5;
+	if (factor < 1.0) factor = 1.0;
+	sw = int(floor(w * factor));
+	sh = int(floor(h * factor));
+
+	delete p1;
+	m_pixmap = new QPixmap(int(floor(sw * dpratio)),
+			       int(floor(sh * dpratio)));
+
+	cerr << "pixmap size = " << m_pixmap->width() << " * "
+	     << m_pixmap->height() << endl;
+	
+	m_pixmap->fill(Qt::red);
+	QSvgRenderer renderer(QString(":icons/scalable/sv-splash.svg"));
+	QPainter painter(m_pixmap);
+	renderer.render(&painter);
+	painter.end();
+
+    } else {
+	// The "low dpi" case
+	m_pixmap = p1;
+    }
+    
+    setFixedWidth(sw);
+    setFixedHeight(sh);
+    setGeometry(desk.x() + desk.width()/2 - sw/2,
+		desk.y() + desk.height()/2 - sh/2,
+		sw, sh);
+}
+
+SVSplash::~SVSplash()
+{
+    delete m_pixmap;
+}
+
+void
+SVSplash::finishSplash(QWidget *w)
+{
+    finish(w);
+}
+
+void
+SVSplash::drawContents(QPainter *painter)
+{
+    painter->drawPixmap(rect(), *m_pixmap, m_pixmap->rect());
+    QString text = QString("v%1").arg(SV_VERSION);
+    painter->drawText
+	(width() - painter->fontMetrics().width(text) - (width()/50),
+	 (width()/70) + painter->fontMetrics().ascent(),
+	 text);
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main/SVSplash.h	Wed Apr 20 12:06:28 2016 +0100
@@ -0,0 +1,39 @@
+/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*-  vi:set ts=8 sts=4 sw=4: */
+
+/*
+    Sonic Visualiser
+    An audio file viewer and annotation editor.
+    Centre for Digital Music, Queen Mary, University of London.
+    
+    This program 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.
+*/
+
+#ifndef SV_SPLASH_H
+#define SV_SPLASH_H
+
+#include <QSplashScreen>
+
+class QPixmap;
+
+class SVSplash : public QSplashScreen
+{
+    Q_OBJECT
+
+public:
+    SVSplash();
+    virtual ~SVSplash();
+
+public slots:
+    void finishSplash(QWidget *);
+    
+protected:
+    void drawContents(QPainter *);
+    QPixmap *m_pixmap;
+};
+
+#endif
+    
--- a/main/main.cpp	Wed Jul 15 12:27:40 2015 +0100
+++ b/main/main.cpp	Wed Apr 20 12:06:28 2016 +0100
@@ -14,14 +14,19 @@
 */
 
 #include "MainWindow.h"
+#include "SVSplash.h"
 
 #include "system/System.h"
 #include "system/Init.h"
 #include "base/TempDirectory.h"
 #include "base/PropertyContainer.h"
 #include "base/Preferences.h"
+#include "data/fileio/FileSource.h"
 #include "widgets/TipDialog.h"
+#include "widgets/InteractiveFileFinder.h"
+#include "svapp/framework/TransformUserConfigurator.h"
 #include "transform/TransformFactory.h"
+#include "svcore/plugin/PluginScan.h"
 
 #include <QMetaType>
 #include <QApplication>
@@ -33,13 +38,10 @@
 #include <QIcon>
 #include <QSessionManager>
 #include <QDir>
-#include <QSplashScreen>
 #include <QTimer>
 #include <QPainter>
 #include <QFileOpenEvent>
 
-#include "../version.h"
-
 #include <iostream>
 #include <signal.h>
 
@@ -198,22 +200,6 @@
         m_filepathQueue(QStringList()),
         m_mainWindow(0)
     {
-#ifdef Q_OS_MAC
-        // Override the Qt plugin load path. The default contains the
-        // Qt installation location as well as the application
-        // directory, but we don't ever want to load plugins from
-        // outside the app bundle because we don't know for sure what
-        // (potentially different) versions of the Qt framework
-        // libraries they may have dyld dependencies on.
-        QString apploc(applicationFilePath());
-        apploc.truncate(apploc.lastIndexOf(QLatin1Char('/')));
-        apploc = QDir(apploc).canonicalPath();
-        if (QFile::exists(apploc)) {
-            setLibraryPaths(QStringList() << apploc);
-        } else {
-            setLibraryPaths(QStringList());
-        }
-#endif
     }
     virtual ~SVApplication() { }
 
@@ -228,7 +214,7 @@
         if (!success) manager.cancel();
     }
 
-    void handleFilepathArgument(QString path, QSplashScreen *splash);
+    void handleFilepathArgument(QString path, SVSplash *splash);
 
     bool m_readyForFiles;
     QStringList m_filepathQueue;
@@ -236,7 +222,6 @@
 protected:
     MainWindow *m_mainWindow;
     bool event(QEvent *);
-
 };
 
 int
@@ -285,22 +270,15 @@
     QApplication::setOrganizationDomain("sonicvisualiser.org");
     QApplication::setApplicationName(QApplication::tr("Sonic Visualiser"));
 
-    QSplashScreen *splash = 0;
+    QApplication::setAttribute(Qt::AA_UseHighDpiPixmaps);
+
+    SVSplash *splash = 0;
 
     QSettings settings;
 
     settings.beginGroup("Preferences");
     if (settings.value("show-splash", true).toBool()) {
-        QPixmap pixmap(":/icons/sv-splash.png");
-        QPainter painter;
-        painter.begin(&pixmap);
-        QString text = QString("v%1").arg(SV_VERSION);
-        painter.drawText
-            (pixmap.width() - painter.fontMetrics().width(text) - 10,
-             10 + painter.fontMetrics().ascent(),
-             text);
-        painter.end();
-        splash = new QSplashScreen(pixmap);
+        splash = new SVSplash();
         splash->show();
         QTimer::singleShot(5000, splash, SLOT(hide()));
         application.processEvents();
@@ -317,7 +295,7 @@
 
     QIcon icon;
     int sizes[] = { 16, 22, 24, 32, 48, 64, 128 };
-    for (int i = 0; i < sizeof(sizes)/sizeof(sizes[0]); ++i) {
+    for (int i = 0; i < int(sizeof(sizes)/sizeof(sizes[0])); ++i) {
         icon.addFile(QString(":icons/sv-%1x%2.png").arg(sizes[i]).arg(sizes[i]));
     }
     QApplication::setWindowIcon(icon);
@@ -355,14 +333,36 @@
 
     StoreStartupLocale();
 
+    // Make known-plugins query as early as possible after showing
+    // splash screen. This depends on our helper executable, which
+    // must exist either in the same directory as this one or
+    // (preferably) a subdirectory called "checker".
+    QString myDir = application.applicationDirPath();
+    QString helperPath = myDir + "/checker/plugin-checker-helper";
+    QString helperSuffix = "";
+#ifdef _WIN32
+    helperSuffix = ".exe";
+#endif
+    if (!QFile(helperPath + helperSuffix).exists()) {
+        helperPath = myDir + "/plugin-checker-helper";
+    }
+    helperPath += helperSuffix;
+    PluginScan::getInstance()->scan(helperPath);
+    
     // Permit size_t and PropertyName to be used as args in queued signal calls
-    qRegisterMetaType<size_t>("size_t");
     qRegisterMetaType<PropertyContainer::PropertyName>("PropertyContainer::PropertyName");
 
-    MainWindow *gui = new MainWindow(audioOutput, oscSupport);
+    MainWindow::SoundOptions options = MainWindow::WithEverything;
+    if (!audioOutput) options = 0;
+    
+    MainWindow *gui = new MainWindow(options, oscSupport);
     application.setMainWindow(gui);
+    InteractiveFileFinder::setParentWidget(gui);
+    TransformUserConfigurator::setParentWidget(gui);
     if (splash) {
         QObject::connect(gui, SIGNAL(hideSplash()), splash, SLOT(hide()));
+        QObject::connect(gui, SIGNAL(hideSplash(QWidget *)),
+                         splash, SLOT(finishSplash(QWidget *)));
     }
 
     QDesktopWidget *desktop = QApplication::desktop();
@@ -430,15 +430,6 @@
     settings.endGroup();
 #endif
 
-    if (splash) splash->finish(gui);
-    delete splash;
-
-/*
-    TipDialog tipDialog;
-    if (tipDialog.isOK()) {
-        tipDialog.exec();
-    }
-*/
     int rv = application.exec();
 
     gui->hide();
@@ -470,6 +461,8 @@
     settings.endGroup();
 #endif
 
+    FileSource::debugReport();
+    
     delete gui;
 
     cleanupMutex.unlock();
@@ -478,7 +471,14 @@
 }
 
 bool SVApplication::event(QEvent *event){
+
+// Avoid warnings/errors with -Wextra because we aren't explicitly
+// handling all event types (-Wall is OK with this because of the
+// default but the stricter level insists)
+#pragma GCC diagnostic ignored "-Wswitch-enum"
+
     QString thePath;
+
     switch (event->type()) {
     case QEvent::FileOpen:
         thePath = static_cast<QFileOpenEvent *>(event)->file();
@@ -493,7 +493,7 @@
 }
 
 /** Application-global handler for filepaths passed in, e.g. as command-line arguments or apple events */
-void SVApplication::handleFilepathArgument(QString path, QSplashScreen *splash){
+void SVApplication::handleFilepathArgument(QString path, SVSplash *splash){
     static bool haveSession = false;
     static bool haveMainModel = false;
     static bool havePriorCommandLineModel = false;
@@ -506,7 +506,7 @@
 
     if (path.endsWith("sv")) {
         if (!haveSession) {
-            status = m_mainWindow->openSessionFile(path);
+            status = m_mainWindow->openSessionPath(path);
             if (status == MainWindow::FileOpenSucceeded) {
                 haveSession = true;
                 haveMainModel = true;
@@ -518,18 +518,18 @@
     }
     if (status != MainWindow::FileOpenSucceeded) {
         if (!haveMainModel) {
-            status = m_mainWindow->open(path, MainWindow::ReplaceSession);
+            status = m_mainWindow->openPath(path, MainWindow::ReplaceSession);
             if (status == MainWindow::FileOpenSucceeded) {
                 haveMainModel = true;
             }
         } else {
             if (haveSession && !havePriorCommandLineModel) {
-                status = m_mainWindow->open(path, MainWindow::AskUser);
+                status = m_mainWindow->openPath(path, MainWindow::AskUser);
                 if (status == MainWindow::FileOpenSucceeded) {
                     havePriorCommandLineModel = true;
                 }
             } else {
-                status = m_mainWindow->open(path, MainWindow::CreateAdditionalModel);
+                status = m_mainWindow->openPath(path, MainWindow::CreateAdditionalModel);
             }
         }
     }
--- a/misc/debian-dependencies.sh	Wed Jul 15 12:27:40 2015 +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/misc/update-i18n.sh	Wed Jul 15 12:27:40 2015 +0100
+++ b/misc/update-i18n.sh	Wed Apr 20 12:06:28 2016 +0100
@@ -3,19 +3,19 @@
 LUPDATE="lupdate"
 LRELEASE="lrelease"
 
-if lupdate-qt4 -version >/dev/null 2>&1; then
-    LUPDATE="lupdate-qt4"
-    LRELEASE="lrelease-qt4"
+if lupdate-qt5 -version >/dev/null 2>&1; then
+    LUPDATE="lupdate-qt5"
+    LRELEASE="lrelease-qt5"
 fi
 
 LANGUAGES="ru en_GB en_US cs_CZ"
 
 for LANG in $LANGUAGES; do
     $LUPDATE \
-	../svcore/*/*.h ../svcore/*/*.cpp \
-	../svcore/*/*/*.h ../svcore/*/*/*.cpp \
-	../svgui/*/*.h ../svgui/*/*.cpp \
-	../svapp/*/*.h ../svapp/*/*.cpp \
+	svcore/*/*.h svcore/*/*.cpp \
+	svcore/*/*/*.h svcore/*/*/*.cpp \
+	svgui/*/*.h svgui/*/*.cpp \
+	svapp/*/*.h svapp/*/*.cpp \
 	*/*.h */*.cpp \
 	-ts i18n/sonic-visualiser_$LANG.ts
 done
--- a/platform-dataquay.pri	Wed Jul 15 12:27:40 2015 +0100
+++ b/platform-dataquay.pri	Wed Apr 20 12:06:28 2016 +0100
@@ -3,17 +3,25 @@
     include(./config.pri)
 }
 
-CONFIG += staticlib
+CONFIG += staticlib c++11
 
 DEFINES -= USE_REDLAND
 QMAKE_CXXFLAGS -= -I/usr/include/rasqal -I/usr/include/raptor2
+QMAKE_CXXFLAGS -= -Werror
 EXTRALIBS -= -lrdf
 
 DEFINES += USE_SORD
 # Libraries and paths should be added by config.pri
 
-win32-g++: {
+win32-g++ {
     INCLUDEPATH += ../sv-dependency-builds/win32-mingw/include
     LIBS += -L../../sv-dependency-builds/win32-mingw/lib
 }
-
+win32-msvc* {
+    INCLUDEPATH += ../sv-dependency-builds/win32-msvc/include
+    LIBS += -L../../sv-dependency-builds/win32-msvc/lib
+}
+mac* {
+    INCLUDEPATH += ../sv-dependency-builds/osx/include
+    LIBS += -L../sv-dependency-builds/osx/lib
+}
--- a/samples/README	Wed Jul 15 12:27:40 2015 +0100
+++ b/samples/README	Wed Apr 20 12:06:28 2016 +0100
@@ -1,2 +1,3 @@
 Samples from standard Hydrogen drum machine kits, except for piano.wav
-(ancestry unknown) and click.wav (random noise).
+(ancestry unknown), elecpiano.wav (recorded by Matthias Mauch) and
+click.wav (random noise).
Binary file samples/elecpiano.wav has changed
--- a/sonic-visualiser.desktop	Wed Jul 15 12:27:40 2015 +0100
+++ b/sonic-visualiser.desktop	Wed Apr 20 12:06:28 2016 +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;
--- a/sonic-visualiser.pro	Wed Jul 15 12:27:40 2015 +0100
+++ b/sonic-visualiser.pro	Wed Apr 20 12:06:28 2016 +0100
@@ -1,13 +1,14 @@
 TEMPLATE = subdirs
-SUBDIRS = sub_dataquay svcore svgui svapp sub_sv 
+SUBDIRS = sub_bq sub_dataquay svcore svgui svapp checker sub_sv 
 
 !win* {
     # We should build and run the tests on any platform,
     # but doing it automatically doesn't work so well from
     # within an IDE on Windows, so remove that from here
-    SUBDIRS += svcore/data/fileio/test
+    SUBDIRS += svcore/base/test svcore/data/fileio/test svcore/data/model/test
 }
 
+sub_bq.file = bq.pro
 sub_sv.file = sv.pro
 
 sub_dataquay.file = dataquay/lib.pro
--- a/sonic-visualiser.qrc	Wed Jul 15 12:27:40 2015 +0100
+++ b/sonic-visualiser.qrc	Wed Apr 20 12:06:28 2016 +0100
@@ -1,9 +1,60 @@
 <!DOCTYPE RCC><RCC version="1.0">
-<qresource>
+  <qresource>
+    <file>icons/scalable/align.svg</file>
+    <file>icons/scalable/colour3d.svg</file>
+    <file>icons/scalable/cross.svg</file>
+    <file>icons/scalable/dataedit.svg</file>
+    <file>icons/scalable/draw.svg</file>
+    <file>icons/scalable/erase.svg</file>
+    <file>icons/scalable/editcopy.svg</file>
+    <file>icons/scalable/editcut.svg</file>
+    <file>icons/scalable/editdelete.svg</file>
+    <file>icons/scalable/editpaste.svg</file>
+    <file>icons/scalable/exit.svg</file>
+    <file>icons/scalable/filenew.svg</file>
+    <file>icons/scalable/fileopen.svg</file>
+    <file>icons/scalable/filesaveas.svg</file>
+    <file>icons/scalable/filesave.svg</file>
+    <file>icons/scalable/filesavesv.svg</file>
+    <file>icons/scalable/ffwd-end.svg</file>
+    <file>icons/scalable/ffwd.svg</file>
+    <file>icons/scalable/navigate.svg</file>
+    <file>icons/scalable/move.svg</file>
+    <file>icons/scalable/pause.svg</file>
+    <file>icons/scalable/playloop.svg</file>
+    <file>icons/scalable/playpause.svg</file>
+    <file>icons/scalable/playselection.svg</file>
+    <file>icons/scalable/solo.svg</file>
+    <file>icons/scalable/play.svg</file>
+    <file>icons/scalable/record.svg</file>
+    <file>icons/scalable/rewind-start.svg</file>
+    <file>icons/scalable/rewind.svg</file>
+    <file>icons/scalable/undo.svg</file>
+    <file>icons/scalable/redo.svg</file>
+    <file>icons/scalable/select.svg</file>
+    <file>icons/scalable/measure.svg</file>
+    <file>icons/scalable/speaker.svg</file>
+    <file>icons/scalable/instants.svg</file>
+    <file>icons/scalable/notes.svg</file>
+    <file>icons/scalable/values.svg</file>
+    <file>icons/scalable/regions.svg</file>
+    <file>icons/scalable/spectrogram.svg</file>
+    <file>icons/scalable/spectrum.svg</file>
+    <file>icons/scalable/text.svg</file>
+    <file>icons/scalable/timeruler.svg</file>
+    <file>icons/scalable/zoom.svg</file>
+    <file>icons/scalable/zoom-in.svg</file>
+    <file>icons/scalable/zoom-out.svg</file>
+    <file>icons/scalable/zoom-fit.svg</file>
+    <file>icons/scalable/sv-icon-light.svg</file>
+    <file>icons/scalable/sv-icon.svg</file>
+    <file>icons/scalable/sv-splash.svg</file>
+    <file>icons/scalable/sv-splash.png</file>
+    <file>icons/scalable/sv-splash@2x.png</file>
+    <file>icons/scalable/waveform.svg</file>
     <file>icons/waveform.png</file>
     <file>icons/spectrum.png</file>
     <file>icons/spectrogram.png</file>
-    <file>icons/timeruler.png</file>
     <file>icons/pane.png</file>
     <file>icons/instants.png</file>
     <file>icons/notes.png</file>
@@ -44,10 +95,6 @@
     <file>icons/measure2mask.xbm</file>
     <file>icons/move.png</file>
     <file>icons/navigate.png</file>
-    <file>icons/zoom.png</file>
-    <file>icons/zoom-in.png</file>
-    <file>icons/zoom-out.png</file>
-    <file>icons/zoom-fit.png</file>
     <file>icons/zoom-reset.png</file>
     <file>icons/undo.png</file>
     <file>icons/redo.png</file>
@@ -104,6 +151,7 @@
     <file>samples/clap.wav</file>
     <file>samples/click.wav</file>
     <file>samples/cowbell.wav</file>
+    <file>samples/elecpiano.wav</file>
     <file>samples/hihat.wav</file>
     <file>samples/kick.wav</file>
     <file>samples/organ.wav</file>
--- a/sv.pro	Wed Jul 15 12:27:40 2015 +0100
+++ b/sv.pro	Wed Apr 20 12:06:28 2016 +0100
@@ -1,35 +1,52 @@
 
 TEMPLATE = app
 
+INCLUDEPATH += vamp-plugin-sdk
+
 win32-g++ {
     INCLUDEPATH += sv-dependency-builds/win32-mingw/include
-    LIBS += -Lsv-dependency-builds/win32-mingw/lib
+    LIBS += -Lrelease -Lsv-dependency-builds/win32-mingw/lib
 }
 win32-msvc* {
     INCLUDEPATH += sv-dependency-builds/win32-msvc/include
-    LIBS += -Lsv-dependency-builds/win32-msvc/lib
+    LIBS += -Lrelease -Lsv-dependency-builds/win32-msvc/lib
+}
+mac* {
+    INCLUDEPATH += sv-dependency-builds/osx/include
+    LIBS += -Lsv-dependency-builds/osx/lib
 }
 
 exists(config.pri) {
     include(config.pri)
 }
 
-win* {
-    !exists(config.pri) {
-        DEFINES += HAVE_BZ2 HAVE_FFTW3 HAVE_FFTW3F HAVE_SNDFILE HAVE_SAMPLERATE HAVE_VAMP HAVE_VAMPHOSTSDK HAVE_RUBBERBAND HAVE_DATAQUAY HAVE_LIBLO HAVE_MAD HAVE_ID3TAG HAVE_PORTAUDIO_2_0
-        LIBS += -lbz2 -lrubberband -lvamp-hostsdk -lfftw3 -lfftw3f -lsndfile -lFLAC -logg -lvorbis -lvorbisenc -lvorbisfile -logg -lmad -lid3tag -lportaudio -lsamplerate -llo -lz -lsord-0 -lserd-0 -lwinmm -lws2_32
+!exists(config.pri) {
+
+    CONFIG += release
+    DEFINES += NDEBUG BUILD_RELEASE NO_TIMING
+
+    DEFINES += HAVE_BZ2 HAVE_FFTW3 HAVE_FFTW3F HAVE_SNDFILE HAVE_SAMPLERATE HAVE_VAMP HAVE_VAMPHOSTSDK HAVE_RUBBERBAND HAVE_DATAQUAY HAVE_LIBLO HAVE_MAD HAVE_ID3TAG HAVE_PORTAUDIO
+
+    LIBS += -lbz2 -lrubberband -lvamp-hostsdk -lfftw3 -lfftw3f -lsndfile -lFLAC -logg -lvorbis -lvorbisenc -lvorbisfile -logg -lmad -lid3tag -lportaudio -lsamplerate -lz -lsord-0 -lserd-0 -llo
+
+    win* {
+        LIBS += -lwinmm -lws2_32
+    }
+    macx* {
+        DEFINES += HAVE_COREAUDIO
+        LIBS += -framework CoreAudio -framework CoreMidi -framework AudioUnit -framework AudioToolbox -framework CoreFoundation -framework CoreServices -framework Accelerate
     }
 }
 
-CONFIG += qt thread warn_on stl rtti exceptions
-QT += network xml gui widgets
+CONFIG += qt thread warn_on stl rtti exceptions c++11
+QT += network xml gui widgets svg
 
 TARGET = "Sonic Visualiser"
 linux*:TARGET = sonic-visualiser
 solaris*:TARGET = sonic-visualiser
 
-DEPENDPATH += . svcore svgui svapp
-INCLUDEPATH += . svcore svgui svapp
+DEPENDPATH += . bqaudioio svcore svgui svapp
+INCLUDEPATH += . bqaudioio svcore svgui svapp
 
 TRANSLATIONS += i18n/sonic-visualiser_ru.ts i18n/sonic-visualiser_en_GB.ts i18n/sonic-visualiser_en_US.ts i18n/sonic-visualiser_cs_CZ.ts
 
@@ -41,48 +58,75 @@
 
 contains(DEFINES, BUILD_STATIC):LIBS -= -ljack
 
-MY_LIBS = -Lsvapp -Lsvgui -Lsvcore -Ldataquay -lsvapp -lsvgui -lsvcore -ldataquay
+MY_LIBS = -Lsvapp -Lsvgui -Lsvcore -Lchecker -Ldataquay -L. \
+          -lsvapp -lsvgui -lsvcore -lchecker -ldataquay -lbq
 
 linux* {
-MY_LIBS = -Wl,-Bstatic $$MY_LIBS -Wl,-Bdynamic
+MY_LIBS = -Wl,-Bstatic $$MY_LIBS -Wl,-Bdynamic -ldl
 }
 
 win* {
-MY_LIBS = -Lsvapp/release -Lsvgui/release -Lsvcore/release -Ldataquay/release $$MY_LIBS
+MY_LIBS = -Lsvapp/release -Lsvgui/release -Lsvcore/release -Lchecker/release -Ldataquay/release $$MY_LIBS
 }
 
 LIBS = $$MY_LIBS $$LIBS
 
 win* {
+
 PRE_TARGETDEPS += svapp/release/libsvapp.a \
                   svgui/release/libsvgui.a \
                   svcore/release/libsvcore.a \
-                  dataquay/release/libdataquay.a
+                  dataquay/release/libdataquay.a \
+                  checker/release/libchecker.a
 }
 !win* {
 PRE_TARGETDEPS += svapp/libsvapp.a \
                   svgui/libsvgui.a \
                   svcore/libsvcore.a \
-                  dataquay/libdataquay.a
+                  dataquay/libdataquay.a \
+                  checker/libchecker.a
 }
 
 RESOURCES += sonic-visualiser.qrc
 
-HEADERS += main/MainWindow.h \
-           main/IMAFencoder.h \
-           main/checkbox.h \
-           main/NetworkPermissionTester.h \
-           main/Surveyer.h \
-           main/PreferencesDialog.h
-
-SOURCES += main/main.cpp \
-           main/OSCHandler.cpp \
-           main/MainWindow.cpp \
-           main/IMAFencoder.c \
-           main/imafdecoder.cpp \
-           main/NetworkPermissionTester.cpp \
-           main/Surveyer.cpp \
-           main/PreferencesDialog.cpp 
+HEADERS += \
+        vamp-plugin-sdk/vamp-hostsdk/PluginBase.h \
+        vamp-plugin-sdk/vamp-hostsdk/PluginBufferingAdapter.h \
+        vamp-plugin-sdk/vamp-hostsdk/PluginChannelAdapter.h \
+        vamp-plugin-sdk/vamp-hostsdk/Plugin.h \
+        vamp-plugin-sdk/vamp-hostsdk/PluginHostAdapter.h \
+        vamp-plugin-sdk/vamp-hostsdk/PluginInputDomainAdapter.h \
+        vamp-plugin-sdk/vamp-hostsdk/PluginLoader.h \
+        vamp-plugin-sdk/vamp-hostsdk/PluginSummarisingAdapter.h \
+        vamp-plugin-sdk/vamp-hostsdk/PluginWrapper.h \
+        vamp-plugin-sdk/vamp-hostsdk/RealTime.h \
+        vamp-plugin-sdk/src/vamp-hostsdk/Window.h \
+        main/MainWindow.h \
+        main/IMAFencoder.h \
+        main/checkbox.h \
+        main/NetworkPermissionTester.h \
+        main/Surveyer.h \
+        main/SVSplash.h \
+        main/PreferencesDialog.h
+SOURCES +=  \
+        vamp-plugin-sdk/src/vamp-hostsdk/PluginBufferingAdapter.cpp \
+        vamp-plugin-sdk/src/vamp-hostsdk/PluginChannelAdapter.cpp \
+        vamp-plugin-sdk/src/vamp-hostsdk/PluginHostAdapter.cpp \
+        vamp-plugin-sdk/src/vamp-hostsdk/PluginInputDomainAdapter.cpp \
+        vamp-plugin-sdk/src/vamp-hostsdk/PluginLoader.cpp \
+        vamp-plugin-sdk/src/vamp-hostsdk/PluginSummarisingAdapter.cpp \
+        vamp-plugin-sdk/src/vamp-hostsdk/PluginWrapper.cpp \
+        vamp-plugin-sdk/src/vamp-hostsdk/RealTime.cpp \
+        vamp-plugin-sdk/src/vamp-hostsdk/Files.cpp \
+	main/main.cpp \
+        main/OSCHandler.cpp \
+        main/MainWindow.cpp \
+        main/IMAFencoder.c \
+        main/imafdecoder.cpp \
+        main/NetworkPermissionTester.cpp \
+        main/Surveyer.cpp \
+        main/SVSplash.cpp \
+        main/PreferencesDialog.cpp 
 
 # for mac integration
 QMAKE_INFO_PLIST = deploy/osx/Info.plist
--- a/templates/default.svt	Wed Jul 15 12:27:40 2015 +0100
+++ b/templates/default.svt	Wed Apr 20 12:06:28 2016 +0100
@@ -2,8 +2,8 @@
 <!DOCTYPE sonic-visualiser>
 <sv>
 <data>
-  <layer id="1" type="timeruler" name="Ruler" model="0"  colourName="Black" colour="#000000" darkBackground="false" />
-  <layer id="2" type="waveform" name="Waveform" model="0"  gain="1" showMeans="1" greyscale="1" channelMode="0" channel="-1" scale="0" aggressive="0" autoNormalize="0" colourName="Black" colour="#000000" darkBackground="false" />
+  <layer id="1" type="timeruler" name="Ruler" model="0" />
+  <layer id="2" type="waveform" name="Waveform" model="0"  gain="1" showMeans="1" greyscale="1" channelMode="0" channel="-1" scale="0" aggressive="0" autoNormalize="0" />
 </data>
 <display>
   <view centre="0" zoom="1024" followPan="1" followZoom="1" tracking="page"  type="pane" centreLineVisible="1">
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/version.h	Wed Apr 20 12:06:28 2016 +0100
@@ -0,0 +1,1 @@
+#define SV_VERSION "2.5"