# 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) - (auto) + (automaticky) Default Soundcard Device @@ -210,51 +210,51 @@ CSVAudioFormatDialog Select Audio Data Format - + Vybrat formát zvukových dat Please select the correct data format for this file. - Vyberte, prosím, správný datový formát pro tento soubor. + Vyberte, prosím, správný datový formát pro tento soubor. <ignore> - <nevšímat si> + <nevšímat si> Audio channels - + Zvukové kanály (%1 more) - %1 (více) + %1 (více) Audio channel - + Zvukový kanál Audio sample rate (Hz): - Vzorkovací kmitočet zvuku (Hz): + Vzorkovací kmitočet zvuku (Hz): Sample values are: - + Vzorkovací kmitočty jsou: Floating-point in range -1 to 1 - + Plovoucí bod v rozsahu -1 to 1 8-bit in range 0 to 255 - + 8-bit v rozsahu 0 až 255 16-bit in range -32768 to 32767 - + 16-bit v rozsahu -32768 až 32767 Unknown range: normalise on load - + Neznámý rozsah: normalizovat při nahrání @@ -604,7 +604,7 @@ (bin %1) - + (koš %1) @@ -1615,7 +1615,7 @@ Waveform - Časový průběh vlny + Časový průběh signálu Make Measurement @@ -2079,7 +2079,7 @@ Add a new layer showing a waveform view - 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 White @@ -2231,7 +2231,7 @@ Standard Waveform - Obvyklý tvar vlny + Obvyklý tvar křivky Switch to Previous Pane @@ -3123,7 +3123,7 @@ Reset Counters - Nastavit znovu počítadla + Vrátit počítadla na výchozí Select &All @@ -3155,7 +3155,7 @@ Add a new pane showing a waveform view - 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 Hide centre indicator, frame times, layer names and scale @@ -3599,7 +3599,7 @@ Add &Waveform - Přidat &časový průběh vlny + Přidat &časový průběh signálu Open Lo&cation... @@ -3611,7 +3611,7 @@ <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>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? Scroll the current pane a big step to the right @@ -3667,7 +3667,7 @@ Reset Numbering Counters - Nastavit číslovací počítadla znovu + Vrátit číslovací počítadla na výchozí Reset to 1 all the counters used for counter-based labelling @@ -3703,7 +3703,7 @@ Go Full-Screen - Jít na celou obrazovku + Na celou obrazovku F11 @@ -4131,67 +4131,67 @@ Russian UI translation contributed by Alexandre Prokoudine. - + Překlad rozhraní do ruštiny poskytnut Alexandrem Prokoudinem. Czech UI translation contributed by Pavel Fric. - + Překlad rozhraní do češtiny poskytnut Pavlem Fricem. Shift+; - + Shift+; Ctrl+Shift+; - + Ctrl+Shift+; Convert Audio from Data File... - + Převést zvuk z datového souboru... Convert and import audio sample values from a CSV data file - + Převést a zavést hodnoty zvukových vzorků z datového souboru CSV Export Audio to Data File... - + Vyvést zvuk do datového souboru... Export audio from selection into a CSV data file - + Vyvést zvuk z výběru do datového souboru CSV Browse Recorded and Converted Audio - + Procházet nahraný a převedený zvuk What's &New In This Release? - + Co &nového v tomto vydání? List the changes in this release (and every previous release) of %1 - + Uvést změny v tomto vydání (a v každém z předchozích vydání) %1 Converting audio data... - + Převádí se zvuková data... <b>File open failed</b><p>Audio data file %1 could not be opened. - + <b>Soubor se nepodařilo otevřít</b><p>Ssoubor se zvukovými daty "%1" se nepodařilo otevřít. <b>Failed to load plugins</b> - + <b>Nepodařilo se nahrát přídavné moduly</b> click then drag to adjust, ctrl+click to reset - + Klepněte a táhněte pro přizpůsobení, Ctrl+klepnutí pro vrácení do výchozího stavu drag up/down to adjust, ctrl+click to reset - + Táhněte nahoru/dolů pro přizpůsobení, Ctrl+klepnutí pro vrácení do výchozího stavu @@ -4416,20 +4416,21 @@ Not enough memory - + Nedostatek paměti <b>Not enough memory</b><p>There doesn't appear to be enough memory to accommodate any necessary temporary data.</p> - + <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> Incomplete session loaded - + Nahráno neúplné sezení Some of the audio content referred to by the original session file could not be loaded. If you save this session, it will be saved without any reference to that audio, and information may be lost. - + 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 @@ Linear - Přímočaré + Lineární Change Point Value @@ -5096,7 +5097,7 @@ Click and drag to navigate; use mouse-wheel or trackpad-scroll to zoom; hold Shift and drag to zoom to an area - + 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 Move the selected location later in the list - + Posunout vybrané umístění v seznamu dolů Move the selected location earlier in the list - + Posunout vybrané umístění v seznamu nahoru Add a new location to the list - + Přidat do seznamu nové umístění Remove the selected location from the list - + Odstranit vybrané umístění ze seznamu Reset to Default - + Nastavit znovu na výchozí Reset the list for this plugin type to its default - + Nastavit seznam pro tento typ přídavného modulu znovu na výchozí Review plugins... - + Přezkoumat přídavné moduly... Plugin locations for plugin type: - + Umístění přídavných modulů pro typ přídavného modulu: Vamp - + Vamp LADSPA - + LADSPA DSSI - + DSSI Vamp (32-bit) - + Vamp (32-bitů) LADSPA (32-bit) - + LADSPA (32-bitů) DSSI (32-bit) - + DSSI (32-bitů) (Variable is currently unset) - + (Proměnná nyní není nastavena) (Current value begins: "%1 ...") - + (Nynější hodnota začíná: "%1 ...") (Currently set to: "%1") - + (Nyní nastaveno na: "%1") Allow the %1 environment variable to take priority over this %2 - + Povolit proměnnou prostředí %1, aby dostala přednost před +%2 Choose directory to add - + Vybrat adresář k přidání PluginReviewDialog Plugins Loaded - + Přídavné moduly nahrány Type - Typ + Typ Library - + Knihovna Identifier - + Identifikátor Found in - + Nalezeno v Name - Název + Název Vamp - + Vamp DSSI - + DSSI LADSPA - + LADSPA @@ -5434,7 +5436,7 @@ Linear interpolation - Přímočará interpolace + Lineární (přímočará) interpolace Blackman-Harris @@ -5574,7 +5576,7 @@ Load mp3 files in gapless mode - Nahrát soubory MP v bezmezerovém režimu + Nahrát soubory MP3 v bezmezerovém režimu @@ -5599,7 +5601,7 @@ Standard Waveform - Obvyklý tvar vlny + Obvyklý tvar křivky <b>Restart required</b><p>One or more of the application preferences you have changed may not take full effect until Sonic Visualiser is restarted.</p><p>Please exit and restart the application now if you want these changes to take effect immediately.</p> @@ -5703,11 +5705,11 @@ (auto) - (auto) + (automaticky) Overview waveform colour: - Barva tvaru vlny přehledu: + Barva tvaru křivky přehledu: Run Vamp plugins in separate process: @@ -5719,7 +5721,7 @@ (Use "%1" in the File menu to add to these.) - 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. Export Session as Template... @@ -5747,7 +5749,7 @@ &Plugins - + &Přídavné moduly @@ -5837,19 +5839,19 @@ click then drag to adjust, ctrl+click to reset - + Klepněte a táhněte pro přizpůsobení, Ctrl+klepnutí pro vrácení do výchozího stavu drag up/down to adjust, ctrl+click to reset - + Táhněte nahoru/dolů pro přizpůsobení, Ctrl+klepnutí pro vrácení do výchozího stavu %1%2: %3 - %1: %3 {1%2:?} + %1%2: %3 %1%2 - %1%2 + %1%2 @@ -5981,7 +5983,7 @@ <b>Failed to load plugins</b><p>Failed to load one or more plugin libraries:</p> - <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> <p>These plugins may be incompatible with the system, and will be ignored during this run of %1.</p> @@ -6045,67 +6047,67 @@ Exporting audio data... - + Vyvádí se zvuková data... Library file could not be opened - + Soubor s knihovnou se nepodařilo otevřít Library has wrong architecture - possibly a 32-bit plugin installed in a 64-bit plugin folder - + Knihovna má špatnou architekturu - možná 32-bitový přídavný modul nainstalovaný ve složce pro 64-bitové přídavné moduly Library has wrong architecture - possibly a 64-bit plugin installed in a 32-bit plugin folder - + Knihovna má špatnou architekturu - možná 64-bitový přídavný modul nainstalovaný ve složce pro 32-bitové přídavné moduly Library depends on another library that cannot be found: %1 - + Knihovna závisí na jiné knihovně, kterou nelze najít: %1 Library cannot be loaded: %1 - + Knihovnu nelze nahrát: %1 Not a valid plugin library (no descriptor found) - + Není platnou knihovnou přídavného modulu (nenalezen popisovač) Library contains no plugins - + Knihovna neobsahuje žádné přídavné moduly Unknown error - + Neznámá chyba ... and %n further failure(s) - - - - + + ... a %n další selhání + ... a %n další selhání + ... a %n další(ch) selhání Blue on Black - Modrá na černé + Modrá na černé Cividis - + Cividis Magma - + Láva Permission to load library was refused - + Oprávnění k nahrání knihovny bylo odmítnuto <p>Failed to load one or more plugin libraries:</p> - + <b>Nepodařilo se nahrát jednu nebo více knihoven přídavných modulů:</b> @@ -6207,7 +6209,7 @@ Linear - Přímočarý + Lineární New Region @@ -6427,7 +6429,7 @@ Linear - Přímočarý + Lineární Plot Type @@ -6771,7 +6773,7 @@ Linear - Přímočarý + Lineární No max @@ -6895,23 +6897,23 @@ Oversampling - + Převzorkování 1x - 1x + 1x 2x - 2x + 2x 4x - 4x + 4x 8x - 8x + 8x @@ -7014,27 +7016,27 @@ Hz - + Hz Oversampling - + Převzorkování 1x - 1x + 1x 2x - 2x + 2x 4x - 4x + 4x 8x - 8x + 8x @@ -7365,7 +7367,7 @@ Linear - Přímočaré + Lineární Points @@ -7908,9 +7910,9 @@ Zoom to %n sample(s) per pixel - 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 @@ Zoom to %n pixels per sample - - - - + + 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 @@ Linear - Přímočarý + Lineární Channel %1 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 @@ - + Green @@ -2006,7 +2006,7 @@ - + Bright Green @@ -2250,7 +2250,7 @@ - + &Delete Selected Items @@ -2261,7 +2261,7 @@ - + Delete items in current selection from the current layer @@ -2307,9 +2307,9 @@ - - - + + + Shift+Left @@ -2455,12 +2455,12 @@ - - - - - - + + + + + + Left @@ -2491,8 +2491,8 @@ - - + + Ctrl+Left @@ -3023,8 +3023,8 @@ - - + + %1: %2 @@ -3258,511 +3258,511 @@ - + Ctrl+R - + Re-open - + Re-open the current or most recently opened file - + Standard Waveform - + Choose Default Template... - + Ctrl+T - + Repeat Transform - + Re-select the most recently run transform - + Playback and Transport Controls - + Play&back - + Playback - + Playback Toolbar + + Rewind to Start + + + - Rewind to Start + Home - Home - - - - Rewind to the start + + + + Rewind + + + - - - Rewind + PgUp - PgUp - - - - Rewind to the previous time instant or time ruler notch + + Rewind to Similar Point + + + - Rewind to Similar Point + Shift+PgUp - Shift+PgUp - - - - Rewind to the previous similarly valued time instant - + 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 + PgDown - PgDown - - - - Fast-forward to the next time instant or time ruler notch + + Fast Forward to Similar Point + + + - Fast Forward to Similar Point + Shift+PgDown - Shift+PgDown - - - - Fast-forward to the next similarly valued time instant + + Fast Forward to End + + + - Fast Forward to End + End - End - - - - Fast-forward to the end - + Record + + Ctrl+Space + + + - Ctrl+Space - - - - Record a new audio file - + Play Mode Toolbar - + Constrain Playback to Selection + + s + + + - s - - - - Constrain playback to the selected regions - + Loop Playback + + l + + + - l - - - - Loop playback - + 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 + + + - Speed Up + Ctrl+PgUp - Ctrl+PgUp - - - - Time-stretch playback to speed it up without changing pitch + + Slow Down + + + - Slow Down + Ctrl+PgDown - Ctrl+PgDown - - - - Time-stretch playback to slow it down without changing pitch + + Restore Normal Speed + + + - Restore Normal Speed + Ctrl+Home - Ctrl+Home - - - - Restore non-time-stretched playback - + Edit Toolbar + + + + + + + Tool Selection + + + + + 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 %1 + + + + + Failed to query transform attributes + + + + + <b>Failed to query transform attributes</b><p>Plugin or server error: %1</p> + + + + + Multiplexed audio + + + + + Transform failed + + + + + <b>Failed to run transform</b><p>Plugin or server error: %1</p> + + + + + Playback speed: %1% (%2x slower) + + + + + Playback speed: %1% (%2x faster) + + + + + <b>Failed to load plugins</b> + + + + + Subdivide instants + + + + + Number of subdivisions: + + + + + Winnow instants + + + + + Remove all instants apart from multiples of: + + + + + <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. + + + + + <b>Alignment calculation failed</b><p>Failed to calculate an audio alignment:<p>%1 + + + + + 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 &copy; The Qt Company + + + + + <br>With Rubber Band Library v%1 &copy; Particular Programs Ltd + + + + + <br>With Rubber Band Library &copy; Particular Programs Ltd + + + + + <br>With Vamp plugin support (API v%1, host SDK v%2) &copy; Chris Cannam and QMUL + + + + + <br>With Piper Vamp protocol bridge &copy; QMUL + + + + + <br>With Dataquay Qt/RDF library &copy; Particular Programs Ltd + + + + + <br>With Cap'n Proto serialisation &copy; 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> + + + + + Tools Toolbar + + + + + + Navigate + + + + + 1 + + + + + Select + + + + + 2 + + + + + Select ranges + + + + - - - - Tool Selection - - - - - 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 %1 - - - - - Failed to query transform attributes - - - - - <b>Failed to query transform attributes</b><p>Plugin or server error: %1</p> - - - - - Multiplexed audio - - - - - Transform failed - - - - - <b>Failed to run transform</b><p>Plugin or server error: %1</p> - - - - - Playback speed: %1% (%2x slower) - - - - - Playback speed: %1% (%2x faster) - - - - - <b>Failed to load plugins</b> - - - - - Subdivide instants - - - - - Number of subdivisions: - - - - - Winnow instants - - - - - Remove all instants apart from multiples of: - - - - - <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. - - - - - <b>Alignment calculation failed</b><p>Failed to calculate an audio alignment:<p>%1 - - - - - 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 &copy; The Qt Company - - - - - <br>With Rubber Band Library v%1 &copy; Particular Programs Ltd - - - - - <br>With Rubber Band Library &copy; Particular Programs Ltd - - - - - <br>With Vamp plugin support (API v%1, host SDK v%2) &copy; Chris Cannam and QMUL - - - - - <br>With Piper Vamp protocol bridge &copy; QMUL - - - - - <br>With Dataquay Qt/RDF library &copy; Particular Programs Ltd - - - - - <br>With Cap'n Proto serialisation &copy; 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> - - - - - Tools Toolbar - - - - - - - Navigate - - - - - 1 - - - - - - Select - - - - - 2 - - - - - Select ranges - - - - - - + Edit @@ -3802,459 +3802,459 @@ - + 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 + + + - Relocate - - - - + 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 + + + + + 3 + + + + + Edit items in layer + + + + + Edit Tool Mouse Actions + + + + + Move + + + + + Click left button on an item or selected region and drag to move + + + + + + Draw + + + + + 4 + + + + + Draw new items in layer + + + + + Draw Tool Mouse Actions + + + + + Click left button and drag to create new item + + + + + + Erase + + + + + 5 + + + + + Erase items from layer + + + + + Erase Tool Mouse Actions + + + + + Click left button on an item to remove it from the layer + + + + + Measure + + + + + 6 + + + + + Make measurements in layer + + + + + Measure Tool Mouse Actions + + + + + Measure Area + + + + + Click left button and drag to measure a rectangular area + + + + + Measure Item + + + - 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 - - - - - 3 - - - - - Edit items in layer - - - - - Edit Tool Mouse Actions - - - - - Move - - - - - Click left button on an item or selected region and drag to move - - - - - - Draw - - - - - 4 - - - - - Draw new items in layer - - - - - Draw Tool Mouse Actions - - - - - Click left button and drag to create new item - - - - - - Erase - - - - - 5 - - - - - Erase items from layer - - - - - Erase Tool Mouse Actions - - - - - Click left button on an item to remove it from the layer - - - - - Measure - - - - - 6 - - - - - Make measurements in layer - - - - - Measure Tool Mouse Actions - - - - - Measure Area - - - - - Click left button and drag to measure a rectangular area - - - - - Measure Item - - - - Click left button and drag to measure extents of an item or shape + + &Delete Current Measurement + + + - &Delete Current Measurement - - - - Delete the measurement currently under the mouse pointer + + Fast Forward to Next Instant + + + - Fast Forward to Next Instant + Fast forward to the next time instant in the current layer - Fast forward to the next time instant in the current layer + Rewind to Previous Instant - Rewind to Previous Instant - - - - Rewind to the previous time instant in the current layer + + 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 - + No audio file loaded. - + %1Hz (resampling to %2Hz) + + + + + + + + + Failed to open file + + + - - - - - - Failed to open file - - - - - - <b>File open failed</b><p>Audio file "%1" could not be opened - + 1. %2 - + %1. %2 + + Select audio file to export + + + - Select audio file to export - - - - Which audio file do you want to export from? + + Export the selected region only + + + - 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? + + + + + Export the selected regions into separate files + + + - - - Select region to export - - - - - Which region from the original audio file do you want to export? - - - - - 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 - + Export multiple audio files - + Export audio to "%1" - - + + Failed to write 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>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. - + Sorry, cannot export this layer type to RDF (supported types are: region, note, text, time instants, time values) - + 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? - + http://www.sonicvisualiser.org/doc/reference/%1/en/ - + What's New - + <h3>What's New in %1</h3> - + <b>Note:</b> A newer version of Sonic Visualiser is available.<br>(Version %1 is available; you are using version %2) - + %1 : %2 configuration, %3-bit build - + <br>With Serd and Sord RDF parser and store &copy; David Robillard - + About %1 - + Newer version available - + Failed to open file %1 for writing @@ -4339,429 +4339,429 @@ - + Export the selected regions into a single file - + Export the whole file - + Can't export non-note layers to MIDI - + Export layer to "%1" - + Export the whole pane (%1x%2 pixels) - + Export the visible area only (%1x%2 pixels) - + Export the selection extent (%1x%2 pixels) - - + + 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 - - - - Failed to save image file %1 - + <b>File open failed</b><p>File "%1" could not be opened + + Open Location + + + - Open Location - - - - Please enter the URL of the location to open: + + + + + Failed to open location + + + - + <b>Open failed</b><p>URL "%1" could not be opened + + + - - Failed to open location - - - - - <b>Open failed</b><p>URL "%1" could not be opened - - - - <b>Open failed</b><p>File or URL "%1" could not be opened + + + Failed to open dropped URL + + + - - Failed to open dropped URL - - - - <b>Open failed</b><p>Dropped URL "%1" could not be opened - + Export image to "%1" + + Session modified + + + - Session modified - - - - <b>Session modified</b><p>The current session has been modified.<br>Do you want to save it? + + 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 + + + - 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? + + + Failed to save file + + + - Failed to save file - - - - - <b>Save failed</b><p>Session file "%1" could not be saved. - + Save session as "%1" - + Multiplex all of the above + + Rename Layer + + + - Rename Layer - - - - New name for this layer: - + Playback speed: Normal - + Selection: %1 to %2 (duration %3) - + Visible: %1 to %2 (duration %3) + + Sample rate mismatch + + + - Sample rate mismatch - - - - <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. + + + Audio processing overload + + + + <b>Overloaded</b><p>Audio effects plugin auditioning has been disabled due to a processing overload. + + + - Audio processing overload - - - - - <b>Overloaded</b><p>Audio effects plugin auditioning has been disabled due to a processing overload. - - - - <b>Overloaded</b><p>Audio playback speed processing has been reduced to a single channel, due to a processing overload. - + Problems loading plugins - + Add Point - + Reset Counters - - + + Failed to generate layer - - + + Warning + + + Failed to regenerate layer + + + + <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 + + + - Failed to regenerate layer - - - - - <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 - + Adjust the master playback speed - + http://www.sonicvisualiser.org/ - + Release %1 : Revision %2 - + Release %1 - + Unreleased : Revision %1 + + <h3>About Sonic Visualiser</h3> + + + - <h3>About Sonic Visualiser</h3> - - - - <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> - + Debug - + Release - + <br>With JACK audio output library v%1 &copy; Paul Davis and Jack O'Quin - + <br>With JACK audio output library &copy; Paul Davis and Jack O'Quin - + <br>With PortAudio audio output library &copy; Ross Bencina and Phil Burk - + <br>With PulseAudio audio output library v%1 &copy; Lennart Poettering and Pierre Ossman - + <br>With PulseAudio audio output library &copy; Lennart Poettering and Pierre Ossman - + <br>With Ogg file decoder (oggz v%1, fishsound v%2) &copy; CSIRO Australia - + <br>With Ogg file decoder &copy; CSIRO Australia - + <br>With MAD mp3 decoder v%1 &copy; Underbit Technologies Inc - + <br>With MAD mp3 decoder &copy; Underbit Technologies Inc - + <br>With libsamplerate v%1 &copy; Erik de Castro Lopo - + <br>With libsamplerate &copy; Erik de Castro Lopo - + <br>With libsndfile v%1 &copy; Erik de Castro Lopo - + <br>With libsndfile &copy; Erik de Castro Lopo - + <br>With FFTW3 v%1 &copy; Matteo Frigo and MIT - + <br>With FFTW3 &copy; Matteo Frigo and MIT + + <br>With LADSPA plugin support (API v%1) &copy; Richard Furse, Paul Davis, Stefan Westerfeld + + + - <br>With LADSPA plugin support (API v%1) &copy; Richard Furse, Paul Davis, Stefan Westerfeld - - - - <br>With DSSI plugin support (API v%1) &copy; Chris Cannam, Steve Harris, Sean Bolton - + <br>With Redland RDF datastore v%1 &copy; Dave Beckett and the University of Bristol - + <br>With Redland RDF datastore &copy; Dave Beckett and the University of Bristol - + <br>With RtMidi &copy; Gary P. Scavone - + <br>With liblo Lite OSC library v%1 &copy; Steve Harris - + <br>With liblo Lite OSC library &copy; Steve Harris - + </small><p><small>The OSC URL for this instance is: "%1" @@ -6928,7 +6928,7 @@ - + Exporting audio data... @@ -7066,63 +7066,63 @@ - + Draw Region - + Erase Region - + Drag Region - - + + Edit Region - + Relocate Region - + 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 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 @@ - + Green @@ -1998,7 +1998,7 @@ - + Bright Green @@ -2242,7 +2242,7 @@ - + &Delete Selected Items @@ -2253,7 +2253,7 @@ - + Delete items in current selection from the current layer @@ -2299,9 +2299,9 @@ - - - + + + Shift+Left @@ -2447,12 +2447,12 @@ - - - - - - + + + + + + Left @@ -2483,8 +2483,8 @@ - - + + Ctrl+Left @@ -3027,8 +3027,8 @@ - - + + %1: %2 @@ -3262,511 +3262,511 @@ - + Ctrl+R - + Re-open - + Re-open the current or most recently opened file - + Standard Waveform - + Choose Default Template... - + Ctrl+T - + Repeat Transform - + Re-select the most recently run transform - + Playback and Transport Controls - + Play&back - + Playback - + Playback Toolbar + + Rewind to Start + + + - Rewind to Start + Home - Home - - - - Rewind to the start + + + + Rewind + + + - - - Rewind + PgUp - PgUp - - - - Rewind to the previous time instant or time ruler notch + + Rewind to Similar Point + + + - Rewind to Similar Point + Shift+PgUp - Shift+PgUp - - - - Rewind to the previous similarly valued time instant - + 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 + PgDown - PgDown - - - - Fast-forward to the next time instant or time ruler notch + + Fast Forward to Similar Point + + + - Fast Forward to Similar Point + Shift+PgDown - Shift+PgDown - - - - Fast-forward to the next similarly valued time instant + + Fast Forward to End + + + - Fast Forward to End + End - End - - - - Fast-forward to the end - + Record + + Ctrl+Space + + + - Ctrl+Space - - - - Record a new audio file - + Play Mode Toolbar - + Constrain Playback to Selection + + s + + + - s - - - - Constrain playback to the selected regions - + Loop Playback + + l + + + - l - - - - Loop playback - + 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 + + + - Speed Up + Ctrl+PgUp - Ctrl+PgUp - - - - Time-stretch playback to speed it up without changing pitch + + Slow Down + + + - Slow Down + Ctrl+PgDown - Ctrl+PgDown - - - - Time-stretch playback to slow it down without changing pitch + + Restore Normal Speed + + + - Restore Normal Speed + Ctrl+Home - Ctrl+Home - - - - Restore non-time-stretched playback - + Edit Toolbar + + + + + + + Tool Selection + + + + + 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 %1 + + + + + Failed to query transform attributes + + + + + <b>Failed to query transform attributes</b><p>Plugin or server error: %1</p> + + + + + Multiplexed audio + + + + + Transform failed + + + + + <b>Failed to run transform</b><p>Plugin or server error: %1</p> + + + + + Playback speed: %1% (%2x slower) + + + + + Playback speed: %1% (%2x faster) + + + + + <b>Failed to load plugins</b> + + + + + Subdivide instants + + + + + Number of subdivisions: + + + + + Winnow instants + + + + + Remove all instants apart from multiples of: + + + + + <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. + + + + + <b>Alignment calculation failed</b><p>Failed to calculate an audio alignment:<p>%1 + + + + + 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 &copy; The Qt Company + + + + + <br>With Rubber Band Library v%1 &copy; Particular Programs Ltd + + + + + <br>With Rubber Band Library &copy; Particular Programs Ltd + + + + + <br>With Vamp plugin support (API v%1, host SDK v%2) &copy; Chris Cannam and QMUL + + + + + <br>With Piper Vamp protocol bridge &copy; QMUL + + + + + <br>With Dataquay Qt/RDF library &copy; Particular Programs Ltd + + + + + <br>With Cap'n Proto serialisation &copy; 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> + + + + + Tools Toolbar + + + + + + Navigate + + + + + 1 + + + + + Select + + + + + 2 + + + + + Select ranges + + + + - - - - Tool Selection - - - - - 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 %1 - - - - - Failed to query transform attributes - - - - - <b>Failed to query transform attributes</b><p>Plugin or server error: %1</p> - - - - - Multiplexed audio - - - - - Transform failed - - - - - <b>Failed to run transform</b><p>Plugin or server error: %1</p> - - - - - Playback speed: %1% (%2x slower) - - - - - Playback speed: %1% (%2x faster) - - - - - <b>Failed to load plugins</b> - - - - - Subdivide instants - - - - - Number of subdivisions: - - - - - Winnow instants - - - - - Remove all instants apart from multiples of: - - - - - <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. - - - - - <b>Alignment calculation failed</b><p>Failed to calculate an audio alignment:<p>%1 - - - - - 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 &copy; The Qt Company - - - - - <br>With Rubber Band Library v%1 &copy; Particular Programs Ltd - - - - - <br>With Rubber Band Library &copy; Particular Programs Ltd - - - - - <br>With Vamp plugin support (API v%1, host SDK v%2) &copy; Chris Cannam and QMUL - - - - - <br>With Piper Vamp protocol bridge &copy; QMUL - - - - - <br>With Dataquay Qt/RDF library &copy; Particular Programs Ltd - - - - - <br>With Cap'n Proto serialisation &copy; 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> - - - - - Tools Toolbar - - - - - - - Navigate - - - - - 1 - - - - - - Select - - - - - 2 - - - - - Select ranges - - - - - - + Edit @@ -3806,459 +3806,459 @@ - + 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 + + + - Relocate - - - - + 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 + + + + + 3 + + + + + Edit items in layer + + + + + Edit Tool Mouse Actions + + + + + Move + + + + + Click left button on an item or selected region and drag to move + + + + + + Draw + + + + + 4 + + + + + Draw new items in layer + + + + + Draw Tool Mouse Actions + + + + + Click left button and drag to create new item + + + + + + Erase + + + + + 5 + + + + + Erase items from layer + + + + + Erase Tool Mouse Actions + + + + + Click left button on an item to remove it from the layer + + + + + Measure + + + + + 6 + + + + + Make measurements in layer + + + + + Measure Tool Mouse Actions + + + + + Measure Area + + + + + Click left button and drag to measure a rectangular area + + + + + Measure Item + + + - 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 - - - - - 3 - - - - - Edit items in layer - - - - - Edit Tool Mouse Actions - - - - - Move - - - - - Click left button on an item or selected region and drag to move - - - - - - Draw - - - - - 4 - - - - - Draw new items in layer - - - - - Draw Tool Mouse Actions - - - - - Click left button and drag to create new item - - - - - - Erase - - - - - 5 - - - - - Erase items from layer - - - - - Erase Tool Mouse Actions - - - - - Click left button on an item to remove it from the layer - - - - - Measure - - - - - 6 - - - - - Make measurements in layer - - - - - Measure Tool Mouse Actions - - - - - Measure Area - - - - - Click left button and drag to measure a rectangular area - - - - - Measure Item - - - - Click left button and drag to measure extents of an item or shape + + &Delete Current Measurement + + + - &Delete Current Measurement - - - - Delete the measurement currently under the mouse pointer + + Fast Forward to Next Instant + + + - Fast Forward to Next Instant + Fast forward to the next time instant in the current layer - Fast forward to the next time instant in the current layer + Rewind to Previous Instant - Rewind to Previous Instant - - - - Rewind to the previous time instant in the current layer + + 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 - + No audio file loaded. - + %1Hz (resampling to %2Hz) + + + + + + + + + Failed to open file + + + - - - - - - Failed to open file - - - - - - <b>File open failed</b><p>Audio file "%1" could not be opened - + 1. %2 - + %1. %2 + + Select audio file to export + + + - Select audio file to export - - - - Which audio file do you want to export from? + + Export the selected region only + + + - 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? + + + + + Export the selected regions into separate files + + + - - - Select region to export - - - - - Which region from the original audio file do you want to export? - - - - - 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 - + Export multiple audio files - + Export audio to "%1" - - + + Failed to write 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>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. - + Sorry, cannot export this layer type to RDF (supported types are: region, note, text, time instants, time values) - + 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? - + http://www.sonicvisualiser.org/doc/reference/%1/en/ - + What's New - + <h3>What's New in %1</h3> - + <b>Note:</b> A newer version of Sonic Visualiser is available.<br>(Version %1 is available; you are using version %2) - + %1 : %2 configuration, %3-bit build - + <br>With Serd and Sord RDF parser and store &copy; David Robillard - + About %1 - + Newer version available - + Failed to open file %1 for writing @@ -4343,429 +4343,429 @@ - + Export the selected regions into a single file - + Export the whole file - + Can't export non-note layers to MIDI - + Export layer to "%1" - + Export the whole pane (%1x%2 pixels) - + Export the visible area only (%1x%2 pixels) - + Export the selection extent (%1x%2 pixels) - - + + 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 - - - - Failed to save image file %1 - + <b>File open failed</b><p>File "%1" could not be opened + + Open Location + + + - Open Location - - - - Please enter the URL of the location to open: + + + + + Failed to open location + + + - + <b>Open failed</b><p>URL "%1" could not be opened + + + - - Failed to open location - - - - - <b>Open failed</b><p>URL "%1" could not be opened - - - - <b>Open failed</b><p>File or URL "%1" could not be opened + + + Failed to open dropped URL + + + - - Failed to open dropped URL - - - - <b>Open failed</b><p>Dropped URL "%1" could not be opened - + Export image to "%1" + + Session modified + + + - Session modified - - - - <b>Session modified</b><p>The current session has been modified.<br>Do you want to save it? + + 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 + + + - 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? + + + Failed to save file + + + - Failed to save file - - - - - <b>Save failed</b><p>Session file "%1" could not be saved. - + Save session as "%1" - + Multiplex all of the above + + Rename Layer + + + - Rename Layer - - - - New name for this layer: - + Playback speed: Normal - + Selection: %1 to %2 (duration %3) - + Visible: %1 to %2 (duration %3) + + Sample rate mismatch + + + - Sample rate mismatch - - - - <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. + + + Audio processing overload + + + + <b>Overloaded</b><p>Audio effects plugin auditioning has been disabled due to a processing overload. + + + - Audio processing overload - - - - - <b>Overloaded</b><p>Audio effects plugin auditioning has been disabled due to a processing overload. - - - - <b>Overloaded</b><p>Audio playback speed processing has been reduced to a single channel, due to a processing overload. - + Problems loading plugins - + Add Point - + Reset Counters - - + + Failed to generate layer - - + + Warning + + + Failed to regenerate layer + + + + <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 + + + - Failed to regenerate layer - - - - - <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 - + Adjust the master playback speed - + http://www.sonicvisualiser.org/ - + Release %1 : Revision %2 - + Release %1 - + Unreleased : Revision %1 + + <h3>About Sonic Visualiser</h3> + + + - <h3>About Sonic Visualiser</h3> - - - - <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> - + Debug - + Release - + <br>With JACK audio output library v%1 &copy; Paul Davis and Jack O'Quin - + <br>With JACK audio output library &copy; Paul Davis and Jack O'Quin - + <br>With PortAudio audio output library &copy; Ross Bencina and Phil Burk - + <br>With PulseAudio audio output library v%1 &copy; Lennart Poettering and Pierre Ossman - + <br>With PulseAudio audio output library &copy; Lennart Poettering and Pierre Ossman - + <br>With Ogg file decoder (oggz v%1, fishsound v%2) &copy; CSIRO Australia - + <br>With Ogg file decoder &copy; CSIRO Australia - + <br>With MAD mp3 decoder v%1 &copy; Underbit Technologies Inc - + <br>With MAD mp3 decoder &copy; Underbit Technologies Inc - + <br>With libsamplerate v%1 &copy; Erik de Castro Lopo - + <br>With libsamplerate &copy; Erik de Castro Lopo - + <br>With libsndfile v%1 &copy; Erik de Castro Lopo - + <br>With libsndfile &copy; Erik de Castro Lopo - + <br>With FFTW3 v%1 &copy; Matteo Frigo and MIT - + <br>With FFTW3 &copy; Matteo Frigo and MIT + + <br>With LADSPA plugin support (API v%1) &copy; Richard Furse, Paul Davis, Stefan Westerfeld + + + - <br>With LADSPA plugin support (API v%1) &copy; Richard Furse, Paul Davis, Stefan Westerfeld - - - - <br>With DSSI plugin support (API v%1) &copy; Chris Cannam, Steve Harris, Sean Bolton - + <br>With Redland RDF datastore v%1 &copy; Dave Beckett and the University of Bristol - + <br>With Redland RDF datastore &copy; Dave Beckett and the University of Bristol - + <br>With RtMidi &copy; Gary P. Scavone - + <br>With liblo Lite OSC library v%1 &copy; Steve Harris - + <br>With liblo Lite OSC library &copy; Steve Harris - + </small><p><small>The OSC URL for this instance is: "%1" @@ -6921,7 +6921,7 @@ - + Exporting audio data... @@ -7059,63 +7059,63 @@ - + Draw Region - + Erase Region - + Drag Region - - + + Edit Region - + Relocate Region - + 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 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 + %1: %2 @@ -250,12 +250,12 @@ Select Audio Data Format - + Выбрать формат звуковых данных Please select the correct data format for this file. - + Выберите корректный формат данных для этого файла. @@ -266,7 +266,7 @@ Audio channels - + Звуковые каналы @@ -276,37 +276,37 @@ Audio channel - + Звуковой канал Audio sample rate (Hz): - Частота сэмплирования звука (Гц): + Частота сэмплирования (Гц): Sample values are: - + Значения выборок: Floating-point in range -1 to 1 - + Плавающая точка в диапазоне от -1 до 1 8-bit in range 0 to 255 - + 8 бит в диапазоне от 0 до 255 16-bit in range -32768 to 32767 - + 16 бит в диапазоне от -32768 до 32767 Unknown range: normalise on load - + Неизвестный диапазон: нормировать при загрузке @@ -359,7 +359,7 @@ Please select the correct data format for this file. - + Выберите корректный формат данных для этого файла. @@ -370,7 +370,7 @@ Values - + Значения @@ -380,57 +380,57 @@ Time - Время + Время End time - + Время конца Duration - Длительность + Длительность Value - Значение + Значение Pitch - Высота тона + Высота тона Label - Метка + Метка Timing is specified: - + Как определено время: Explicitly, in seconds - + Явно, в секундах Explicitly, in milliseconds - + Явно, в миллисекундах Explicitly, in audio sample frames - + Явно, в аудиовыборках Implicitly: rows are equally spaced in time - + Неявно, строки равно расставлены во времени @@ -445,7 +445,7 @@ Data will be displayed in a %1 layer. - + Данные будут показаны в слое %1. @@ -534,7 +534,7 @@ Normalization - + Нормировка @@ -564,12 +564,12 @@ View - + Вид Hybrid - + Гибрид @@ -582,22 +582,22 @@ Name New Colour - Дайте цвету название + Дайте цвету название Enter a name for the new colour: - Введите название нового цвета: + Введите название нового цвета: Prefer black background for this colour - Предпочитать черный фон для этого цвета + Предпочитать черный фон для этого цвета Add New Colour... - Добавить новый цвет... + Добавить новый цвет... @@ -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) &copy; CSIRO Australia <br>С декодером Ogg (oggz v%1, fishsound v%2) &copy; CSIRO Australia - + <br>With LADSPA plugin support (API v%1) &copy; Richard Furse, Paul Davis, Stefan Westerfeld <br>С поддержкой плагинов LADSPA (API v%1) &copy; Richard Furse, Paul Davis, Stefan Westerfeld - + <br>With DSSI plugin support (API v%1) &copy; Chris Cannam, Steve Harris, Sean Bolton <br>С поддержкой плагинов DSSI (API v%1) &copy; 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 &copy; CSIRO Australia <br>С декодером Ogg &copy; CSIRO Australia - + <br>With MAD mp3 decoder &copy; Underbit Technologies Inc <br>С декодером MAD mp3 &copy; Underbit Technologies Inc - + <br>With libsamplerate &copy; Erik de Castro Lopo <br>С libsamplerate &copy; Erik de Castro Lopo - + <br>With libsndfile &copy; Erik de Castro Lopo <br>С libsndfile &copy; Erik de Castro Lopo - + <br>With FFTW3 &copy; Matteo Frigo and MIT <br>С FFTW3 &copy; Matteo Frigo и MIT @@ -3722,12 +3730,12 @@ <br>С поддержкой расширений Vamp (API v%1, host SDK v%2) &copy; Chris Cannam - + <br>With Serd and Sord RDF parser and store &copy; David Robillard - + <br>With liblo Lite OSC library &copy; Steve Harris <br>С liblo Lite OSC library &copy; 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 &copy; The Qt Company - + <br>With Rubber Band Library v%1 &copy; Particular Programs Ltd - + <br>With Rubber Band Library &copy; Particular Programs Ltd - + <br>With Vamp plugin support (API v%1, host SDK v%2) &copy; Chris Cannam and QMUL <br>С поддержкой плагинов Vamp (API v%1, host SDK v%2) &copy; Chris Cannam и QMUL - + <br>With Piper Vamp protocol bridge &copy; QMUL + + <br>With Dataquay Qt/RDF library &copy; Particular Programs Ltd + + + - <br>With Dataquay Qt/RDF library &copy; Particular Programs Ltd - - - - <br>With Cap'n Proto serialisation &copy; 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 &copy; Paul Davis and Jack O'Quin <br>С библиотекой JACK &copy; Paul Davis и Jack O'Quin - + <br>With PortAudio audio output library &copy; Ross Bencina and Phil Burk <br>С библиотекой PortAudio &copy; Ross Bencina и Phil Burk - + <br>With PulseAudio audio output library &copy; Lennart Poettering and Pierre Ossman <br>С библиотекой PulseAudio &copy; 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 &copy; Nokia Corporation - + <br>With JACK audio output library v%1 &copy; Paul Davis and Jack O'Quin <br>С библиотекой JACK v%1 &copy; Paul Davis и Jack O'Quin - + <br>With PulseAudio audio output library v%1 &copy; Lennart Poettering and Pierre Ossman <br>С библиотекой PulseAudio v%1 &copy; Lennart Poettering и Pierre Ossman - + <br>With MAD mp3 decoder v%1 &copy; Underbit Technologies Inc <br>С декодером mp3 MAD v%1 &copy; Underbit Technologies Inc - + <br>With libsamplerate v%1 &copy; Erik de Castro Lopo <br>С libsamplerate v%1 &copy; Erik de Castro Lopo - + <br>With libsndfile v%1 &copy; Erik de Castro Lopo <br>С libsndfile v%1 &copy; Erik de Castro Lopo - + <br>With FFTW3 v%1 &copy; Matteo Frigo and MIT <br>С FFTW3 v%1 &copy; Matteo Frigo и MIT @@ -4973,22 +4981,22 @@ <br>С движком запросов RDF Rasqal &copy; Dave Beckett и Бристольский университет - + <br>With Redland RDF datastore v%1 &copy; Dave Beckett and the University of Bristol <br>C хранилищем данных RDF Redland v%1 &copy; Dave Beckett и Бристольский университет - + <br>With Redland RDF datastore &copy; Dave Beckett and the University of Bristol <br>C хранилищем данных RDF Redland &copy; Dave Beckett и Бристольский университет - + <br>With liblo Lite OSC library v%1 &copy; Steve Harris <br>С библиотекой OSC liblo v%1 &copy; 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 &copy; Gary P. Scavone <br>С RtMidi &copy; 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"