# HG changeset patch
# User Chris Cannam
# Date 1548930765 0
# Node ID 252c7c8a1a37653a92e5575064f50a5da0deb295
# Parent 02f15fb8ec683b80895ff7225b2430496de61408# Parent d25951da2422f959c79895012c23cb7d070951fd
Merge from default branch
diff -r 02f15fb8ec68 -r 252c7c8a1a37 .hgignore
--- a/.hgignore Wed Nov 28 12:55:33 2018 +0000
+++ b/.hgignore Thu Jan 31 10:32:45 2019 +0000
@@ -30,6 +30,7 @@
test-svcore-base
test-svcore-data-fileio
test-svcore-data-model
+test-svcore-system
vamp-plugin-sdk
svcore
svgui
@@ -53,6 +54,7 @@
glob:.repoint*
build_win32
build_win64
+build_win64_debug
*.AppImage
*.AppDir
Dockerfile*.gen
diff -r 02f15fb8ec68 -r 252c7c8a1a37 .hgtags
--- a/.hgtags Wed Nov 28 12:55:33 2018 +0000
+++ b/.hgtags Thu Jan 31 10:32:45 2019 +0000
@@ -81,3 +81,9 @@
4ff2193314d406c3a83c86b409414cf60a0b1406 sv_v3.1.1
690eaf241ad5f57e4ed59f09c0f4c1ce659b5571 sv_v3.1.1
3fc52a2fadce4d7abe26516d91a8583794e70f06 sv_v3.2pre1
+c3c648a6e711c1a37cb410a8d6e1f29a7205bf85 sv_v3.2pre2
+d0f2b80ec564047e2464f2f7ec17b3ef5278df17 sv_v3.2
+d0f2b80ec564047e2464f2f7ec17b3ef5278df17 sv_v3.2
+33adcc8783a6b6e114be1ae43a3eb30f2232c03b sv_v3.2
+2b8eaf15ae90979d507c9301be44b7a317fa503e sv_v3.2_win64_deploy
+72e60532c1ccc9d72fda267ba73354e54ae9f736 sv_v3.2.1
diff -r 02f15fb8ec68 -r 252c7c8a1a37 .travis.yml
--- a/.travis.yml Wed Nov 28 12:55:33 2018 +0000
+++ b/.travis.yml Thu Jan 31 10:32:45 2019 +0000
@@ -6,12 +6,10 @@
- os: osx
osx_image: xcode9
- os: linux
- dist: trusty
+ dist: xenial
sudo: required
addons:
apt:
- sources:
- - ubuntu-toolchain-r-test
packages:
- libbz2-dev libfftw3-dev libfishsound1-dev libid3tag0-dev liblo-dev liblrdf0-dev libmad0-dev liboggz2-dev libpulse-dev libsamplerate-dev libsndfile-dev libsord-dev libxml2-utils portaudio19-dev qt5-default libqt5svg5-dev raptor-utils librubberband-dev autoconf libtool git mlton
diff -r 02f15fb8ec68 -r 252c7c8a1a37 CHANGELOG
--- a/CHANGELOG Wed Nov 28 12:55:33 2018 +0000
+++ b/CHANGELOG Thu Jan 31 10:32:45 2019 +0000
@@ -1,5 +1,18 @@
-Changes in Sonic Visualiser 3.2 since the previous release 3.1.1:
+Changes in Sonic Visualiser 3.2.1 (Jan 2019) since the previous release 3.2:
+
+ - Fix failure to record from built-in microphone on macOS 10.14
+ (caused by lack of microphone permission request text)
+
+ - Fix crash when closing SV or starting a new session during recording
+
+ - Fix crash on exit in some builds that disable OSC support
+
+ - Fix flashing effect when scrolling certain configurations of colour 3d
+ plot layer leftwards
+
+
+Changes in Sonic Visualiser 3.2 (Dec 2018) since the previous release 3.1.1:
- Add ability to zoom closer than one sample per pixel, so as to see
the interpolated signal level between samples
@@ -21,7 +34,7 @@
- Fix sometimes incorrect shortcut associations for new-layer menu
items
- - Various small rendering improvements and bug fixes
+ - Various other rendering improvements and bug fixes
Changes in Sonic Visualiser 3.1.1 (Aug 2018) since the previous release 3.1:
diff -r 02f15fb8ec68 -r 252c7c8a1a37 COPYING
--- a/COPYING Wed Nov 28 12:55:33 2018 +0000
+++ b/COPYING Thu Jan 31 10:32:45 2019 +0000
@@ -2,7 +2,7 @@
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 675 Mass Ave, Cambridge, MA 02139, USA
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
diff -r 02f15fb8ec68 -r 252c7c8a1a37 INSTALL.txt
--- a/INSTALL.txt Wed Nov 28 12:55:33 2018 +0000
+++ b/INSTALL.txt Thu Jan 31 10:32:45 2019 +0000
@@ -1,6 +1,10 @@
-To compile Sonic Visualiser from source
-=======================================
+How to compile Sonic Visualiser from source
+===========================================
+
+(NOTE: Refer also to .travis.yml and .appveyor.yml to see what the
+continuous-integration processes do to run a build)
+
Windows
-------
@@ -16,12 +20,18 @@
MacOS
-----
-Build from the command line, but don't use the configure script.
-Instead install Qt v5.x and run
+Build from the command line, but do not use the configure script.
-$ ./repoint install
-$ qmake -r # you may need to use the full path to your Qt qmake here
-$ make
+Install Qt5, either via Homebrew or from the official installer.
+
+If you are building Sonic Visualiser from a repository checkout,
+install Poly/ML via Homebrew (`brew install polyml`) and run
+`./repoint install` before proceeding. This isn't necessary when
+building from an official source release.
+
+Then run `qmake -r` and `make`. (You may need to provide the full path
+to the correct `qmake` executable for the version of Qt you want to
+build with.)
Linux
@@ -75,10 +85,9 @@
libxml2-utils portaudio19-dev qt5-default libqt5svg5-dev raptor-utils
librubberband-dev git mercurial autoconf automake libtool mlton
-If you are building from a clone of the Sonic Visualiser developer
-repository, rather than from an official source code release package,
-then the configure script will use Repoint to obtain further checkouts
-of various modules. You will need to have a SML compiler installed for
+If you are building Sonic Visualiser from a repository checkout, then
+the configure script will use Repoint to obtain further checkouts of
+various modules. You will need to have a SML compiler installed for
this to work, such as SML/NJ, MLton, or Poly/ML - hence the presence
of mlton in the Debian package list above. This is not necessary when
building from an official Sonic Visualiser source release.
diff -r 02f15fb8ec68 -r 252c7c8a1a37 README.md
--- a/README.md Wed Nov 28 12:55:33 2018 +0000
+++ b/README.md Thu Jan 31 10:32:45 2019 +0000
@@ -50,14 +50,14 @@
Christian Landone, Mathieu Barthet, Dan Stowell, Jesus Corral Garcia,
Matthias Mauch, and Craig Sapp.
-Code copyright 2005-2007 Chris Cannam and copyright 2006-2018 Queen
+Code copyright 2005-2007 Chris Cannam and copyright 2006-2019 Queen
Mary, University of London, except where indicated in the individual
source files.
Russian translation provided by Alexandre Prokoudine, copyright
-2006-2018 Alexandre Prokoudine.
+2006-2019 Alexandre Prokoudine.
-Czech translation provided by Pavel Fric, copyright 2010-2018 Pavel
+Czech translation provided by Pavel Fric, copyright 2010-2019 Pavel
Fric.
This work was partially funded by the European Commission through the
diff -r 02f15fb8ec68 -r 252c7c8a1a37 base.pri
--- a/base.pri Wed Nov 28 12:55:33 2018 +0000
+++ b/base.pri Thu Jan 31 10:32:45 2019 +0000
@@ -7,6 +7,9 @@
bqresample \
bqaudioio \
bqaudioio/bqaudioio \
+ bqaudiostream \
+ bqaudiostream/bqaudiostream \
+ bqthingfactory \
piper-vamp-cpp \
checker \
checker/checker \
@@ -38,4 +41,3 @@
macx*: DEFINES += USE_PTHREADS
CONFIG += qt thread warn_on stl rtti exceptions
-
diff -r 02f15fb8ec68 -r 252c7c8a1a37 bq-files.pri
--- a/bq-files.pri Wed Nov 28 12:55:33 2018 +0000
+++ b/bq-files.pri Thu Jan 31 10:32:45 2019 +0000
@@ -24,6 +24,10 @@
bqaudioio/src/Log.h \
bqaudioio/src/PortAudioIO.h \
bqaudioio/src/PulseAudioIO.h \
+ bqaudiostream/bqaudiostream/AudioReadStream.h \
+ bqaudiostream/bqaudiostream/AudioReadStreamFactory.h \
+ bqaudiostream/bqaudiostream/Exceptions.h \
+ bqthingfactory/bqthingfactory/ThingFactory.h \
rubberband/rubberband/RubberBandStretcher.h
BQ_SOURCES += \
@@ -40,5 +44,8 @@
bqaudioio/src/ResamplerWrapper.cpp \
bqaudioio/src/SystemPlaybackTarget.cpp \
bqaudioio/src/SystemRecordSource.cpp \
+ bqaudiostream/src/AudioReadStream.cpp \
+ bqaudiostream/src/AudioReadStreamFactory.cpp \
+ bqaudiostream/src/AudioStreamExceptions.cpp \
rubberband-all.cpp
diff -r 02f15fb8ec68 -r 252c7c8a1a37 configure
--- a/configure Wed Nov 28 12:55:33 2018 +0000
+++ b/configure Thu Jan 31 10:32:45 2019 +0000
@@ -632,6 +632,8 @@
PERL
X11_LIBS
X11_CFLAGS
+opus_LIBS
+opus_CFLAGS
id3tag_LIBS
id3tag_CFLAGS
mad_LIBS
@@ -780,6 +782,8 @@
mad_LIBS
id3tag_CFLAGS
id3tag_LIBS
+opus_CFLAGS
+opus_LIBS
X11_CFLAGS
X11_LIBS'
@@ -1456,6 +1460,8 @@
id3tag_CFLAGS
C compiler flags for id3tag, overriding pkg-config
id3tag_LIBS linker flags for id3tag, overriding pkg-config
+ opus_CFLAGS C compiler flags for opus, overriding pkg-config
+ opus_LIBS linker flags for opus, overriding pkg-config
X11_CFLAGS C compiler flags for X11, overriding pkg-config
X11_LIBS linker flags for X11, overriding pkg-config
@@ -4423,8 +4429,7 @@
CXXFLAGS_DEBUG="$CXXFLAGS_ANY -g -Werror"
OPTFLAGS_DEBUG="-O2"
CXXFLAGS_RELEASE="$CXXFLAGS_ANY -g0"
- LDFLAGS_RELEASE="-fuse-linker-plugin"
- OPTFLAGS_RELEASE="-O3 -ffast-math -flto"
+ OPTFLAGS_RELEASE="-O3 -ffast-math"
LIBS_DEBUG="$LIBS"
as_CACHEVAR=`$as_echo "ax_cv_check_cxxflags__--std=$CXXSTANDARD" | $as_tr_sh`
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler accepts --std=$CXXSTANDARD" >&5
@@ -7064,6 +7069,161 @@
fi
+SV_MODULE_MODULE=opus
+SV_MODULE_VERSION_TEST="opusfile"
+SV_MODULE_HEADER=opus/opusfile.h
+SV_MODULE_LIB=opusfile
+SV_MODULE_FUNC=op_read_float
+SV_MODULE_HAVE=HAVE_$(echo opus | tr 'a-z' 'A-Z')
+SV_MODULE_FAILED=1
+if test -n "$opus_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 $opus_CFLAGS"
+ LIBS="$LIBS $opus_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 opus" >&5
+$as_echo_n "checking for opus... " >&6; }
+
+if test -n "$opus_CFLAGS"; then
+ pkg_cv_opus_CFLAGS="$opus_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_opus_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 "$opus_LIBS"; then
+ pkg_cv_opus_LIBS="$opus_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_opus_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
+ opus_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1`
+ else
+ opus_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 "$opus_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
+ opus_CFLAGS=$pkg_cv_opus_CFLAGS
+ opus_LIBS=$pkg_cv_opus_LIBS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ HAVES="$HAVES $SV_MODULE_HAVE";CXXFLAGS="$CXXFLAGS $opus_CFLAGS";LIBS="$LIBS $opus_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
diff -r 02f15fb8ec68 -r 252c7c8a1a37 configure.ac
--- a/configure.ac Wed Nov 28 12:55:33 2018 +0000
+++ b/configure.ac Thu Jan 31 10:32:45 2019 +0000
@@ -60,8 +60,7 @@
CXXFLAGS_DEBUG="$CXXFLAGS_ANY -g -Werror"
OPTFLAGS_DEBUG="-O2"
CXXFLAGS_RELEASE="$CXXFLAGS_ANY -g0"
- LDFLAGS_RELEASE="-fuse-linker-plugin"
- OPTFLAGS_RELEASE="-O3 -ffast-math -flto"
+ OPTFLAGS_RELEASE="-O3 -ffast-math"
LIBS_DEBUG="$LIBS"
AX_CHECK_COMPILE_FLAG(--std=$CXXSTANDARD, [], [AC_MSG_NOTICE([Compiler does not appear to support $CXXSTANDARD, falling back to c++11])
CXXSTANDARD=c++11])
@@ -124,6 +123,7 @@
SV_MODULE_OPTIONAL([fishsound],[fishsound >= 1.0.0],[fishsound/fishsound.h],[fishsound],[fish_sound_new])
SV_MODULE_OPTIONAL([mad],[mad >= 0.15.0],[mad.h],[mad],[mad_decoder_init])
SV_MODULE_OPTIONAL([id3tag],[id3tag >= 0.15.0],[id3tag.h],[id3tag],[id3_tag_new])
+SV_MODULE_OPTIONAL([opus],[opusfile],[opus/opusfile.h],[opusfile],[op_read_float])
# Link in -lX11 if it exists -- this is for the X error handler
SV_MODULE_OPTIONAL([X11],[x11 >= 1.0.0],[X11/X.h],[x11],[XGetErrorText])
diff -r 02f15fb8ec68 -r 252c7c8a1a37 deploy/linux/build-and-test-appimage.sh
--- a/deploy/linux/build-and-test-appimage.sh Wed Nov 28 12:55:33 2018 +0000
+++ b/deploy/linux/build-and-test-appimage.sh Thu Jan 31 10:32:45 2019 +0000
@@ -24,6 +24,11 @@
perl -p -e "s/\[\[REVISION\]\]/$current/g" > \
"$dockerdir"/Dockerfile_test_appimage.gen
+grep '^bitbucket.org' ~/.ssh/known_hosts > "$dockerdir"/known_hosts
+cp ~/.ssh/id_dsa_build "$dockerdir"/id_dsa_build
+chmod 600 "$dockerdir"/known_hosts "$dockerdir"/id_dsa_build
+trap "rm $dockerdir/known_hosts $dockerdir/id_dsa_build" 0
+
dockertag="cannam/sonic-visualiser-appimage-$current"
sudo docker build -t "$dockertag" -f "$dockerdir"/Dockerfile_appimage.gen "$dockerdir"
diff -r 02f15fb8ec68 -r 252c7c8a1a37 deploy/linux/build-and-test-deb.sh
--- a/deploy/linux/build-and-test-deb.sh Wed Nov 28 12:55:33 2018 +0000
+++ b/deploy/linux/build-and-test-deb.sh Thu Jan 31 10:32:45 2019 +0000
@@ -27,6 +27,11 @@
perl -p -e "s/\[\[RELEASE\]\]/$release/g" > \
"$dockerdir"/Dockerfile_test_deb.gen
+grep '^bitbucket.org' ~/.ssh/known_hosts > "$dockerdir"/known_hosts
+cp ~/.ssh/id_dsa_build "$dockerdir"/id_dsa_build
+chmod 600 "$dockerdir"/known_hosts "$dockerdir"/id_dsa_build
+trap "rm $dockerdir/known_hosts $dockerdir/id_dsa_build" 0
+
dockertag="cannam/sonic-visualiser-deb-$current"
sudo docker build -t "$dockertag" -f "$dockerdir"/Dockerfile_deb.gen "$dockerdir"
diff -r 02f15fb8ec68 -r 252c7c8a1a37 deploy/linux/deploy-deb.sh
--- a/deploy/linux/deploy-deb.sh Wed Nov 28 12:55:33 2018 +0000
+++ b/deploy/linux/deploy-deb.sh Thu Jan 31 10:32:45 2019 +0000
@@ -45,6 +45,7 @@
cp "$program" "$checker" "$piper" "$targetdir"/usr/bin/
cp icons/sv-icon*.svg "$targetdir"/usr/share/pixmaps/
+cp icons/sv-128x128.png "$targetdir"/usr/share/pixmaps/sv-icon.png
cp "$program".desktop "$targetdir"/usr/share/applications/
cp README.md "$targetdir"/usr/share/doc/"$program"/
diff -r 02f15fb8ec68 -r 252c7c8a1a37 deploy/linux/docker/Dockerfile_appimage.in
--- a/deploy/linux/docker/Dockerfile_appimage.in Wed Nov 28 12:55:33 2018 +0000
+++ b/deploy/linux/docker/Dockerfile_appimage.in Thu Jan 31 10:32:45 2019 +0000
@@ -1,7 +1,3 @@
-# This pulls the latest versions of capnp & SV from repos - so you
-# will need to defeat the Docker cache by destroying the container
-# each time you want to update it
-#
FROM ubuntu:14.04
MAINTAINER Chris Cannam
RUN apt-get update && \
@@ -59,7 +55,15 @@
WORKDIR c++
RUN autoreconf -i && ./configure && make -j3 && make install
-WORKDIR ../../sonic-visualiser
+WORKDIR /root
+
+COPY id_dsa_build .ssh/id_dsa_build
+COPY known_hosts .ssh/known_hosts
+RUN chmod 600 .ssh/id_dsa_build .ssh/known_hosts
+RUN echo '{"accounts": {"bitbucket": "cannam"}}' > .repoint.json
+RUN ( echo '[ui]' ; echo 'ssh = ssh -i /root/.ssh/id_dsa_build' ) > .hgrc
+
+WORKDIR /sonic-visualiser
ENV QTDIR /opt/qt510
ENV PATH /opt/qt510/bin:$PATH
RUN ./configure
diff -r 02f15fb8ec68 -r 252c7c8a1a37 deploy/linux/docker/Dockerfile_deb.in
--- a/deploy/linux/docker/Dockerfile_deb.in Wed Nov 28 12:55:33 2018 +0000
+++ b/deploy/linux/docker/Dockerfile_deb.in Thu Jan 31 10:32:45 2019 +0000
@@ -1,7 +1,3 @@
-# This pulls the latest versions of capnp & SV from repos - so you
-# will need to defeat the Docker cache by destroying the container
-# each time you want to update it
-#
FROM ubuntu:14.04
MAINTAINER Chris Cannam
RUN apt-get update && \
@@ -49,7 +45,15 @@
WORKDIR c++
RUN autoreconf -i && ./configure --enable-shared=no --enable-static=yes && make -j3 && make install
-WORKDIR ../../sonic-visualiser
+WORKDIR /root
+
+COPY id_dsa_build .ssh/id_dsa_build
+COPY known_hosts .ssh/known_hosts
+RUN chmod 600 .ssh/id_dsa_build .ssh/known_hosts
+RUN echo '{"accounts": {"bitbucket": "cannam"}}' > .repoint.json
+RUN ( echo '[ui]' ; echo 'ssh = ssh -i /root/.ssh/id_dsa_build' ) > .hgrc
+
+WORKDIR /sonic-visualiser
RUN ./configure
RUN make -j3
diff -r 02f15fb8ec68 -r 252c7c8a1a37 deploy/linux/docker/Dockerfile_test_appimage.in
--- a/deploy/linux/docker/Dockerfile_test_appimage.in Wed Nov 28 12:55:33 2018 +0000
+++ b/deploy/linux/docker/Dockerfile_test_appimage.in Thu Jan 31 10:32:45 2019 +0000
@@ -1,5 +1,12 @@
FROM centos:7
-RUN yum update
+
+# Ensure that everything subsequent is re-run when a new revision is
+# being built (rather than being cached) - so as to avoid potential
+# mismatches between results of yum update and the package dependency
+# installation itself
+RUN echo [[REVISION]]
+
+RUN yum -y update
RUN yum -y groupinstall "X Window System"
RUN yum -y install wget
ADD output/SonicVisualiser-[[REVISION]]-x86_64.AppImage SV.AppImage
diff -r 02f15fb8ec68 -r 252c7c8a1a37 deploy/linux/docker/Dockerfile_test_deb.in
--- a/deploy/linux/docker/Dockerfile_test_deb.in Wed Nov 28 12:55:33 2018 +0000
+++ b/deploy/linux/docker/Dockerfile_test_deb.in Thu Jan 31 10:32:45 2019 +0000
@@ -1,4 +1,11 @@
FROM ubuntu:18.04
+
+# Ensure that everything subsequent is re-run when a new revision is
+# being built (rather than being cached) - so as to avoid potential
+# mismatches between results of apt-get update and the package
+# dependency installation itself
+RUN echo [[REVISION]]
+
RUN apt-get update
ADD output/sonic-visualiser_[[RELEASE]]_amd64.deb sonic-visualiser_[[RELEASE]]_amd64.deb
RUN apt install -y ./sonic-visualiser_[[RELEASE]]_amd64.deb
diff -r 02f15fb8ec68 -r 252c7c8a1a37 deploy/osx/Info.plist
--- a/deploy/osx/Info.plist Wed Nov 28 12:55:33 2018 +0000
+++ b/deploy/osx/Info.plist Thu Jan 31 10:32:45 2019 +0000
@@ -15,6 +15,12 @@
CFBundleShortVersionString
SV_VERSION
+
+ NSMicrophoneUsageDescription
+ Sonic Visualiser needs to use the microphone for recording.
+
NSPrincipalClass
NSApplication
diff -r 02f15fb8ec68 -r 252c7c8a1a37 deploy/osx/deploy.sh
--- a/deploy/osx/deploy.sh Wed Nov 28 12:55:33 2018 +0000
+++ b/deploy/osx/deploy.sh Thu Jan 31 10:32:45 2019 +0000
@@ -63,6 +63,10 @@
echo "Done: check $source/Contents/Info.plist for sanity please"
echo
+echo "Copying in lproj directories containing InfoPlist.strings translation files."
+cp -r i18n/*.lproj "$source"/Contents/Resources/
+
+echo
echo "Making target tree."
volume="$app"-"$version"
diff -r 02f15fb8ec68 -r 252c7c8a1a37 deploy/win32/build-32.bat
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/deploy/win32/build-32.bat Thu Jan 31 10:32:45 2019 +0000
@@ -0,0 +1,59 @@
+rem Run this from within the top-level SV dir: deploy\win64\build-32.bat
+rem To build from clean, delete the folder build_win32
+
+set STARTPWD=%CD%
+
+set QTDIR=C:\Qt\5.11.2\mingw53_32
+if not exist %QTDIR% (
+@ echo Could not find 32-bit Qt
+@ exit /b 2
+)
+
+set ORIGINALPATH=%PATH%
+set PATH=%PATH%;C:\Program Files (x86)\SMLNJ\bin;%QTDIR%\bin;C:\Qt\Tools\QtCreator\bin;C:\Qt\Tools\mingw530_32\bin
+
+cd %STARTPWD%
+
+call .\repoint install
+if %errorlevel% neq 0 exit /b %errorlevel%
+
+sv-dependency-builds\win32-mingw\bin\capnp -Isv-dependency-builds/win32-mingw/include compile --src-prefix=piper/capnp -osv-dependency-builds/win32-mingw/bin/capnpc-c++:piper-vamp-cpp/vamp-capnp piper/capnp/piper.capnp
+if %errorlevel% neq 0 exit /b %errorlevel%
+
+mkdir build_win32
+cd build_win32
+
+qmake -spec win32-g++ -r ..\sonic-visualiser.pro
+if %errorlevel% neq 0 exit /b %errorlevel%
+
+mingw32-make
+if %errorlevel% neq 0 exit /b %errorlevel%
+
+copy .\checker\release\vamp-plugin-load-checker.exe .\release
+
+copy %QTDIR%\bin\Qt5Core.dll .\release
+copy %QTDIR%\bin\Qt5Gui.dll .\release
+copy %QTDIR%\bin\Qt5Widgets.dll .\release
+copy %QTDIR%\bin\Qt5Network.dll .\release
+copy %QTDIR%\bin\Qt5Xml.dll .\release
+copy %QTDIR%\bin\Qt5Svg.dll .\release
+copy %QTDIR%\bin\Qt5Test.dll .\release
+copy %QTDIR%\bin\libgcc_s_dw2-1.dll .\release
+copy %QTDIR%\bin\"libstdc++-6.dll" .\release
+copy %QTDIR%\bin\libwinpthread-1.dll .\release
+copy %QTDIR%\plugins\platforms\qminimal.dll .\release
+copy %QTDIR%\plugins\platforms\qwindows.dll .\release
+copy %QTDIR%\plugins\styles\qwindowsvistastyle.dll .\release
+
+rem some of these expect to be run from the project root
+cd ..
+build_win32\release\test-svcore-base
+if %errorlevel% neq 0 exit /b %errorlevel%
+build_win32\release\test-svcore-system
+if %errorlevel% neq 0 exit /b %errorlevel%
+build_win32\release\test-svcore-data-fileio
+if %errorlevel% neq 0 exit /b %errorlevel%
+build_win32\release\test-svcore-data-model
+if %errorlevel% neq 0 exit /b %errorlevel%
+
+set PATH=%ORIGINALPATH%
diff -r 02f15fb8ec68 -r 252c7c8a1a37 deploy/win64/build-32.bat
--- a/deploy/win64/build-32.bat Wed Nov 28 12:55:33 2018 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-rem Run this from within the top-level SV dir: deploy\win64\build-32.bat
-rem To build from clean, delete the folder build_win32
-
-set STARTPWD=%CD%
-
-set QTDIR=C:\Qt\5.11.2\mingw53_32
-if not exist %QTDIR% (
-@ echo Could not find 32-bit Qt
-@ exit /b 2
-)
-
-set ORIGINALPATH=%PATH%
-set PATH=%PATH%;C:\Program Files (x86)\SMLNJ\bin;%QTDIR%\bin;C:\Qt\Tools\QtCreator\bin;C:\Qt\Tools\mingw530_32\bin
-
-cd %STARTPWD%
-
-call .\repoint install
-if %errorlevel% neq 0 exit /b %errorlevel%
-
-sv-dependency-builds\win32-mingw\bin\capnp -Isv-dependency-builds/win32-mingw/include compile --src-prefix=piper/capnp -osv-dependency-builds/win32-mingw/bin/capnpc-c++:piper-vamp-cpp/vamp-capnp piper/capnp/piper.capnp
-if %errorlevel% neq 0 exit /b %errorlevel%
-
-mkdir build_win32
-cd build_win32
-
-qmake -spec win32-g++ -r ..\sonic-visualiser.pro
-if %errorlevel% neq 0 exit /b %errorlevel%
-
-mingw32-make
-if %errorlevel% neq 0 exit /b %errorlevel%
-
-copy .\checker\release\vamp-plugin-load-checker.exe .\release
-
-copy %QTDIR%\bin\Qt5Core.dll .\release
-copy %QTDIR%\bin\Qt5Gui.dll .\release
-copy %QTDIR%\bin\Qt5Widgets.dll .\release
-copy %QTDIR%\bin\Qt5Network.dll .\release
-copy %QTDIR%\bin\Qt5Xml.dll .\release
-copy %QTDIR%\bin\Qt5Svg.dll .\release
-copy %QTDIR%\bin\Qt5Test.dll .\release
-copy %QTDIR%\bin\libgcc_s_dw2-1.dll .\release
-copy %QTDIR%\bin\"libstdc++-6.dll" .\release
-copy %QTDIR%\bin\libwinpthread-1.dll .\release
-copy %QTDIR%\plugins\platforms\qminimal.dll .\release
-copy %QTDIR%\plugins\platforms\qwindows.dll .\release
-copy %QTDIR%\plugins\styles\qwindowsvistastyle.dll .\release
-
-rem some of these expect to be run from the project root
-cd ..
-build_win32\release\test-svcore-base
-build_win32\release\test-svcore-system
-build_win32\release\test-svcore-data-fileio
-build_win32\release\test-svcore-data-model
-
-set PATH=%ORIGINALPATH%
diff -r 02f15fb8ec68 -r 252c7c8a1a37 deploy/win64/build-64-debug.bat
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/deploy/win64/build-64-debug.bat Thu Jan 31 10:32:45 2019 +0000
@@ -0,0 +1,69 @@
+rem Run this from within the top-level SV dir: deploy\win64\build-64.bat
+rem To build from clean, delete the folder build_win64_debug first
+
+rem NB you will probably also have to change the CONFIG in noconfig.pri
+rem from release to debug
+
+echo on
+
+set STARTPWD=%CD%
+
+set QTDIR=C:\Qt\5.11.2\msvc2017_64
+if not exist %QTDIR% (
+@ echo Could not find 64-bit Qt
+@ exit /b 2
+)
+
+if not exist "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" (
+@ echo "Could not find MSVC vars batch file"
+@ exit /b 2
+)
+
+call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64
+
+set ORIGINALPATH=%PATH%
+set PATH=%PATH%;C:\Program Files (x86)\SMLNJ\bin;%QTDIR%\bin
+
+cd %STARTPWD%
+
+call .\repoint install
+if %errorlevel% neq 0 exit /b %errorlevel%
+
+sv-dependency-builds\win64-msvc\bin\capnp -Isv-dependency-builds/win64-msvc/include compile --src-prefix=piper/capnp -osv-dependency-builds/win64-msvc/bin/capnpc-c++:piper-vamp-cpp/vamp-capnp piper/capnp/piper.capnp
+if %errorlevel% neq 0 exit /b %errorlevel%
+
+mkdir build_win64_debug
+cd build_win64_debug
+
+qmake -spec win32-msvc -r -tp vc ..\sonic-visualiser.pro
+if %errorlevel% neq 0 exit /b %errorlevel%
+
+msbuild sonic-visualiser.sln /t:Build /p:Configuration=Debug
+if %errorlevel% neq 0 exit /b %errorlevel%
+
+copy .\checker\debug\vamp-plugin-load-checker.exe .\debug
+
+copy %QTDIR%\bin\Qt5Cored.dll .\debug
+copy %QTDIR%\bin\Qt5Guid.dll .\debug
+copy %QTDIR%\bin\Qt5Widgetsd.dll .\debug
+copy %QTDIR%\bin\Qt5Networkd.dll .\debug
+copy %QTDIR%\bin\Qt5Xmld.dll .\debug
+copy %QTDIR%\bin\Qt5Svgd.dll .\debug
+copy %QTDIR%\bin\Qt5Testd.dll .\debug
+copy %QTDIR%\plugins\platforms\qminimald.dll .\debug
+copy %QTDIR%\plugins\platforms\qwindowsd.dll .\debug
+copy %QTDIR%\plugins\styles\qwindowsvistastyled.dll .\debug
+copy ..\sv-dependency-builds\win64-msvc\lib\libsndfile-1.dll .\debug
+
+rem some of these expect to be run from the project root
+cd ..
+build_win64_debug\debug\test-svcore-base
+if %errorlevel% neq 0 exit /b %errorlevel%
+build_win64_debug\debug\test-svcore-system
+if %errorlevel% neq 0 exit /b %errorlevel%
+build_win64_debug\debug\test-svcore-data-fileio
+if %errorlevel% neq 0 exit /b %errorlevel%
+build_win64_debug\debug\test-svcore-data-model
+if %errorlevel% neq 0 exit /b %errorlevel%
+
+set PATH=%ORIGINALPATH%
diff -r 02f15fb8ec68 -r 252c7c8a1a37 deploy/win64/build-64.bat
--- a/deploy/win64/build-64.bat Wed Nov 28 12:55:33 2018 +0000
+++ b/deploy/win64/build-64.bat Thu Jan 31 10:32:45 2019 +0000
@@ -55,8 +55,12 @@
rem some of these expect to be run from the project root
cd ..
build_win64\release\test-svcore-base
+if %errorlevel% neq 0 exit /b %errorlevel%
build_win64\release\test-svcore-system
+if %errorlevel% neq 0 exit /b %errorlevel%
build_win64\release\test-svcore-data-fileio
+if %errorlevel% neq 0 exit /b %errorlevel%
build_win64\release\test-svcore-data-model
+if %errorlevel% neq 0 exit /b %errorlevel%
set PATH=%ORIGINALPATH%
diff -r 02f15fb8ec68 -r 252c7c8a1a37 deploy/win64/build-and-package.bat
--- a/deploy/win64/build-and-package.bat Wed Nov 28 12:55:33 2018 +0000
+++ b/deploy/win64/build-and-package.bat Thu Jan 31 10:32:45 2019 +0000
@@ -38,7 +38,7 @@
cd %STARTPWD%
del /q /s build_win32
-call .\deploy\win64\build-32.bat
+call .\deploy\win32\build-32.bat
if %errorlevel% neq 0 exit /b %errorlevel%
if "%ARG%" == "sign" (
diff -r 02f15fb8ec68 -r 252c7c8a1a37 deploy/win64/sonic-visualiser.wxs
--- a/deploy/win64/sonic-visualiser.wxs Wed Nov 28 12:55:33 2018 +0000
+++ b/deploy/win64/sonic-visualiser.wxs Thu Jan 31 10:32:45 2019 +0000
@@ -173,20 +173,20 @@
+ Source="C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Redist\MSVC\14.16.27012\x64\Microsoft.VC141.CRT\msvcp140.DLL"/>
+ Source="C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Redist\MSVC\14.16.27012\x64\Microsoft.VC141.CRT\vccorlib140.DLL"/>
+ Source="C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Redist\MSVC\14.16.27012\x64\Microsoft.VC141.CRT\vcruntime140.DLL"/>
@@ -227,6 +227,23 @@
Id="piper64"
Name="piper-vamp-simple-server.exe"
Source="release\piper-vamp-simple-server.exe"/>
+
+
+
+
- (auto)
+ (automaticky)
@@ -210,51 +210,51 @@
CSVAudioFormatDialog
-
+ Vybrat formát zvukových dat
- Vyberte, prosím, správný datový formát pro tento soubor.
+ Vyberte, prosím, správný datový formát pro tento soubor.
- <nevšímat si>
+ <nevšímat si>
-
+ Zvukové kanály
- %1 (více)
+ %1 (více)
-
+ Zvukový kanál
- Vzorkovací kmitočet zvuku (Hz):
+ Vzorkovací kmitočet zvuku (Hz):
-
+ Vzorkovací kmitočty jsou:
-
+ Plovoucí bod v rozsahu -1 to 1
-
+ 8-bit v rozsahu 0 až 255
-
+ 16-bit v rozsahu -32768 až 32767
-
+ Neznámý rozsah: normalizovat při nahrání
@@ -604,7 +604,7 @@
-
+ (koš %1)
@@ -1615,7 +1615,7 @@
- Časový průběh vlny
+ Časový průběh signálu
@@ -2079,7 +2079,7 @@
- Přidat novou vrstvu ukazující pohled na časový průběh vlny
+ Přidat novou vrstvu ukazující pohled na časový průběh signálu
@@ -2231,7 +2231,7 @@
- Obvyklý tvar vlny
+ Obvyklý tvar křivky
@@ -3123,7 +3123,7 @@
- Nastavit znovu počítadla
+ Vrátit počítadla na výchozí
@@ -3155,7 +3155,7 @@
- Přidat novou tabulku ukazující pohled na časový průběh vlny
+ Přidat novou tabulku ukazující pohled na časový průběh signálu
@@ -3599,7 +3599,7 @@
- Přidat &časový průběh vlny
+ Přidat &časový průběh signálu
@@ -3611,7 +3611,7 @@
- <b>Vybrat cíl pro zavedení</b><p> Tento dokument RDF odkazuje na jeden nebo více zvukových souborů.<p>Již jste nahrál jeden zvukový časový průběh vlny.<br>Co chcete udělat s novými daty?
+ <b>Vybrat cíl pro zavedení</b><p> Tento dokument RDF odkazuje na jeden nebo více zvukových souborů.<p>Již jste nahrál jeden zvukový časový průběh signálu.<br>Co chcete udělat s novými daty?
@@ -3667,7 +3667,7 @@
- Nastavit číslovací počítadla znovu
+ Vrátit číslovací počítadla na výchozí
@@ -3703,7 +3703,7 @@
- Jít na celou obrazovku
+ Na celou obrazovku
@@ -4131,67 +4131,67 @@
-
+ Překlad rozhraní do ruštiny poskytnut Alexandrem Prokoudinem.
-
+ Překlad rozhraní do češtiny poskytnut Pavlem Fricem.
-
+ Shift+;
-
+ Ctrl+Shift+;
-
+ Převést zvuk z datového souboru...
-
+ Převést a zavést hodnoty zvukových vzorků z datového souboru CSV
-
+ Vyvést zvuk do datového souboru...
-
+ Vyvést zvuk z výběru do datového souboru CSV
-
+ Procházet nahraný a převedený zvuk
-
+ Co &nového v tomto vydání?
-
+ Uvést změny v tomto vydání (a v každém z předchozích vydání) %1
-
+ Převádí se zvuková data...
-
+ <b>Soubor se nepodařilo otevřít</b><p>Ssoubor se zvukovými daty "%1" se nepodařilo otevřít.
-
+ <b>Nepodařilo se nahrát přídavné moduly</b>
-
+ Klepněte a táhněte pro přizpůsobení, Ctrl+klepnutí pro vrácení do výchozího stavu
-
+ Táhněte nahoru/dolů pro přizpůsobení, Ctrl+klepnutí pro vrácení do výchozího stavu
@@ -4416,20 +4416,21 @@
-
+ Nedostatek paměti
-
+ <b>Nedostatek paměti</b><p></p>Zdá se, že na disku není dostatek paměti na to, aby pojala všechna nezbytná dočasná data.<p>
-
+ Nahráno neúplné sezení
-
+ Něco ze zvukového obsahu, na který odkazuje původní soubor se sezením se nepodařilo nahrát.
+Pokud toto sezení uložíte, bude uloženo bez jakéhokoli odkazu na onen zvuk a může dojít ke ztrátě informací.
@@ -4596,7 +4597,7 @@
- Přímočaré
+ Lineární
@@ -5096,7 +5097,7 @@
-
+ Klepněte a táhněte pro pohyb; použijte kolečko myši nebo polohovací plošku počítače pro přibližování/oddalování; podržte Shift a táhněte pro přiblížení na oblast
@@ -5251,119 +5252,120 @@
PluginPathConfigurator
-
+ Posunout vybrané umístění v seznamu dolů
-
+ Posunout vybrané umístění v seznamu nahoru
-
+ Přidat do seznamu nové umístění
-
+ Odstranit vybrané umístění ze seznamu
-
+ Nastavit znovu na výchozí
-
+ Nastavit seznam pro tento typ přídavného modulu znovu na výchozí
-
+ Přezkoumat přídavné moduly...
-
+ Umístění přídavných modulů pro typ přídavného modulu:
-
+ Vamp
-
+ LADSPA
-
+ DSSI
-
+ Vamp (32-bitů)
-
+ LADSPA (32-bitů)
-
+ DSSI (32-bitů)
-
+ (Proměnná nyní není nastavena)
-
+ (Nynější hodnota začíná: "%1 ...")
-
+ (Nyní nastaveno na: "%1")
-
+ Povolit proměnnou prostředí %1, aby dostala přednost před
+%2
-
+ Vybrat adresář k přidání
PluginReviewDialog
-
+ Přídavné moduly nahrány
- Typ
+ Typ
-
+ Knihovna
-
+ Identifikátor
-
+ Nalezeno v
- Název
+ Název
-
+ Vamp
-
+ DSSI
-
+ LADSPA
@@ -5434,7 +5436,7 @@
- Přímočará interpolace
+ Lineární (přímočará) interpolace
@@ -5574,7 +5576,7 @@
- Nahrát soubory MP v bezmezerovém režimu
+ Nahrát soubory MP3 v bezmezerovém režimu
@@ -5599,7 +5601,7 @@
- Obvyklý tvar vlny
+ Obvyklý tvar křivky
@@ -5703,11 +5705,11 @@
- (auto)
+ (automaticky)
- Barva tvaru vlny přehledu:
+ Barva tvaru křivky přehledu:
@@ -5719,7 +5721,7 @@
- Použít "%1" v nabídce Soubor pro přidání k těmto.)
+ Pro přidání k těmto použít "%1" v nabídce Soubor.
@@ -5747,7 +5749,7 @@
-
+ &Přídavné moduly
@@ -5837,19 +5839,19 @@
-
+ Klepněte a táhněte pro přizpůsobení, Ctrl+klepnutí pro vrácení do výchozího stavu
-
+ Táhněte nahoru/dolů pro přizpůsobení, Ctrl+klepnutí pro vrácení do výchozího stavu
- %1: %3 {1%2:?}
+ %1%2: %3
- %1%2
+ %1%2
@@ -5981,7 +5983,7 @@
- <b>Nepodařilo se nahrát přídavné moduly</b><p>Nepodařilo se nahrát jednu nebo více knihoven s přídavnými moduly:</p>
+ <b>Nepodařilo se nahrát přídavné moduly</b><p>Nepodařilo se nahrát jednu nebo více knihoven přídavných modulů:</p>
@@ -6045,67 +6047,67 @@
-
+ Vyvádí se zvuková data...
-
+ Soubor s knihovnou se nepodařilo otevřít
-
+ Knihovna má špatnou architekturu - možná 32-bitový přídavný modul nainstalovaný ve složce pro 64-bitové přídavné moduly
-
+ Knihovna má špatnou architekturu - možná 64-bitový přídavný modul nainstalovaný ve složce pro 32-bitové přídavné moduly
-
+ Knihovna závisí na jiné knihovně, kterou nelze najít: %1
-
+ Knihovnu nelze nahrát: %1
-
+ Není platnou knihovnou přídavného modulu (nenalezen popisovač)
-
+ Knihovna neobsahuje žádné přídavné moduly
-
+ Neznámá chyba
-
-
-
-
+
+ ... a %n další selhání
+ ... a %n další selhání
+ ... a %n další(ch) selhání
- Modrá na černé
+ Modrá na černé
-
+ Cividis
-
+ Láva
-
+ Oprávnění k nahrání knihovny bylo odmítnuto
-
+ <b>Nepodařilo se nahrát jednu nebo více knihoven přídavných modulů:</b>
@@ -6207,7 +6209,7 @@
- Přímočarý
+ Lineární
@@ -6427,7 +6429,7 @@
- Přímočarý
+ Lineární
@@ -6771,7 +6773,7 @@
- Přímočarý
+ Lineární
@@ -6895,23 +6897,23 @@
-
+ Převzorkování
- 1x
+ 1x
- 2x
+ 2x
- 4x
+ 4x
- 8x
+ 8x
@@ -7014,27 +7016,27 @@
-
+ Hz
-
+ Převzorkování
- 1x
+ 1x
- 2x
+ 2x
- 4x
+ 4x
- 8x
+ 8x
@@ -7365,7 +7367,7 @@
- Přímočaré
+ Lineární
@@ -7908,9 +7910,9 @@
- Zvětšení na jeden vzorek na pixel
- Zvětšení na %n vzorky na pixel
- Zvětšení na %n vzorků na pixel
+ Zvětšení na %n vzorek na obrazový bod
+ Zvětšení na %n vzorky na obrazový bod
+ Zvětšení na %n vzorků na obrazový bod
@@ -7919,10 +7921,10 @@
-
-
-
-
+
+ Zvětšení %n obrazový bod na vzorek
+ Zvětšení %n obrazové body na vzorek
+ Zvětšení %n obrazových bodů na vzorek
@@ -7991,7 +7993,7 @@
- Přímočarý
+ Lineární
diff -r 02f15fb8ec68 -r 252c7c8a1a37 i18n/sonic-visualiser_en_GB.ts
--- a/i18n/sonic-visualiser_en_GB.ts Wed Nov 28 12:55:33 2018 +0000
+++ b/i18n/sonic-visualiser_en_GB.ts Thu Jan 31 10:32:45 2019 +0000
@@ -1975,7 +1975,7 @@
-
+
@@ -2006,7 +2006,7 @@
-
+
@@ -2250,7 +2250,7 @@
-
+
@@ -2261,7 +2261,7 @@
-
+
@@ -2307,9 +2307,9 @@
-
-
-
+
+
+
@@ -2455,12 +2455,12 @@
-
-
-
-
-
-
+
+
+
+
+
+
@@ -2491,8 +2491,8 @@
-
-
+
+
@@ -3023,8 +3023,8 @@
-
-
+
+
@@ -3258,511 +3258,511 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
+
+
-
+
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
+
-
-
-
-
-
+
+
+
+
+
-
+
-
-
-
-
-
-
+
-
+
This text is a shortcut label referring to the space-bar on the keyboard. It probably should not be translated, and certainly should not be translated as if referring to an empty void or to the extra-terrestrial universe.
-
+
+
+
+
+
+
+
-
-
+
-
-
-
-
-
+
+
+
+
+
-
+
-
-
-
-
-
+
+
+
+
+
-
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
+
-
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
+
-
+
+
+
+
+
+
-
+
-
-
-
-
-
+
+
+
+
+
-
+
-
-
-
-
-
+
+
+
+
+
-
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -3802,459 +3802,459 @@
-
+
-
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
+
-
+
-
-
-
-
-
+
+
+
+
+
-
+
-
+
-
-
-
-
-
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
-
-
-
-
+
+
+
+
+
-
+
-
+
-
+
-
+
+
+
+
+
+
-
-
-
-
-
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -4339,429 +4339,429 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
-
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
-
+
-
+
+
+
+
+
+
-
-
-
-
-
-
+
-
+
-
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
+
-
+
-
+
-
-
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
+
+
-
-
-
-
-
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
+
+
-
-
-
-
-
-
+
-
+
-
+
-
+
-
+
-
+
@@ -6928,7 +6928,7 @@
-
+
@@ -7066,63 +7066,63 @@
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
diff -r 02f15fb8ec68 -r 252c7c8a1a37 i18n/sonic-visualiser_en_US.ts
--- a/i18n/sonic-visualiser_en_US.ts Wed Nov 28 12:55:33 2018 +0000
+++ b/i18n/sonic-visualiser_en_US.ts Thu Jan 31 10:32:45 2019 +0000
@@ -1967,7 +1967,7 @@
-
+
@@ -1998,7 +1998,7 @@
-
+
@@ -2242,7 +2242,7 @@
-
+
@@ -2253,7 +2253,7 @@
-
+
@@ -2299,9 +2299,9 @@
-
-
-
+
+
+
@@ -2447,12 +2447,12 @@
-
-
-
-
-
-
+
+
+
+
+
+
@@ -2483,8 +2483,8 @@
-
-
+
+
@@ -3027,8 +3027,8 @@
-
-
+
+
@@ -3262,511 +3262,511 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
+
+
-
+
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
+
-
-
-
-
-
+
+
+
+
+
-
+
-
-
-
-
-
-
+
-
+
This text is a shortcut label referring to the space-bar on the keyboard. It probably should not be translated, and certainly should not be translated as if referring to an empty void or to the extra-terrestrial universe.
-
+
+
+
+
+
+
+
-
-
+
-
-
-
-
-
+
+
+
+
+
-
+
-
-
-
-
-
+
+
+
+
+
-
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
+
-
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
+
-
+
+
+
+
+
+
-
+
-
-
-
-
-
+
+
+
+
+
-
+
-
-
-
-
-
+
+
+
+
+
-
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -3806,459 +3806,459 @@
-
+
-
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
+
-
+
-
-
-
-
-
+
+
+
+
+
-
+
-
+
-
-
-
-
-
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
-
-
-
-
+
+
+
+
+
-
+
-
+
-
+
-
+
+
+
+
+
+
-
-
-
-
-
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -4343,429 +4343,429 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
-
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
-
+
-
+
+
+
+
+
+
-
-
-
-
-
-
+
-
+
-
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
+
-
+
-
+
-
-
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
+
+
-
-
-
-
-
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
+
+
-
-
-
-
-
-
+
-
+
-
+
-
+
-
+
-
+
@@ -6921,7 +6921,7 @@
-
+
@@ -7059,63 +7059,63 @@
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
diff -r 02f15fb8ec68 -r 252c7c8a1a37 i18n/sonic-visualiser_ru.qm
Binary file i18n/sonic-visualiser_ru.qm has changed
diff -r 02f15fb8ec68 -r 252c7c8a1a37 i18n/sonic-visualiser_ru.ts
--- a/i18n/sonic-visualiser_ru.ts Wed Nov 28 12:55:33 2018 +0000
+++ b/i18n/sonic-visualiser_ru.ts Thu Jan 31 10:32:45 2019 +0000
@@ -98,7 +98,7 @@
- %1: %2
+ %1: %2
@@ -250,12 +250,12 @@
-
+ Выбрать формат звуковых данных
-
+ Выберите корректный формат данных для этого файла.
@@ -266,7 +266,7 @@
-
+ Звуковые каналы
@@ -276,37 +276,37 @@
-
+ Звуковой канал
- Частота сэмплирования звука (Гц):
+ Частота сэмплирования (Гц):
-
+ Значения выборок:
-
+ Плавающая точка в диапазоне от -1 до 1
-
+ 8 бит в диапазоне от 0 до 255
-
+ 16 бит в диапазоне от -32768 до 32767
-
+ Неизвестный диапазон: нормировать при загрузке
@@ -359,7 +359,7 @@
-
+ Выберите корректный формат данных для этого файла.
@@ -370,7 +370,7 @@
-
+ Значения
@@ -380,57 +380,57 @@
- Время
+ Время
-
+ Время конца
- Длительность
+ Длительность
- Значение
+ Значение
- Высота тона
+ Высота тона
- Метка
+ Метка
-
+ Как определено время:
-
+ Явно, в секундах
-
+ Явно, в миллисекундах
-
+ Явно, в аудиовыборках
-
+ Неявно, строки равно расставлены во времени
@@ -445,7 +445,7 @@
-
+ Данные будут показаны в слое %1.
@@ -728,7 +728,7 @@
Decoding %1...
- Декодируется %1...
+ Декодируется %1...
@@ -736,7 +736,7 @@
Decoding %1...
- Декодируется %1...
+ Декодируется %1...
@@ -947,7 +947,7 @@
Vertical Scale
- Верт. масштаб
+ Верт. масштаб
@@ -977,33 +977,33 @@
MIDI Notes
- Ноты MIDI
+ Ноты MIDI
In progress
- В процессе
+ В процессе
No local points
- Нет локальных точек
+ Нет локальных точек
%1 (%2, %3 Hz)
- %1 (%2, %3 Гц)
+ %1 (%2, %3 Гц)
%1 Hz (%2, %3)
- %1Гц (%2, %3)
+ %1Гц (%2, %3)
%1 %2
- %1 %2
+ %1 %2
@@ -1011,7 +1011,7 @@
Pitch: %2
Duration: %3
No label
- Время: %1
+ Время: %1
Высота тона: %2
Длительность: %3
Без метки
@@ -1022,7 +1022,7 @@
Pitch: %2
Duration: %3
Label: %4
- Время: %1
+ Время: %1
Высота тона: %2
Длительность: %3
Метка: %4
@@ -1030,39 +1030,39 @@
Draw Point
- Нарисовать точку
+ Нарисовать точку
Erase Point
-
+ Стереть точку
Drag Point
- Перетащить точку
+ Перетащить точку
Edit Point
- Изменить точку
+ Изменить точку
Relocate Point
- Переместить точку
+ Переместить точку
Change Point Value
- Изменить значение точки
+ Изменить значение точки
Add Point
- Добавить точку
+ Добавить точку
@@ -1072,28 +1072,28 @@
Merge Notes
-
+ Объединить ноты
Drag Selection
-
+ Перетащить выделение
Resize Selection
-
+ Изменить размер выделения
Delete Selected Points
- Удалить выбранные точки
+ Удалить выбранные точки
Re-align pasted items?
- Заново выровнять вставленные объекты?
+ Заново выровнять вставленные объекты?
@@ -1103,7 +1103,7 @@
Paste
- Вставить
+ Вставить
@@ -1485,7 +1485,9 @@
%1 session files (*.%1)
RDF files (%3)
All files (*.*)
-
+ Файлы сессий %1 (*.%1)
+Файлы RDF (%3)
+Все файлы (*.*)
@@ -1547,13 +1549,19 @@
Layer files (%2)
RDF files (%3)
All files (*.*)
-
+ Все поддерживаемые файлы (*.sv %1 %2 %3)
+Файлы сессий %4 (*.%5)
+Звуковые файлы (%1)
+Файлы слоёв (%2)
+Файлы RDF (%3)
+Все файлы (*.*)
%1 session files (*.%2)
All files (*.*)
-
+ Файлы сессий %1 (*.%2)
+Все файлы (*.*)
@@ -1789,7 +1797,7 @@
%1: Key and Mouse Reference
-
+ %1: справка по клавиатурным комбинациям и мыши
Sonic Visualiser: Key and Mouse Reference
@@ -1962,7 +1970,7 @@
Unknown Layer
-
+ Неизвестный слой
Layer
@@ -2414,7 +2422,7 @@
-
+
&Delete Selected Items
&Удалить выбранное
@@ -2450,9 +2458,9 @@
-
-
-
+
+
+
Shift+Left
Shift+Left
@@ -2519,7 +2527,7 @@
Abandon the current %1 session and start a new one
-
+ Отказаться от текущей сессии %1 и начать новую
@@ -2534,12 +2542,12 @@
Save the current session into a %1 session file
-
+ Сохранить текущую сессию в файл сессии %1
Save the current session into a new %1 session file
-
+ Сохранить текущую сессию в новый файл сессии %1
Export Audio Data...
@@ -2572,7 +2580,7 @@
Open the Recorded Audio folder in the system file browser
-
+ Открыть папку с записанным звуком в файловом менеджере
@@ -2582,17 +2590,17 @@
Shift+;
-
+ Shift+;
Ctrl+Shift+;
-
+ Ctrl+Shift+;
Ctrl+Shift+Return
-
+ Ctrl+Shift+Return
@@ -2626,12 +2634,12 @@
-
-
-
-
-
-
+
+
+
+
+
+
Left
Влево
@@ -2657,8 +2665,8 @@
-
-
+
+
Ctrl+Left
Ctrl+Влево
@@ -2953,61 +2961,61 @@
Показать информацию о Sonic Visualiser
-
+
Rewind to Start
Перемотать в начало
-
+
Home
Домой
-
+
Rewind to the start
Перемотать в начало
-
+
+
-
Rewind
Перемотать назад
-
+
Rewind to the previous time instant in the current layer
Перемотать до предыдущей отметки времени в текущем слое
-
+
Play / Pause
Воспроизвести / Приостановить
-
+
Space
This text is a shortcut label referring to the space-bar on the keyboard. It probably should not be translated, and certainly should not be translated as if referring to an empty void or to the extra-terrestrial universe.
-
+
Start or stop playback from the current position
Запустить или остановить воспроизведение с текущей позиции
-
-
+
+
Fast Forward
Перемотать вперёд
-
+
Fast forward to the next time instant in the current layer
Перемотать до следующей отметки времени в текущем слое
-
+
Fast Forward to End
Перемотать до конца
@@ -3031,143 +3039,143 @@
Показать информацию о %1
-
+
End
Конец
-
+
Fast-forward to the end
Перемотать до конца
-
+
Play Mode Toolbar
Панель режима воспроизведения
-
+
Constrain Playback to Selection
Ограничить воспроизведение выделением
-
+
s
с
-
+
Loop Playback
Воспроизведение в цикле
-
+
l
l
-
+
Loop playback
Воспроизведение в цикле
-
+
Edit Toolbar
Панель правки
-
+
Tools Toolbar
Панель инструментов
-
-
-
+
+
+
Navigate
Перемещение
-
+
1
1
-
-
+
+
Select
Выделение
-
+
2
2
-
-
-
+
+
+
Edit
Правка
-
+
3
3
-
-
+
+
Draw
Рисование
-
+
4
4
-
+
No audio file loaded.
Ни один звуковой файл не загружен.
-
+
%1Hz (resampling to %2Hz)
%1 Гц (ресэмплирование до %2 Гц)
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
Failed to open file
Не удалось открыть файл
-
+
Export the selected region only
Экспортировать только выделенную область
-
+
Export the whole audio file
Экспортировать весь звуковой файл
-
-
-
-
+
+
+
+
Select region to export
Выделите область для экспорта
-
+
Which region from the original audio file do you want to export?
Какую область исходного звукового файла вы хотите экспортировать?
@@ -3176,30 +3184,30 @@
Экспортировать выделенные области в один звуковой файл
-
+
Export the selected regions into separate files
Экспортировать выделенные области в разные звуковые файлы
-
+
Multiple regions of the original audio file are selected.
What do you want to export?
Выбрано несколько областей исходного звукового файла.
Какую из них вы хотите экспортировать?
-
+
Fragment file %1 already exists, aborting
Файл фрагмента %1 уже существует, прерывание
-
-
+
+
Failed to write file
Не удалось записать файл
-
+
Failed to open file %1 for writing
Не удалось открыть файл %1 для записи
@@ -3208,84 +3216,84 @@
Sonic Visualiser: %1
-
+
Session modified
Сессия изменена
-
-
+
+
Failed to save file
Не удалось сохранить файл
-
+
Rename Layer
Переименовать слой
-
+
New name for this layer:
Новое имя этого слоя:
-
+
Sample rate mismatch
Несоответствие частоты дискретизации
-
-
+
+
Failed to regenerate layer
Не удалось повторно создать слой
-
+
http://www.sonicvisualiser.org/
http://www.sonicvisualiser.org/
-
+
Release %1 : Revision %2
Версия %1 : Редакция %2
-
+
Release %1
Версия %1
-
+
Unreleased : Revision %1
Не выпущено : редакция %1
-
+
<h3>About Sonic Visualiser</h3>
<h3>О программе Sonic Visualiser</h3>
-
+
Debug
Отладка
-
+
Release
Версия
-
+
<br>With Ogg file decoder (oggz v%1, fishsound v%2) © CSIRO Australia
<br>С декодером Ogg (oggz v%1, fishsound v%2) © CSIRO Australia
-
+
<br>With LADSPA plugin support (API v%1) © Richard Furse, Paul Davis, Stefan Westerfeld
<br>С поддержкой плагинов LADSPA (API v%1) © Richard Furse, Paul Davis, Stefan Westerfeld
-
+
<br>With DSSI plugin support (API v%1) © Chris Cannam, Steve Harris, Sean Bolton
<br>С поддержкой плагинов DSSI (API v%1) © Chris Cannam, Steve Harris, Sean Bolton
@@ -3294,8 +3302,8 @@
О программе Sonic Visualiser
-
-
+
+
Failed to generate layer
Не удалось создать слой
@@ -3393,8 +3401,8 @@
-
-
+
+
%1: %2
%1: %2
@@ -3410,8 +3418,8 @@
[\(<].*$
-
-
+
+
Audio processing overload
Перегрузка в обработке звука
@@ -3616,70 +3624,70 @@
Показать изменения в этой версии %1
-
+
Select ranges
Выбрать диапазон
-
+
Edit items in layer
Изменить объекты слоя
-
+
Draw new items in layer
Нарисовать новые объекты в слое
-
+
Open Location
Открыть местоположение
-
+
Please enter the URL of the location to open:
Введите URL открываемого местоположения:
-
-
-
-
+
+
+
+
Failed to open location
Не удалось открыть местоположение
-
+
Multiplex all of the above
-
+
Playback speed: %1% (%2x slower)
Скорость воспроизведения: %1% (в %2 раза медленнее)
-
+
Playback speed: %1% (%2x faster)
Скорость воспроизведения: %1% (в %2 раза быстрее)
-
+
Visible: %1 to %2 (duration %3)
Видимая область: от %1 до %2 (длительность %3)
-
+
Problems loading plugins
-
+
<b>Layer generation failed</b><p>Failed to generate derived layer.<p>The layer transform %1failed:<p>%2
-
+
<b>Layer generation failed</b><p>Failed to generate a derived layer.<p>The layer transform %1failed.<p>No error information is available.
@@ -3688,32 +3696,32 @@
Изменить общую громкость воспроизведения
-
+
Adjust the master playback speed
Изменить общую скорость воспроизведения
-
+
<br>With Ogg file decoder © CSIRO Australia
<br>С декодером Ogg © CSIRO Australia
-
+
<br>With MAD mp3 decoder © Underbit Technologies Inc
<br>С декодером MAD mp3 © Underbit Technologies Inc
-
+
<br>With libsamplerate © Erik de Castro Lopo
<br>С libsamplerate © Erik de Castro Lopo
-
+
<br>With libsndfile © Erik de Castro Lopo
<br>С libsndfile © Erik de Castro Lopo
-
+
<br>With FFTW3 © Matteo Frigo and MIT
<br>С FFTW3 © Matteo Frigo и MIT
@@ -3722,12 +3730,12 @@
<br>С поддержкой расширений Vamp (API v%1, host SDK v%2) © Chris Cannam
-
+
<br>With Serd and Sord RDF parser and store © David Robillard
-
+
<br>With liblo Lite OSC library © Steve Harris
<br>С liblo Lite OSC library © Steve Harris
@@ -3742,48 +3750,48 @@
Экспортировать всё окно в файл изображения
-
+
Export the whole pane (%1x%2 pixels)
Экспортировать всё окно (%1x%2 пикселов)
-
+
Export the visible area only (%1x%2 pixels)
Экспортировать только видимую часть (%1x%2 пикселов)
-
+
Export the selection extent (%1x%2 pixels)
Экспортировать выделение (%1x%2 пикселов)
-
-
+
+
Export the selection extent
Экспортировать выделение
-
+
Which region of the current pane do you want to export as an image?
Какую область текущего окна вы хотите экспортировать как изображение?
-
+
Note: the whole pane is too wide to be exported as a single image.
Примечание: всё окно слишком широко, чтобы сохранить его как изображение.
-
+
Failed to save image file
Не удалось сохранить файл изображения
-
+
Failed to save image file %1
Не удалось сохранить файл изображения %1
-
+
Selection: %1 to %2 (duration %3)
Выделение: %1 до %2 (длительность %3)
@@ -3804,7 +3812,7 @@
-
+
Green
Зелёный
@@ -3835,7 +3843,7 @@
-
+
Bright Green
Ярко-зелёный
@@ -3906,7 +3914,7 @@
-
+
Delete items in current selection from the current layer
Удалить объекты в активном выделении текущего слоя
@@ -4023,7 +4031,7 @@
Shift+W
-
+ Shift+W
@@ -4038,7 +4046,7 @@
Shift+G
-
+ Shift+G
@@ -4048,7 +4056,7 @@
Shift+M
-
+ Shift+M
@@ -4063,7 +4071,7 @@
Shift+K
-
+ Shift+K
@@ -4073,7 +4081,7 @@
Shift+U
-
+ Shift+U
@@ -4148,7 +4156,7 @@
Open the %1 reference manual
-
+ Открыть справочник по %1
@@ -4165,587 +4173,587 @@
Открыть окно, в котором перечисляются клавиатурные комбинации Sonic Visualiser
-
+
Ctrl+R
Ctrl+R
-
+
Re-open
Повторно открыть
-
+
Re-open the current or most recently opened file
Повторно открыть активный или недавно открывавшийся файл
-
+
Standard Waveform
- Обычная волновая форма сигнала
-
-
-
+ Обычная волновая форма сигнала
+
+
+
Choose Default Template...
Выбрать шаблон по умолчанию…
-
+
Ctrl+T
Ctrl+T
-
+
Repeat Transform
Повторить преобразование
-
+
Re-select the most recently run transform
Повторно запустить самое последнее выполнявшееся преобразование
-
+
Playback and Transport Controls
Управление воспроизведением и перемоткой
-
+
Play&back
Воспро&изведение
-
+
Playback
Воспроизведение
-
+
Playback Toolbar
Панель воспроизведения
-
+
PgUp
PgUp
-
+
Rewind to the previous time instant or time ruler notch
-
+
PgDown
PgDown
-
+
Fast-forward to the next time instant or time ruler notch
-
+
Record
Записать
+
+ Ctrl+Space
+ Ctrl+Space
+
+
- Ctrl+Space
-
-
-
-
Record a new audio file
-
-
-
-
+ Записать новый звуковой файл
+
+
+
Constrain playback to the selected regions
-
+
Solo Current Pane
Соло активного окна
-
+
o
o
-
+
Solo the current pane during playback
При воспроизведении звучит лишь активное окно
-
+
Align File Timelines
Выровнять линейки времени
-
+
Treat multiple audio files as versions of the same work, and align their timelines
-
+
Speed Up
Ускорить
-
+
Ctrl+PgUp
Ctrl+PgUp
-
+
Time-stretch playback to speed it up without changing pitch
Сжать время воспроизведения, не меняя высоту тона
-
+
Slow Down
Замедлить
-
+
Ctrl+PgDown
Ctrl+PgDown
-
+
Time-stretch playback to slow it down without changing pitch
Расширить время воспроизведения, не меняя высоту тона
-
+
Restore Normal Speed
Восстановить обычную скорость
-
+
Ctrl+Home
Ctrl+Home
-
+
Restore non-time-stretched playback
Восстановить естественную скорость воспроизведения
-
-
-
-
-
-
+
+
+
+
+
+
Tool Selection
Выбор инструмента
-
+
Navigate Tool Mouse Actions
Использование мыши с инструментом навигации
-
+
Click left button and drag to move around
+
+
+ Zoom to Area
+ Масштабировать в выделение
+
+
- Zoom to Area
- Масштабировать в выделение
-
-
-
-
Shift-click left button and drag to zoom to a rectangular area
-
+
Relocate
Переместить
+
+
+
+
+ Double-Click Left
+ Двойной щелчок левой клавишей
+
+
+ Double-click left button to jump to clicked location
+
+
+
-
- Double-Click Left
- Двойной щелчок левой клавишей
-
-
-
- Double-click left button to jump to clicked location
-
-
-
-
-
Double-click left button on an item to edit it
-
+
Select Tool Mouse Actions
Использование мыши с инструментом выделения
-
+
Click left button and drag to select region; drag region edge to resize
-
-
+
+
Multi Select
Множественное выделение
-
+
Cmd-click left button and drag to select an additional region
-
+
Ctrl-click left button and drag to select an additional region
-
+
Fine Select
Выделить точно
-
+
Shift-click left button and drag to select without snapping to items or grid
-
+
Edit Tool Mouse Actions
Использование мыши с инструментом редактирования
-
+
Move
Переместить
-
+
Click left button on an item or selected region and drag to move
-
+
Draw Tool Mouse Actions
Использование мыши с инструментом рисования
-
+
Click left button and drag to create new item
Щелкните левой клавишей мыши и перетащите курсор для создания нового объекта
-
-
+
+
Erase
Стерка
-
+
5
5
-
+
Erase items from layer
Стирать объекты слоя
-
+
Erase Tool Mouse Actions
-
+
Click left button on an item to remove it from the layer
-
+
Measure
Измеритель
-
+
6
6
-
+
Make measurements in layer
Выполнять измерения в слое
-
+
Measure Tool Mouse Actions
Использование мыши с инструментом измерения
+
+ Measure Area
+ Измерить область
+
+
- Measure Area
- Измерить область
-
-
-
Click left button and drag to measure a rectangular area
+
+ Measure Item
+ Измерить объект
+
+
- Measure Item
- Измерить объект
-
-
-
Click left button and drag to measure extents of an item or shape
-
+
&Delete Current Measurement
&Удалить активный замер
-
+
Delete the measurement currently under the mouse pointer
Удалить замер, находящийся под курсором мыши
-
+
Fast Forward to Next Instant
-
+
Rewind to Previous Instant
+
+ Fast Forward to Next Point
+
+
+
- Fast Forward to Next Point
+ Fast forward to the next point in the current layer
- Fast forward to the next point in the current layer
+ Rewind to Previous Point
- Rewind to Previous Point
-
-
-
-
Rewind to the previous point in the current layer
-
+
Fast forward
Быстрый вперед
-
-
-
+
+
+
<b>File open failed</b><p>Audio file "%1" could not be opened
<b>Не удалось открыть файл</b><p>Не удалось открыть звуковой файл "%1"
-
+
Export the selected regions into a single file
-
+
Export the whole file
-
+
Converting audio data...
-
+
<b>File open failed</b><p>Audio data file %1 could not be opened.
-
+
<b>File open failed</b><p>Layer file %1 could not be opened.
<b>Не удалось открыть файл</b><p>Не удалось открыть файл слоя "%1"
-
+
Can't export non-note layers to MIDI
Невозможно экспортировать ненотные слои в MIDI
-
+
Sorry, cannot export this layer type to RDF (supported types are: region, note, text, time instants, time values)
+
+ Export the whole pane
+
+
+
- Export the whole pane
-
-
-
-
Export the visible area only
-
+
Which region of the current pane do you want to export as a scalable SVG image?
+
+ Failed to save SVG file
+
+
+
- Failed to save SVG file
-
-
-
-
Failed to save SVG file %1
+
+ Failed to query transform attributes
+
+
+
- Failed to query transform attributes
-
-
-
-
<b>Failed to query transform attributes</b><p>Plugin or server error: %1</p>
-
+
Multiplexed audio
+
+ Transform failed
+
+
+
- Transform failed
-
-
-
-
<b>Failed to run transform</b><p>Plugin or server error: %1</p>
-
+
<b>Failed to load plugins</b>
+
+ Subdivide instants
+
+
+
- Subdivide instants
-
-
-
-
Number of subdivisions:
+
+ Winnow instants
+
+
+
- Winnow instants
-
-
-
-
Remove all instants apart from multiples of:
-
+
<b>Alignment calculation failed</b><p>Failed to calculate an audio alignment:<p>%1
+
+ Adjust the master playback level and pan
+
+
+
- Adjust the master playback level and pan
-
-
-
-
click then drag to adjust, ctrl+click to reset
-
+
drag up/down to adjust, ctrl+click to reset
-
+
With Qt v%1 © The Qt Company
-
+
<br>With Rubber Band Library v%1 © Particular Programs Ltd
-
+
<br>With Rubber Band Library © Particular Programs Ltd
-
+
<br>With Vamp plugin support (API v%1, host SDK v%2) © Chris Cannam and QMUL
<br>С поддержкой плагинов Vamp (API v%1, host SDK v%2) © Chris Cannam и QMUL
-
+
<br>With Piper Vamp protocol bridge © QMUL
+
+ <br>With Dataquay Qt/RDF library © Particular Programs Ltd
+
+
+
- <br>With Dataquay Qt/RDF library © Particular Programs Ltd
-
-
-
-
<br>With Cap'n Proto serialisation © Sandstorm Development Group
-
+
Russian UI translation contributed by Alexandre Prokoudine.
-
+
Czech UI translation contributed by Pavel Fric.
-
+
<h3>Newer version available</h3><p>You are using version %1 of Sonic Visualiser, but version %2 is now available.</p><p>Please see the <a href="http://sonicvisualiser.org/">Sonic Visualiser website</a> for more information.</p>
<h3>Доступна новая версия программы</h3><p>Вы используетее Sonic Visualiser версии %1, но уже доступна версия %2.</p><p>Загляните на <a href="http://sonicvisualiser.org/">сайт Sonic Visualiser</a>, чтобы узнать подробности.</p> {3>?} {3>?} {1 ?} {2 ?}
@@ -4754,64 +4762,64 @@
<b>Не удалось открыть файл</b><p>Не удалось открыть файл сеанса "%1"
-
+
<b>File open failed</b><p>File "%1" could not be opened
<b>Не удалось открыть файл</b><p>Не удалось открыть файл "%1"
-
+
<b>Open failed</b><p>URL "%1" could not be opened
<b>Не удалось открыть ссылку</b><p>Не удалось открыть URL "%1"
-
+
<b>Open failed</b><p>File or URL "%1" could not be opened
<b>Не удалось открыть ссылку</b><p>Не удалось открыть файл или URL "%1"
-
+
Enter template name
Введите название шаблона
-
+
Please enter a name for the saved template:
-
+
Set as default template for future audio files
+
+ Template file exists
+
+
+
- Template file exists
-
-
-
-
<b>Template file exists</b><p>The template "%1" already exists.<br>Overwrite it?
-
-
+
+
Failed to open dropped URL
Не удалось открыть URL, перемещенный мышью в окно программы
-
+
<b>Open failed</b><p>Dropped URL "%1" could not be opened
<b>Не удалось открыть ссылку</b><p>Не удалось открыть файл URL "%1", перетащенный в окно программы мышью
-
+
<b>Session modified</b><p>The current session has been modified.<br>Do you want to save it?
<b>Сеанс изменился</b><p>Активный сеанс изменился<br>Вы хотите сохранить его?
-
-
+
+
<b>Save failed</b><p>Session file "%1" could not be saved.
<b>Не удалось сохранить файл</b><p>Не удалось сохранить файл сессии "%1"
@@ -4820,7 +4828,7 @@
%1: %1 {1:?}
-
+
Playback speed: Normal
Скорость воспроизведения: обычная
@@ -4829,64 +4837,64 @@
Скорость воспроизведения: %1%2%
-
+
<b>Wrong sample rate</b><p>The sample rate of this audio file (%1 Hz) does not match
the current playback rate (%2 Hz).<p>The file will play at the wrong speed and pitch.<p>Change the <i>Resample mismatching files on import</i> option under <i>File</i> -> <i>Preferences</i> if you want to alter this behaviour.
-
+
<b>Overloaded</b><p>Audio effects plugin auditioning has been disabled due to a processing overload.
-
+
Reset Counters
Обнуление счетчиков
-
-
+
+
Warning
Предупреждение
-
+
<b>Layer generation failed</b><p>Failed to regenerate derived layer "%1" using new data model as input.<p>The layer transform "%2" failed:<p>%3
-
+
<b>Layer generation failed</b><p>Failed to regenerate derived layer "%1" using new data model as input.<p>The layer transform "%2" failed.<p>No error information is available.
-
+
<b>Warning when regenerating layer</b><p>When regenerating the derived layer "%1" using new data model as input:<p>%2
-
+
Failed to calculate alignment
Не удалось рассчитать выравнивание
-
+
<br>With JACK audio output library © Paul Davis and Jack O'Quin
<br>С библиотекой JACK © Paul Davis и Jack O'Quin
-
+
<br>With PortAudio audio output library © Ross Bencina and Phil Burk
<br>С библиотекой PortAudio © Ross Bencina и Phil Burk
-
+
<br>With PulseAudio audio output library © Lennart Poettering and Pierre Ossman
<br>С библиотекой PulseAudio © Lennart Poettering и Pierre Ossman
-
+
<b>Overloaded</b><p>Audio playback speed processing has been reduced to a single channel, due to a processing overload.
@@ -4910,7 +4918,7 @@
Ctrl+M
-
+
<p>Sonic Visualiser is a program for viewing and exploring audio data for semantic music analysis and annotation.<br><a href="http://www.sonicvisualiser.org/">http://www.sonicvisualiser.org/</a></p>
<p>Sonic Visualiser — программа для просмотра и исследования звукозаписей с целью семантического анализа и аннотации музыки.<br><a href="http://www.sonicvisualiser.org/">http://www.sonicvisualiser.org/</a></p>
@@ -4923,32 +4931,32 @@
С использованием Qt v%1 © Nokia Corporation
-
+
<br>With JACK audio output library v%1 © Paul Davis and Jack O'Quin
<br>С библиотекой JACK v%1 © Paul Davis и Jack O'Quin
-
+
<br>With PulseAudio audio output library v%1 © Lennart Poettering and Pierre Ossman
<br>С библиотекой PulseAudio v%1 © Lennart Poettering и Pierre Ossman
-
+
<br>With MAD mp3 decoder v%1 © Underbit Technologies Inc
<br>С декодером mp3 MAD v%1 © Underbit Technologies Inc
-
+
<br>With libsamplerate v%1 © Erik de Castro Lopo
<br>С libsamplerate v%1 © Erik de Castro Lopo
-
+
<br>With libsndfile v%1 © Erik de Castro Lopo
<br>С libsndfile v%1 © Erik de Castro Lopo
-
+
<br>With FFTW3 v%1 © Matteo Frigo and MIT
<br>С FFTW3 v%1 © Matteo Frigo и MIT
@@ -4973,22 +4981,22 @@
<br>С движком запросов RDF Rasqal © Dave Beckett и Бристольский университет
-
+
<br>With Redland RDF datastore v%1 © Dave Beckett and the University of Bristol
<br>C хранилищем данных RDF Redland v%1 © Dave Beckett и Бристольский университет
-
+
<br>With Redland RDF datastore © Dave Beckett and the University of Bristol
<br>C хранилищем данных RDF Redland © Dave Beckett и Бристольский университет
-
+
<br>With liblo Lite OSC library v%1 © Steve Harris
<br>С библиотекой OSC liblo v%1 © Steve Harris
-
+
</small><p><small>The OSC URL for this instance is: "%1"
</small><p><small>Адрес OSC для этой сессии: "%1"
@@ -5051,91 +5059,91 @@
-
+
Export multiple audio files
Экспортировать несколько звуковых файлов
-
+
Export audio to "%1"
Экспорт звука в "%1"
-
-
-
-
-
+
+
+
+
+
<b>Audio required</b><p>Unable to load layer data from "%1" without an audio file.<br>Please load at least one audio file before importing annotations.
-
+
Export layer to "%1"
Экспорт слоя в "%1"
-
+
Export image to "%1"
Экспорт изображения в "%1"
+
+ Close the current session and create a new one
+
+
+
- Close the current session and create a new one
-
-
-
-
Add this data to the current session
Добавить эти данные в активную сессию
-
+
Select target for import
Выбрать цель для импорта
-
+
<b>Select a target for import</b><p>This RDF document refers to one or more audio files.<br>You already have an audio waveform loaded.<br>What would you like to do with the new data?
<b>Выберите цель импорта</b><p>Этот документ RDF ссылается на один или более звуковых файлов.<br>У вас уже есть один загруженный звуковой файл.<br>Что вы хотите сделать с новыми данными?
-
+
Save session as "%1"
Сохранение сессию как "%1"
-
+
Add Point
Добавить точку
-
+
http://www.sonicvisualiser.org/doc/reference/%1/en/
http://www.sonicvisualiser.org/doc/reference/%1/en/
-
+
What's New
Что нового в программе
-
+
<h3>What's New in %1</h3>
<h3>Что нового в %1</h3>
-
+
<b>Note:</b> A newer version of Sonic Visualiser is available.<br>(Version %1 is available; you are using version %2)
-
-
-
-
+ <b>Примечание:</b> доступна новая версия Sonic Visualiser.<br>(Доступна версия %1; вы пользуетесь версией %2)
+
+
+
%1 : %2 configuration, %3-bit build
-
+
<br>With RtMidi © Gary P. Scavone
<br>С RtMidi © Gary P. Scavone
@@ -5160,62 +5168,62 @@
-
+
Rewind to Similar Point
Назад к первой схожей точке
-
+
Shift+PgUp
Shift+PgUp
-
+
Rewind to the previous similarly valued time instant
-
+
Fast Forward to Similar Point
Вперед к первой схожей точке
-
+
Shift+PgDown
Shift+PgDown
-
+
Fast-forward to the next similarly valued time instant
-
+
1. %2
1. %2
-
+
%1. %2
%1. %2
-
+
Select audio file to export
Укажите экспортируемый звуковой файл
-
+
Which audio file do you want to export from?
Какой звуковой файл вы хотите экспортировать?
-
+
About %1
-
-
-
-
+ О программе %1
+
+
+
Newer version available
Доступна более новая версия
@@ -7251,12 +7259,12 @@
%1%2: %3
- %1: %3 {1%2:?}
+ %1%2: %3
%1%2
- %1%2
+ %1%2
Add New Colour...
@@ -7590,7 +7598,7 @@
-
+
Exporting audio data...
@@ -7735,37 +7743,37 @@
Метка: %4
-
+
Change Point Value
Изменить значение точки
-
+
Drag Selection
Перетащить выделение
-
+
Resize Selection
Изменить размер выделения
-
+
Delete Selected Points
Удалить выбранные точки
-
+
Re-align pasted items?
Заново выровнять вставленные объекты?
-
+
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?
-
+
Paste
Вставить
@@ -7776,28 +7784,28 @@
-
+
Draw Region
-
+
Erase Region
-
+
Drag Region
-
-
+
+
Edit Region
-
+
Relocate Region
@@ -7898,7 +7906,7 @@
First
-
+ Первый
@@ -8275,12 +8283,12 @@
Oversampling
-
+ Оверсэмплинг
Normalization
-
+ Нормировка
@@ -8290,32 +8298,32 @@
View
-
+ Вид
Hybrid
-
+ Гибридный
1x
- 1x
+ 1x
2x
- 2x
+ 2x
4x
- 4x
+ 4x
8x
- 8x
+ 8x
@@ -8626,12 +8634,12 @@
Oversampling
-
+ Оверсэмплинг
Bins
- Бины
+ Бины
@@ -8661,22 +8669,22 @@
1x
- 1x
+ 1x
2x
- 2x
+ 2x
4x
- 4x
+ 4x
8x
- 8x
+ 8x
@@ -8700,7 +8708,7 @@
Hz
-
+ Гц
-Inf
@@ -8725,7 +8733,7 @@
First
-
+ Первый
@@ -8766,12 +8774,12 @@
Yes! Take me to the survey
- Да, я хочу заполнить отчёт
+ Да, я хочу заполнить отчёт
No, thanks
- Спасибо, нет
+ Спасибо, нет
@@ -9249,39 +9257,35 @@
%1 Hz (%2, %3)
- %1Гц (%2, %3)
+ %1Гц (%2, %3)
%1 %2
- %1 %2
+ %1 %2
%1
- %1
+ %1
Time: %1
Value: %2
No label
- Время: %1
+ Время: %1
Значение: %2%3
-Без метки {1
-?} {2
-?}
+Без метки
Time: %1
Value: %2
Label: %4
- Время: %1
+ Время: %1
Значение: %2%3
-Метка: %4 {1
-?} {2
-?}
+Метка: %4
@@ -9291,7 +9295,7 @@
Re-align pasted items?
- Заново выровнять вставленные объекты?
+ Заново выровнять вставленные объекты?
@@ -9301,12 +9305,12 @@
Select cycle size
-
+ Выберите размер цикла
Cycle size:
-
+ Размер цикла:
@@ -9619,28 +9623,28 @@
Pitch
- Высота тона
+ Высота тона
cents
-
+ центов
In 12-tone Equal Temperament:
-
+ В 12-ступенной равномерной темперации:
=
-
+ =
+
-
+ +
@@ -9650,7 +9654,7 @@
in octave
-
+ в октаве
@@ -9665,7 +9669,7 @@
Tempo
-
+ Темп
@@ -9681,7 +9685,8 @@
With concert-A tuning frequency at %1 Hz, and middle C residing in octave %2.
(These can be changed in the application preferences.)
-
+ С концертным строем Ля и частотой %1 Гц, средним До в %2.
+(Может меняться в настройках программы.)
@@ -9758,52 +9763,52 @@
Clear Selection
- Снять выделение
+ Снять выделение
Select Multiple Regions
- Выделить несколько областей
+ Выделить несколько областей
Select Region
- Выделить область
+ Выделить область
Enter Navigate mode
-
+ Перейти в режим навигации
Enter Select mode
-
+ Перейти в режим выделения
Enter Edit mode
-
+ Перейти в режим редактирования
Enter Draw mode
-
+ Перейти в режим рисования
Enter Erase mode
-
+ Перейти в режим стирания
Enter Measure mode
-
+ Перейти в режим измерения
Enter NoteEdit mode
-
+ Перейти в режим правки нот
diff -r 02f15fb8ec68 -r 252c7c8a1a37 main/MainWindow.cpp
--- a/main/MainWindow.cpp Wed Nov 28 12:55:33 2018 +0000
+++ b/main/MainWindow.cpp Thu Jan 31 10:32:45 2019 +0000
@@ -139,42 +139,42 @@
MainWindow::MainWindow(SoundOptions options, bool withOSCSupport) :
MainWindowBase(options),
- m_overview(0),
+ m_overview(nullptr),
m_mainMenusCreated(false),
- m_paneMenu(0),
- m_layerMenu(0),
- m_transformsMenu(0),
- m_playbackMenu(0),
- m_existingLayersMenu(0),
- m_sliceMenu(0),
- m_recentFilesMenu(0),
- m_recentTransformsMenu(0),
- m_templatesMenu(0),
- m_rightButtonMenu(0),
- m_rightButtonLayerMenu(0),
- m_rightButtonTransformsMenu(0),
- m_rightButtonPlaybackMenu(0),
- m_soloAction(0),
- m_rwdStartAction(0),
- m_rwdSimilarAction(0),
- m_rwdAction(0),
- m_ffwdAction(0),
- m_ffwdSimilarAction(0),
- m_ffwdEndAction(0),
- m_playAction(0),
- m_recordAction(0),
- m_playSelectionAction(0),
- m_playLoopAction(0),
+ m_paneMenu(nullptr),
+ m_layerMenu(nullptr),
+ m_transformsMenu(nullptr),
+ m_playbackMenu(nullptr),
+ m_existingLayersMenu(nullptr),
+ m_sliceMenu(nullptr),
+ m_recentFilesMenu(nullptr),
+ m_recentTransformsMenu(nullptr),
+ m_templatesMenu(nullptr),
+ m_rightButtonMenu(nullptr),
+ m_rightButtonLayerMenu(nullptr),
+ m_rightButtonTransformsMenu(nullptr),
+ m_rightButtonPlaybackMenu(nullptr),
+ m_soloAction(nullptr),
+ m_rwdStartAction(nullptr),
+ m_rwdSimilarAction(nullptr),
+ m_rwdAction(nullptr),
+ m_ffwdAction(nullptr),
+ m_ffwdSimilarAction(nullptr),
+ m_ffwdEndAction(nullptr),
+ m_playAction(nullptr),
+ m_recordAction(nullptr),
+ m_playSelectionAction(nullptr),
+ m_playLoopAction(nullptr),
m_soloModified(false),
m_prevSolo(false),
- m_playControlsSpacer(0),
+ m_playControlsSpacer(nullptr),
m_playControlsWidth(0),
- m_preferencesDialog(0),
- m_layerTreeDialog(0),
+ m_preferencesDialog(nullptr),
+ m_layerTreeDialog(nullptr),
m_activityLog(new ActivityLog()),
m_unitConverter(new UnitConverter()),
m_keyReference(new KeyReference()),
- m_templateWatcher(0)
+ m_templateWatcher(nullptr)
{
Profiler profiler("MainWindow::MainWindow");
@@ -350,8 +350,8 @@
connect(m_versionTester, SIGNAL(newerVersionAvailable(QString)),
this, SLOT(newerVersionAvailable(QString)));
} else {
- m_surveyer = 0;
- m_versionTester = 0;
+ m_surveyer = nullptr;
+ m_versionTester = nullptr;
}
/*
@@ -447,7 +447,7 @@
}
QWidget *ps = m_mainScroll->takeWidget();
- ps->setParent(0);
+ ps->setParent(nullptr);
QShortcut *sc;
@@ -924,7 +924,7 @@
IconLoader il;
- QAction *action = 0;
+ QAction *action = nullptr;
m_keyReference->setCategory(tr("Panning and Navigation"));
@@ -1306,7 +1306,7 @@
if (menuType == paneMenuType) menu = m_paneMenu;
else menu = m_layerMenu;
- QMenu *submenu = 0;
+ QMenu *submenu = nullptr;
QIcon icon;
QString mainText, tipText, channelText;
@@ -1503,7 +1503,7 @@
connect(this, SIGNAL(canAddLayer(bool)),
action, SLOT(setEnabled(bool)));
m_layerActions.push_back
- ({ action, LayerConfiguration(type, 0, 0) });
+ ({ action, LayerConfiguration(type, nullptr, 0) });
m_rightButtonLayerMenu->addAction(action);
}
}
@@ -1943,11 +1943,10 @@
m_recentFilesMenu->clear();
vector files = m_recentFiles.getRecent();
for (size_t i = 0; i < files.size(); ++i) {
- /* F. Nicol patch 13 Aug. 2016 */
- const QString& path = files[i];
+ QString path = files[i];
QAction *action = new QAction(path, this);
- connect(action, &QAction::triggered, [this, path] { openRecentFile(path);});
- /* end of patch */
+ action->setObjectName(path);
+ connect(action, SIGNAL(triggered()), this, SLOT(openRecentFile()));
if (i == 0) {
action->setShortcut(tr("Ctrl+R"));
m_keyReference->registerShortcut
@@ -1971,7 +1970,7 @@
m_templatesMenu->addSeparator();
- QAction *action = 0;
+ QAction *action = nullptr;
QStringList templates = ResourceFinder().getResourceFiles("templates", "svt");
@@ -2235,7 +2234,7 @@
connect(m_soloAction, SIGNAL(triggered()), this, SLOT(playSoloToggled()));
connect(this, SIGNAL(canChangeSolo(bool)), m_soloAction, SLOT(setEnabled(bool)));
- QAction *alAction = 0;
+ QAction *alAction = nullptr;
if (Document::canAlign()) {
alAction = toolbar->addAction(il.load("align"),
tr("Align File Timelines"));
@@ -2484,19 +2483,19 @@
{
MainWindowBase::updateMenuStates();
- Pane *currentPane = 0;
- Layer *currentLayer = 0;
+ Pane *currentPane = nullptr;
+ Layer *currentLayer = nullptr;
if (m_paneStack) currentPane = m_paneStack->getCurrentPane();
if (currentPane) currentLayer = currentPane->getSelectedLayer();
bool haveCurrentPane =
- (currentPane != 0);
+ (currentPane != nullptr);
bool haveCurrentLayer =
(haveCurrentPane &&
- (currentLayer != 0));
+ (currentLayer != nullptr));
bool havePlayTarget =
- (m_playTarget != 0 || m_audioIO != 0);
+ (m_playTarget != nullptr || m_audioIO != nullptr);
bool haveSelection =
(m_viewManager &&
!m_viewManager->getSelections().empty());
@@ -2764,7 +2763,7 @@
bool multiple = false;
- MultiSelection *selectionToWrite = 0;
+ MultiSelection *selectionToWrite = nullptr;
if (selections.size() == 1) {
@@ -3147,7 +3146,7 @@
settings.setValue("lastimageexportregion", deflt);
- QImage *image = 0;
+ QImage *image = nullptr;
if (item == items[0]) {
image = pane->renderToNewImage();
@@ -3328,9 +3327,9 @@
m_keyReference->hide();
delete m_document;
- m_document = 0;
+ m_document = nullptr;
m_viewManager->clearSelections();
- m_timeRulerLayer = 0; // document owned this
+ m_timeRulerLayer = nullptr; // document owned this
m_sessionFile = "";
setWindowTitle(QApplication::applicationName());
@@ -3397,24 +3396,24 @@
}
void
-MainWindow::openRecentFile(const QString& path)
+MainWindow::openRecentFile()
{
- /* F. Nicol patch 13 Aug. 2016 */
-#if 0
QObject *obj = sender();
QAction *action = dynamic_cast(obj);
if (!action) {
cerr << "WARNING: MainWindow::openRecentFile: sender is not an action"
- << endl;
+ << endl;
return;
}
- QString path = action->text();
-#endif
- /* End of F. Nicol patch 13 Aug. 2016 */
-
- if (path == "") return;
+ QString path = action->objectName();
+
+ if (path == "") {
+ cerr << "WARNING: MainWindow::openRecentFile: action incorrectly named"
+ << endl;
+ return;
+ }
FileOpenStatus status = openPath(path, ReplaceSession);
@@ -3618,6 +3617,7 @@
m_preferencesDialog->applicationClosing(true);
}
+ stop();
closeSession();
e->accept();
@@ -3901,7 +3901,7 @@
Layer *newLayer = m_document->createLayer(configuration.layer);
Model *suggestedModel = configuration.sourceModel;
- Model *model = 0;
+ Model *model = nullptr;
if (suggestedModel) {
@@ -4023,7 +4023,7 @@
LayerFactory::LayerTypeSet emptyTypes =
LayerFactory::getInstance()->getValidEmptyLayerTypes();
- Layer *newLayer = 0;
+ Layer *newLayer = nullptr;
if (emptyTypes.find(type) != emptyTypes.end()) {
@@ -4132,7 +4132,7 @@
std::vector candidateInputModels =
m_document->getTransformInputModels();
- Model *defaultInputModel = 0;
+ Model *defaultInputModel = nullptr;
for (int j = 0; j < pane->getLayerCount(); ++j) {
@@ -4156,7 +4156,7 @@
if (defaultInputModel) break;
}
- AggregateWaveModel *aggregate = 0;
+ AggregateWaveModel *aggregate = nullptr;
if (candidateInputModels.size() > 1) {
// Add an aggregate model as another option
@@ -4257,7 +4257,7 @@
TransformId transform = finder->getTransform();
delete finder;
- if (getMainModel() != 0 && m_paneStack->getCurrentPane() != 0) {
+ if (getMainModel() != nullptr && m_paneStack->getCurrentPane() != nullptr) {
addLayer(transform);
}
}
@@ -4484,7 +4484,7 @@
{
if (!statusBar()->isVisible()) return;
- Pane *pane = 0;
+ Pane *pane = nullptr;
sv_frame_t frame = m_viewManager->getPlaybackFrame();
if (m_paneStack) pane = m_paneStack->getCurrentPane();
@@ -4584,9 +4584,9 @@
void
MainWindow::midiEventsAvailable()
{
- Pane *currentPane = 0;
- NoteLayer *currentNoteLayer = 0;
- TimeValueLayer *currentTimeValueLayer = 0;
+ Pane *currentPane = nullptr;
+ NoteLayer *currentNoteLayer = nullptr;
+ TimeValueLayer *currentTimeValueLayer = nullptr;
if (m_paneStack) {
currentPane = m_paneStack->getCurrentPane();
@@ -4677,8 +4677,8 @@
void
MainWindow::playStatusChanged(bool )
{
- Pane *currentPane = 0;
- NoteLayer *currentNoteLayer = 0;
+ Pane *currentPane = nullptr;
+ NoteLayer *currentNoteLayer = nullptr;
if (m_paneStack) currentPane = m_paneStack->getCurrentPane();
if (currentPane) {
@@ -4754,7 +4754,7 @@
{
if (model == m_panLayer->getModel()) {
if (model == getMainModel()) {
- m_panLayer->setModel(0);
+ m_panLayer->setModel(nullptr);
} else {
m_panLayer->setModel(getMainModel());
}
@@ -5242,7 +5242,7 @@
aboutText += "
";
aboutText +=
- "Sonic Visualiser Copyright © 2005–2018 Chris Cannam and "
+ "
Sonic Visualiser Copyright © 2005–2019 Chris Cannam and "
"Queen Mary, University of London.
";
aboutText +=
diff -r 02f15fb8ec68 -r 252c7c8a1a37 main/MainWindow.h
--- a/main/MainWindow.h Wed Nov 28 12:55:33 2018 +0000
+++ b/main/MainWindow.h Thu Jan 31 10:32:45 2019 +0000
@@ -40,7 +40,7 @@
void canAlign(bool);
public slots:
- virtual void preferenceChanged(PropertyContainer::PropertyName);
+ void preferenceChanged(PropertyContainer::PropertyName) override;
virtual void coloursChanged();
virtual bool commitData(bool mayAskUser);
@@ -54,9 +54,7 @@
virtual void replaceMainAudio();
virtual void openSomething();
virtual void openLocation();
- /* F. Nicol patch 13 Aug. 2016 */
- virtual void openRecentFile(const QString& );
- /* End of F. Nicol patch 13 Aug. 2016 */
+ virtual void openRecentFile();
virtual void applyTemplate();
virtual void exportAudio();
virtual void exportAudioData();
@@ -69,12 +67,12 @@
virtual void saveSession();
virtual void saveSessionAs();
virtual void newSession();
- virtual void closeSession();
+ void closeSession() override;
virtual void preferences();
- virtual void sampleRateMismatch(sv_samplerate_t, sv_samplerate_t, bool);
- virtual void audioOverloadPluginDisabled();
- virtual void audioTimeStretchMultiChannelDisabled();
+ void sampleRateMismatch(sv_samplerate_t, sv_samplerate_t, bool) override;
+ void audioOverloadPluginDisabled() override;
+ void audioTimeStretchMultiChannelDisabled() override;
virtual void toolNavigateSelected();
virtual void toolSelectSelected();
@@ -83,12 +81,12 @@
virtual void toolEraseSelected();
virtual void toolMeasureSelected();
- virtual void documentModified();
- virtual void documentRestored();
+ void documentModified() override;
+ void documentRestored() override;
virtual void documentReplaced();
- virtual void updateMenuStates();
- virtual void updateDescriptionLabel();
+ void updateMenuStates() override;
+ void updateDescriptionLabel() override;
virtual void setInstantsNumbering();
virtual void setInstantsCounterCycle();
@@ -97,13 +95,13 @@
virtual void subdivideInstants();
virtual void winnowInstants();
- virtual void modelGenerationFailed(QString, QString);
- virtual void modelGenerationWarning(QString, QString);
- virtual void modelRegenerationFailed(QString, QString, QString);
- virtual void modelRegenerationWarning(QString, QString, QString);
- virtual void alignmentFailed(QString);
+ void modelGenerationFailed(QString, QString) override;
+ void modelGenerationWarning(QString, QString) override;
+ void modelRegenerationFailed(QString, QString, QString) override;
+ void modelRegenerationWarning(QString, QString, QString) override;
+ void alignmentFailed(QString) override;
- virtual void rightButtonMenuRequested(Pane *, QPoint point);
+ void rightButtonMenuRequested(Pane *, QPoint point) override;
virtual void propertyStacksResized(int);
@@ -114,36 +112,36 @@
virtual void findTransform();
- virtual void paneAdded(Pane *);
- virtual void paneHidden(Pane *);
- virtual void paneAboutToBeDeleted(Pane *);
- virtual void paneDropAccepted(Pane *, QStringList);
- virtual void paneDropAccepted(Pane *, QString);
+ void paneAdded(Pane *) override;
+ void paneHidden(Pane *) override;
+ void paneAboutToBeDeleted(Pane *) override;
+ void paneDropAccepted(Pane *, QStringList) override;
+ void paneDropAccepted(Pane *, QString) override;
virtual void setupRecentFilesMenu();
virtual void setupRecentTransformsMenu();
virtual void setupTemplatesMenu();
virtual void playSpeedChanged(int);
- virtual void playSoloToggled();
+ void playSoloToggled() override;
virtual void alignToggled();
- virtual void currentPaneChanged(Pane *);
+ void currentPaneChanged(Pane *) override;
virtual void speedUpPlayback();
virtual void slowDownPlayback();
virtual void restoreNormalPlayback();
- virtual void monitoringLevelsChanged(float, float);
+ void monitoringLevelsChanged(float, float) override;
- virtual void layerRemoved(Layer *);
- virtual void layerInAView(Layer *, bool);
+ void layerRemoved(Layer *) override;
+ void layerInAView(Layer *, bool) override;
- virtual void mainModelChanged(WaveFileModel *);
+ void mainModelChanged(WaveFileModel *) override;
virtual void mainModelGainChanged(float);
virtual void mainModelPanChanged(float);
- virtual void modelAdded(Model *);
- virtual void modelAboutToBeDeleted(Model *);
+ void modelAdded(Model *) override;
+ void modelAboutToBeDeleted(Model *) override;
virtual void showLayerTree();
virtual void showActivityLog();
@@ -152,7 +150,7 @@
virtual void mouseEnteredWidget();
virtual void mouseLeftWidget();
- virtual void handleOSCMessage(const OSCMessage &);
+ void handleOSCMessage(const OSCMessage &) override;
virtual void midiEventsAvailable();
virtual void playStatusChanged(bool);
@@ -169,7 +167,7 @@
virtual void about();
virtual void whatsNew();
virtual void keyReference();
- virtual void newerVersionAvailable(QString);
+ void newerVersionAvailable(QString) override;
protected:
Overview *m_overview;
@@ -284,7 +282,7 @@
QString getReleaseText() const;
- virtual void setupMenus();
+ void setupMenus() override;
virtual void setupFileMenu();
virtual void setupEditMenu();
virtual void setupViewMenu();
@@ -296,17 +294,17 @@
virtual void addPane(const LayerConfiguration &configuration, QString text);
- virtual void closeEvent(QCloseEvent *e);
- virtual bool checkSaveModified();
+ void closeEvent(QCloseEvent *e) override;
+ bool checkSaveModified() override;
virtual void exportAudio(bool asData);
- virtual void updateVisibleRangeDisplay(Pane *p) const;
- virtual void updatePositionStatusDisplays() const;
+ void updateVisibleRangeDisplay(Pane *p) const override;
+ void updatePositionStatusDisplays() const override;
- virtual bool shouldCreateNewSessionForRDFAudio(bool *cancel);
+ bool shouldCreateNewSessionForRDFAudio(bool *cancel) override;
- virtual void connectLayerEditDialog(ModelDataTableDialog *);
+ void connectLayerEditDialog(ModelDataTableDialog *) override;
};
diff -r 02f15fb8ec68 -r 252c7c8a1a37 main/OSCHandler.cpp
--- a/main/OSCHandler.cpp Wed Nov 28 12:55:33 2018 +0000
+++ b/main/OSCHandler.cpp Thu Jan 31 10:32:45 2019 +0000
@@ -271,7 +271,7 @@
f1 = lrint(t1 * getMainModel()->getSampleRate());
Pane *pane = m_paneStack->getCurrentPane();
- Layer *layer = 0;
+ Layer *layer = nullptr;
if (pane) layer = pane->getSelectedLayer();
if (layer) {
int resolution;
@@ -408,7 +408,7 @@
}
} else {
- PropertyContainer *container = 0;
+ PropertyContainer *container = nullptr;
Pane *pane = m_paneStack->getCurrentPane();
if (pane &&
message.getArgCount() == 3 &&
@@ -454,7 +454,7 @@
Layer *layer = pane->getLayer(layerIndex);
m_paneStack->setCurrentLayer(pane, layer);
} else if (wantLayer && layerIndex == -1) {
- m_paneStack->setCurrentLayer(pane, 0);
+ m_paneStack->setCurrentLayer(pane, nullptr);
}
}
@@ -514,7 +514,7 @@
} else if (message.getMethod() == "zoomvertical") {
Pane *pane = m_paneStack->getCurrentPane();
- Layer *layer = 0;
+ Layer *layer = nullptr;
if (pane && pane->getLayerCount() > 0) {
layer = pane->getLayer(pane->getLayerCount() - 1);
}
diff -r 02f15fb8ec68 -r 252c7c8a1a37 main/PreferencesDialog.cpp
--- a/main/PreferencesDialog.cpp Wed Nov 28 12:55:33 2018 +0000
+++ b/main/PreferencesDialog.cpp Thu Jan 31 10:32:45 2019 +0000
@@ -386,8 +386,8 @@
connect(hms, SIGNAL(stateChanged(int)),
this, SLOT(showHMSChanged(int)));
- QFrame *frame = 0;
- QGridLayout *subgrid = 0;
+ QFrame *frame = nullptr;
+ QGridLayout *subgrid = nullptr;
int row = 0;
// Appearance tab
diff -r 02f15fb8ec68 -r 252c7c8a1a37 main/SVSplash.h
--- a/main/SVSplash.h Wed Nov 28 12:55:33 2018 +0000
+++ b/main/SVSplash.h Thu Jan 31 10:32:45 2019 +0000
@@ -31,7 +31,7 @@
void finishSplash(QWidget *);
protected:
- void drawContents(QPainter *);
+ void drawContents(QPainter *) override;
QPixmap *m_pixmap;
};
diff -r 02f15fb8ec68 -r 252c7c8a1a37 main/Surveyer.cpp
--- a/main/Surveyer.cpp Wed Nov 28 12:55:33 2018 +0000
+++ b/main/Surveyer.cpp Thu Jan 31 10:32:45 2019 +0000
@@ -34,7 +34,7 @@
m_hostname(hostname),
m_testPath(testPath),
m_surveyPath(surveyPath),
- m_reply(0),
+ m_reply(nullptr),
m_nm(new QNetworkAccessManager)
{
QSettings settings;
diff -r 02f15fb8ec68 -r 252c7c8a1a37 main/main.cpp
--- a/main/main.cpp Wed Nov 28 12:55:33 2018 +0000
+++ b/main/main.cpp Thu Jan 31 10:32:45 2019 +0000
@@ -201,13 +201,13 @@
QApplication(argc, argv),
m_readyForFiles(false),
m_filepathQueue(QStringList()),
- m_mainWindow(0)
+ m_mainWindow(nullptr)
{
}
- virtual ~SVApplication() { }
+ ~SVApplication() override { }
void setMainWindow(MainWindow *mw) { m_mainWindow = mw; }
- void releaseMainWindow() { m_mainWindow = 0; }
+ void releaseMainWindow() { m_mainWindow = nullptr; }
virtual void commitData(QSessionManager &manager) {
if (!m_mainWindow) return;
@@ -224,7 +224,7 @@
protected:
MainWindow *m_mainWindow;
- bool event(QEvent *);
+ bool event(QEvent *) override;
};
int
@@ -281,7 +281,7 @@
QApplication::setAttribute(Qt::AA_UseHighDpiPixmaps);
- SVSplash *splash = 0;
+ SVSplash *splash = nullptr;
QSettings settings;
@@ -492,7 +492,7 @@
case QEvent::FileOpen:
thePath = static_cast(event)->file();
if(m_readyForFiles)
- handleFilepathArgument(thePath, NULL);
+ handleFilepathArgument(thePath, nullptr);
else
m_filepathQueue.append(thePath);
return true;
diff -r 02f15fb8ec68 -r 252c7c8a1a37 misc/run-clang-tidy.sh
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/misc/run-clang-tidy.sh Thu Jan 31 10:32:45 2019 +0000
@@ -0,0 +1,61 @@
+#!/bin/bash
+
+usage() {
+ echo
+ echo " $0: run clang-tidy on a build with supplied arguments" 1>&2
+ echo
+ echo " Run this from the root of the source tree, on a Linux system." 1>&2
+ echo " Assumes that \"./configure && make clean && make\" will produce a successful" 1>&2
+ echo " build using g++." 1>&2
+ echo " All arguments are passed to clang-tidy." 1>&2
+ echo
+ exit 2
+}
+
+if [ t"$1" = "t" ]; then
+ usage
+fi
+
+ctargs="$@"
+
+echo "clang-tidy args: $ctargs"
+
+set -eu
+
+tmpdir=$(mktemp -d)
+trap "rm -rf \$tmpdir\$" 0
+
+#log="build.log"
+
+log="$tmpdir/make.log"
+./configure
+make clean
+make -j3 2>&1 | tee "$log"
+
+list="$tmpdir/tidy.list"
+
+grep '^g[+][+] ' "$log" | grep ' [-]c ' > "$list"
+
+cat "$list" | while read line ; do
+
+ filename=${line##* }
+ remainder=${line% *}
+ cc=${remainder%% *}
+ ccargs=${remainder#* }
+
+ ccargs=$(echo "$ccargs" | sed 's/-flto //')
+
+ echo
+
+ case "$filename" in
+ bq*) echo "ignoring $filename" ;;
+ o/*) echo "ignoring $filename" ;;
+ vamp-*) echo "ignoring $filename" ;;
+ dataquay/*) echo "ignoring $filename" ;;
+ src/*) echo "ignoring $filename" ;;
+ *) echo "not ignoring $filename"
+ echo clang-tidy $ctargs "$filename" -- $ccargs ;
+ clang-tidy $ctargs "$filename" -- $ccargs ;;
+ esac
+done
+
diff -r 02f15fb8ec68 -r 252c7c8a1a37 noconfig.pri
--- a/noconfig.pri Wed Nov 28 12:55:33 2018 +0000
+++ b/noconfig.pri Thu Jan 31 10:32:45 2019 +0000
@@ -24,6 +24,7 @@
HAVE_LIBLO \
HAVE_MAD \
HAVE_ID3TAG \
+ HAVE_OPUS \
HAVE_PORTAUDIO
# Default set of libs for the above. Config sections below may update
@@ -40,6 +41,8 @@
-lvorbis \
-lvorbisenc \
-lvorbisfile \
+ -lopusfile \
+ -lopus \
-logg \
-lmad \
-lid3tag \
@@ -56,7 +59,7 @@
# This config is currently used for 32-bit Windows builds.
- INCLUDEPATH += $$PWD/sv-dependency-builds/win32-mingw/include
+ INCLUDEPATH += $$PWD/sv-dependency-builds/win32-mingw/include $$PWD/sv-dependency-builds/win32-mingw/include/opus
LIBS += -Lrelease -L$$PWD/sv-dependency-builds/win32-mingw/lib
@@ -67,8 +70,10 @@
# Don't have liblo
DEFINES -= HAVE_LIBLO
LIBS -= -llo
+
+ # (We don't have MediaFoundation support either, with this build sadly)
- LIBS += -lwinmm -lws2_32
+ LIBS += -lwinmm -lws2_32
}
win32-msvc* {
@@ -78,7 +83,7 @@
# we want to do 32-bit builds with MSVC as well, then we'll
# need to add a way to distinguish the two.
- INCLUDEPATH += $$PWD/sv-dependency-builds/win64-msvc/include
+ INCLUDEPATH += $$PWD/sv-dependency-builds/win64-msvc/include $$PWD/sv-dependency-builds/win64-msvc/include/opus
# This seems to be intruding even when we're supposed to be release
# CONFIG(debug) {
@@ -87,17 +92,16 @@
# -L$$PWD/sv-dependency-builds/win64-msvc/lib
# }
CONFIG(release) {
- LIBS += -Lrelease \
+ LIBS += -NODEFAULTLIB:LIBCMT -Lrelease \
-L$$PWD/sv-dependency-builds/win64-msvc/lib
}
- DEFINES += NOMINMAX _USE_MATH_DEFINES CAPNP_LITE
+ DEFINES += NOMINMAX _USE_MATH_DEFINES CAPNP_LITE HAVE_MEDIAFOUNDATION
QMAKE_CXXFLAGS_RELEASE += -fp:fast -gl
QMAKE_LFLAGS_RELEASE += -ltcg
- # No Ogg/FLAC support in the sndfile build on this platform yet
- LIBS -= -lFLAC -logg -lvorbis -lvorbisenc -lvorbisfile
+ LIBS -= -lFLAC -lvorbis -lvorbisenc -lvorbisfile
# These have different names
LIBS -= -lsord-0 -lserd-0
@@ -107,14 +111,14 @@
DEFINES -= HAVE_LIBLO
LIBS -= -llo
- LIBS += -ladvapi32 -lwinmm -lws2_32
+ LIBS += -lmfplat -lmfreadwrite -lmfuuid -lpropsys -ladvapi32 -lwinmm -lws2_32
}
macx* {
# All Mac builds are 64-bit these days.
- INCLUDEPATH += $$PWD/sv-dependency-builds/osx/include
+ INCLUDEPATH += $$PWD/sv-dependency-builds/osx/include $$PWD/sv-dependency-builds/osx/include/opus
LIBS += -L$$PWD/sv-dependency-builds/osx/lib -L$$PWD
QMAKE_CXXFLAGS_RELEASE += -O3 -ffast-math -flto
diff -r 02f15fb8ec68 -r 252c7c8a1a37 repoint-lock.json
--- a/repoint-lock.json Wed Nov 28 12:55:33 2018 +0000
+++ b/repoint-lock.json Thu Jan 31 10:32:45 2019 +0000
@@ -4,28 +4,28 @@
"pin": "da86fb0bccb3"
},
"svcore": {
- "pin": "07f23b90701a"
+ "pin": "d83ab62cdc28"
},
"svgui": {
- "pin": "a33d38247631"
+ "pin": "2487521e857b"
},
"svapp": {
- "pin": "29bef008588e"
+ "pin": "6fd0ebfd2bbe"
},
"checker": {
- "pin": "0d2d3c89fdf6"
+ "pin": "5c60e26e16ca"
},
"piper": {
"pin": "f5a04ffe4d5a0ae01e77018a86a59b48a425e674"
},
"piper-vamp-cpp": {
- "pin": "1034a6c73c106d72fa7e85ae6cc00576515c6155"
+ "pin": "0e3328c6091f59c912e25bc392a7dc75182be1c7"
},
"dataquay": {
"pin": "807b55408d9e"
},
"bqvec": {
- "pin": "47a6794091d8"
+ "pin": "be1ce11183f4"
},
"bqfft": {
"pin": "a766fe47501b"
@@ -36,11 +36,17 @@
"bqaudioio": {
"pin": "8c4162878ae6"
},
+ "bqaudiostream": {
+ "pin": "65e940fb6436"
+ },
+ "bqthingfactory": {
+ "pin": "7686116dcdd5"
+ },
"rubberband": {
- "pin": "2c525b771328"
+ "pin": "6990f06c9f49"
},
"sv-dependency-builds": {
- "pin": "f1a9b270e043"
+ "pin": "2f2b27544483"
},
"icons/scalable": {
"pin": "1c8844bfa946"
diff -r 02f15fb8ec68 -r 252c7c8a1a37 repoint-project.json
--- a/repoint-project.json Wed Nov 28 12:55:33 2018 +0000
+++ b/repoint-project.json Thu Jan 31 10:32:45 2019 +0000
@@ -66,6 +66,16 @@
"service": "bitbucket",
"owner": "breakfastquay"
},
+ "bqaudiostream": {
+ "vcs": "hg",
+ "service": "bitbucket",
+ "owner": "breakfastquay"
+ },
+ "bqthingfactory": {
+ "vcs": "hg",
+ "service": "bitbucket",
+ "owner": "breakfastquay"
+ },
"rubberband": {
"vcs": "hg",
"service": "bitbucket",
diff -r 02f15fb8ec68 -r 252c7c8a1a37 rubberband-all.cpp
--- a/rubberband-all.cpp Wed Nov 28 12:55:33 2018 +0000
+++ b/rubberband-all.cpp Thu Jan 31 10:32:45 2019 +0000
@@ -2,7 +2,20 @@
#pragma GCC diagnostic ignored "-Wconversion"
#pragma GCC diagnostic ignored "-Wfloat-conversion"
#pragma GCC diagnostic ignored "-Wunused-parameter"
+#pragma GCC diagnostic ignored "-Wunused-variable"
+#pragma GCC diagnostic ignored "-Wunused-value"
+#pragma GCC diagnostic ignored "-Wsign-compare"
+#define USE_KISSFFT 1
+#define USE_SPEEX 1
+
+#define SV_PROFILER_H 1 // Include guard - avoid reading two Profiler.h files.
+ // Yes, it's gross
+
+#ifdef _MSC_VER
+#define __MSVC__
+#endif
+
#include "rubberband/src/rubberband-c.cpp"
#include "rubberband/src/RubberBandStretcher.cpp"
#include "rubberband/src/StretcherProcess.cpp"
@@ -22,5 +35,8 @@
#include "rubberband/src/system/Thread.cpp"
#include "rubberband/src/StretcherChannelData.cpp"
#include "rubberband/src/StretcherImpl.cpp"
+#include "rubberband/src/kissfft/kiss_fft.c"
+#include "rubberband/src/kissfft/kiss_fftr.c"
+#include "rubberband/src/speex/resample.c"
diff -r 02f15fb8ec68 -r 252c7c8a1a37 server.pro
--- a/server.pro Wed Nov 28 12:55:33 2018 +0000
+++ b/server.pro Thu Jan 31 10:32:45 2019 +0000
@@ -1,47 +1,47 @@
-
-TEMPLATE = app
-
-CONFIG += stl exceptions console warn_on
-CONFIG -= qt
-
-exists(config.pri) {
- include(config.pri)
-}
-
-!exists(config.pri) {
- include(noconfig.pri)
-
- macx*: LIBS -= -framework CoreAudio -framework CoreMidi -framework AudioUnit -framework AudioToolbox -framework CoreFoundation -framework CoreServices -framework Accelerate -lbz2 -lz
-}
-
-# Can't support this flag with the JSON11 and basen modules as they stand
-QMAKE_CXXFLAGS -= -Werror
-
-# Using the "console" CONFIG flag above should ensure this happens for
-# normal Windows builds, but this may be necessary when cross-compiling
-win32-x-g++: QMAKE_LFLAGS += -Wl,-subsystem,console
-
-macx*: CONFIG -= app_bundle
-
-linux*: LIBS += -ldl
-
-TARGET = piper-vamp-simple-server
-
-OBJECTS_DIR = o
-MOC_DIR = o
-
-INCLUDEPATH += piper-vamp-cpp piper-vamp-cpp/ext vamp-plugin-sdk
-
-include(vamp-plugin-sdk-files.pri)
-
-for (file, VAMP_SOURCES) { SOURCES += $$file }
-for (file, VAMP_HEADERS) { HEADERS += $$file }
-
-HEADERS += \
- piper-vamp-cpp/vamp-capnp/piper.capnp.h \
- piper-vamp-cpp/vamp-capnp/VampnProto.h
-
-SOURCES += \
- piper-vamp-cpp/vamp-capnp/piper-capnp.cpp \
- piper-vamp-cpp/ext/json11/json11.cpp \
- piper-vamp-cpp/vamp-server/simple-server.cpp
+
+TEMPLATE = app
+
+CONFIG += stl exceptions console warn_on
+CONFIG -= qt
+
+exists(config.pri) {
+ include(config.pri)
+}
+
+!exists(config.pri) {
+ include(noconfig.pri)
+
+ macx*: LIBS -= -framework CoreAudio -framework CoreMidi -framework AudioUnit -framework AudioToolbox -framework CoreFoundation -framework CoreServices -framework Accelerate -lbz2 -lz
+}
+
+# Can't support this flag with the JSON11 and basen modules as they stand
+QMAKE_CXXFLAGS -= -Werror
+
+# Using the "console" CONFIG flag above should ensure this happens for
+# normal Windows builds, but this may be necessary when cross-compiling
+win32-x-g++: QMAKE_LFLAGS += -Wl,-subsystem,console
+
+macx*: CONFIG -= app_bundle
+
+linux*: LIBS += -ldl
+
+TARGET = piper-vamp-simple-server
+
+OBJECTS_DIR = o
+MOC_DIR = o
+
+INCLUDEPATH += piper-vamp-cpp piper-vamp-cpp/ext vamp-plugin-sdk
+
+include(vamp-plugin-sdk-files.pri)
+
+for (file, VAMP_SOURCES) { SOURCES += $$file }
+for (file, VAMP_HEADERS) { HEADERS += $$file }
+
+HEADERS += \
+ piper-vamp-cpp/vamp-capnp/piper.capnp.h \
+ piper-vamp-cpp/vamp-capnp/VampnProto.h
+
+SOURCES += \
+ piper-vamp-cpp/vamp-capnp/piper-capnp.cpp \
+ piper-vamp-cpp/ext/json11/json11.cpp \
+ piper-vamp-cpp/vamp-server/simple-server.cpp
diff -r 02f15fb8ec68 -r 252c7c8a1a37 version.h
--- a/version.h Wed Nov 28 12:55:33 2018 +0000
+++ b/version.h Thu Jan 31 10:32:45 2019 +0000
@@ -1,1 +1,1 @@
-#define SV_VERSION "3.2-pre1"
+#define SV_VERSION "3.3"