Mercurial > hg > tony
changeset 507:fc726260b29b
Merge from branch "2.0-integration"
author | Chris Cannam |
---|---|
date | Mon, 19 Oct 2015 11:38:17 +0100 |
parents | ceecc71eeb20 (current diff) e9a92546b2ca (diff) |
children | d8013f97df3c |
files | |
diffstat | 17 files changed, 382 insertions(+), 151 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgsub Fri Aug 14 18:16:14 2015 +0100 +++ b/.hgsub Mon Oct 19 11:38:17 2015 +0100 @@ -5,3 +5,7 @@ pyin = https://code.soundsoftware.ac.uk/hg/pyin chp = https://code.soundsoftware.ac.uk/hg/chp sv-dependency-builds = https://code.soundsoftware.ac.uk/hg/sv-dependency-builds +bqvec = https://bitbucket.org/breakfastquay/bqvec +bqresample = https://bitbucket.org/breakfastquay/bqresample +bqaudioio = https://bitbucket.org/breakfastquay/bqaudioio +icons/scalable = https://code.soundsoftware.ac.uk/hg/sv-iconset
--- a/.hgsubstate Fri Aug 14 18:16:14 2015 +0100 +++ b/.hgsubstate Mon Oct 19 11:38:17 2015 +0100 @@ -1,7 +1,11 @@ -f9f5185ab1a9dbd5115ee8fb5c55397e3d753854 chp +e09d3c02709624b266b62b63a6218d4f330b677e bqaudioio +576a130debf70b3a57c9189bfa1de64d8f64dc14 bqresample +b5c7ca480bf7dc5c602e456480d53ecce3d58e42 bqvec +456842723db65e5553e3506a8fedc8f21d9ea537 chp d16f0fd6db6104d87882bc43788a3bb1b0f8c528 dataquay -0ea1d1b67396e6fea7988ed4523ba8835461564d pyin +cbb548cfe0330f450a042e79f69987d8847d1c42 icons/scalable +5c1572dd225a7fa23b520219ce4515961aafa7a5 pyin 55ece8862b6d3a54aad271a53f9c1615e5d3bcf8 sv-dependency-builds -b36042cb972a7c857b556517b11ba1088cd13b2f svapp -e22bfe8ca2486f952883879b935df82c65d34de1 svcore -788b7623bfcae2b974c683313682a088c864588e svgui +83c60632bac02efd174220f2db8e14786cf57972 svapp +7fb1a7199e5b63513b2a21453db2fc67e622e473 svcore +2e3d388489e5d881bb96c9ae038915ea8bf05d09 svgui
--- a/CHANGELOG Fri Aug 14 18:16:14 2015 +0100 +++ b/CHANGELOG Mon Oct 19 11:38:17 2015 +0100 @@ -1,4 +1,14 @@ +Changes in Tony 2.0 since the previous release 1.0: + + * Tony now has a Record button, allowing you to record audio from the + microphone and analyse it + + * Graphical rendering and icons now properly support hi-dpi/Retina + displays + + * The playback speed dial uses a more sensible scale + Changes in Tony 1.0 since the previous release 0.6: * The underlying pYin analysis plugin has been updated; more analysis
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bq.pro Mon Oct 19 11:38:17 2015 +0100 @@ -0,0 +1,94 @@ + +TEMPLATE = lib + +win32-g++ { + INCLUDEPATH += sv-dependency-builds/win32-mingw/include + LIBS += -Lsv-dependency-builds/win32-mingw/lib +} +win32-msvc* { + INCLUDEPATH += sv-dependency-builds/win32-msvc/include + LIBS += -Lsv-dependency-builds/win32-msvc/lib +} +mac* { + INCLUDEPATH += sv-dependency-builds/osx/include + LIBS += -Lsv-dependency-builds/osx/lib + DEFINES += HAVE_POSIX_MEMALIGN LACK_SINCOS +} + +exists(config.pri) { + include(config.pri) +} + +!exists(config.pri) { + + CONFIG += release + DEFINES += NDEBUG BUILD_RELEASE NO_TIMING + + DEFINES += HAVE_BZ2 HAVE_FFTW3 HAVE_FFTW3F HAVE_SNDFILE HAVE_LIBSAMPLERATE HAVE_VAMP HAVE_VAMPHOSTSDK HAVE_RUBBERBAND HAVE_DATAQUAY HAVE_LIBLO HAVE_MAD HAVE_ID3TAG HAVE_PORTAUDIO + + LIBS += -lbz2 -lrubberband -lvamp-hostsdk -lfftw3 -lfftw3f -lsndfile -lFLAC -logg -lvorbis -lvorbisenc -lvorbisfile -logg -lmad -lid3tag -lportaudio -lsamplerate -lz -lsord-0 -lserd-0 -llo + + win* { + LIBS += -lwinmm -lws2_32 + } + macx* { + DEFINES += HAVE_COREAUDIO + LIBS += -framework CoreAudio -framework CoreMidi -framework AudioUnit -framework AudioToolbox -framework CoreFoundation -framework CoreServices -framework Accelerate + } +} + +CONFIG += staticlib warn_on stl exceptions c++11 +CONFIG -= qt + +TARGET = bq + +DEPENDPATH += bqvec bqresample bqaudioio bqvec/bqvec bqresample/bqresample bqaudioio/bqaudioio +INCLUDEPATH += bqvec bqresample bqaudioio bqvec/bqvec bqresample/bqresample bqaudioio/bqaudioio + +OBJECTS_DIR = o + +HEADERS += \ + bqvec/bqvec/Allocators.h \ + bqvec/bqvec/Barrier.h \ + bqvec/bqvec/ComplexTypes.h \ + bqvec/bqvec/Restrict.h \ + bqvec/bqvec/RingBuffer.h \ + bqvec/bqvec/VectorOpsComplex.h \ + bqvec/bqvec/VectorOps.h \ + bqvec/pommier/neon_mathfun.h \ + bqvec/pommier/sse_mathfun.h \ + bqresample/bqresample/Resampler.h \ + bqresample/speex/speex_resampler.h \ + bqaudioio/bqaudioio/ApplicationPlaybackSource.h \ + bqaudioio/bqaudioio/ApplicationRecordTarget.h \ + bqaudioio/bqaudioio/AudioFactory.h \ + bqaudioio/bqaudioio/SystemAudioIO.h \ + bqaudioio/bqaudioio/SystemPlaybackTarget.h \ + bqaudioio/bqaudioio/SystemRecordSource.h \ + bqaudioio/src/DynamicJACK.h \ + bqaudioio/src/JACKAudioIO.h \ + bqaudioio/src/JACKPlaybackTarget.h \ + bqaudioio/src/JACKRecordSource.h \ + bqaudioio/src/PortAudioIO.h \ + bqaudioio/src/PortAudioPlaybackTarget.h \ + bqaudioio/src/PortAudioRecordSource.h \ + bqaudioio/src/PulseAudioIO.h \ + bqaudioio/src/PulseAudioPlaybackTarget.h + +SOURCES += \ + bqvec/src/Allocators.cpp \ + bqvec/src/Barrier.cpp \ + bqvec/src/VectorOpsComplex.cpp \ + bqresample/src/Resampler.cpp \ + bqaudioio/src/AudioFactory.cpp \ + bqaudioio/src/JACKAudioIO.cpp \ + bqaudioio/src/JACKPlaybackTarget.cpp \ + bqaudioio/src/JACKRecordSource.cpp \ + bqaudioio/src/PortAudioIO.cpp \ + bqaudioio/src/PortAudioPlaybackTarget.cpp \ + bqaudioio/src/PortAudioRecordSource.cpp \ + bqaudioio/src/PulseAudioIO.cpp \ + bqaudioio/src/PulseAudioPlaybackTarget.cpp \ + bqaudioio/src/SystemPlaybackTarget.cpp \ + bqaudioio/src/SystemRecordSource.cpp +
--- a/configure Fri Aug 14 18:16:14 2015 +0100 +++ b/configure Mon Oct 19 11:38:17 2015 +0100 @@ -1,8 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for Tony 1.0. -# -# Report bugs to <cannam@all-day-breakfast.com>. +# Generated by GNU Autoconf 2.69. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. @@ -266,8 +264,7 @@ $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" $as_echo "$0: be upgraded to zsh 4.3.4 or later." else - $as_echo "$0: Please tell bug-autoconf@gnu.org and -$0: cannam@all-day-breakfast.com about your system, + $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, $0: including any error possibly output before this $0: message. Then install a modern shell, or manually run $0: the script under such a shell if you do have one." @@ -578,13 +575,14 @@ MAKEFLAGS= # Identity of this package. -PACKAGE_NAME='Tony' -PACKAGE_TARNAME='tony' -PACKAGE_VERSION='1.0' -PACKAGE_STRING='Tony 1.0' -PACKAGE_BUGREPORT='cannam@all-day-breakfast.com' -PACKAGE_URL='' - +PACKAGE_NAME= +PACKAGE_TARNAME= +PACKAGE_VERSION= +PACKAGE_STRING= +PACKAGE_BUGREPORT= +PACKAGE_URL= + +ac_unique_file="Tony" ac_unique_file="src/main.cpp" # Factoring default headers for most tests. ac_includes_default="\ @@ -650,8 +648,8 @@ libpulse_CFLAGS JACK_LIBS JACK_CFLAGS -portaudio_2_0_LIBS -portaudio_2_0_CFLAGS +portaudio_LIBS +portaudio_CFLAGS liblo_LIBS liblo_CFLAGS serd_LIBS @@ -664,8 +662,8 @@ vamphostsdk_CFLAGS vamp_LIBS vamp_CFLAGS -samplerate_LIBS -samplerate_CFLAGS +libsamplerate_LIBS +libsamplerate_CFLAGS sndfile_LIBS sndfile_CFLAGS fftw3f_LIBS @@ -762,8 +760,8 @@ fftw3f_LIBS sndfile_CFLAGS sndfile_LIBS -samplerate_CFLAGS -samplerate_LIBS +libsamplerate_CFLAGS +libsamplerate_LIBS vamp_CFLAGS vamp_LIBS vamphostsdk_CFLAGS @@ -776,8 +774,8 @@ serd_LIBS liblo_CFLAGS liblo_LIBS -portaudio_2_0_CFLAGS -portaudio_2_0_LIBS +portaudio_CFLAGS +portaudio_LIBS JACK_CFLAGS JACK_LIBS libpulse_CFLAGS @@ -834,7 +832,7 @@ localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' -docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +docdir='${datarootdir}/doc/${PACKAGE}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' @@ -1334,7 +1332,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures Tony 1.0 to adapt to many kinds of systems. +\`configure' configures this package to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1382,7 +1380,7 @@ --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root [DATAROOTDIR/doc/tony] + --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] @@ -1394,9 +1392,7 @@ fi if test -n "$ac_init_help"; then - case $ac_init_help in - short | recursive ) echo "Configuration of Tony 1.0:";; - esac + cat <<\_ACEOF Optional Features: @@ -1433,10 +1429,10 @@ C compiler flags for sndfile, overriding pkg-config sndfile_LIBS linker flags for sndfile, overriding pkg-config - samplerate_CFLAGS - C compiler flags for samplerate, overriding pkg-config - samplerate_LIBS - linker flags for samplerate, overriding pkg-config + libsamplerate_CFLAGS + C compiler flags for libsamplerate, overriding pkg-config + libsamplerate_LIBS + linker flags for libsamplerate, overriding pkg-config vamp_CFLAGS C compiler flags for vamp, overriding pkg-config vamp_LIBS linker flags for vamp, overriding pkg-config vamphostsdk_CFLAGS @@ -1454,10 +1450,10 @@ liblo_CFLAGS C compiler flags for liblo, overriding pkg-config liblo_LIBS linker flags for liblo, overriding pkg-config - portaudio_2_0_CFLAGS - C compiler flags for portaudio_2_0, overriding pkg-config - portaudio_2_0_LIBS - linker flags for portaudio_2_0, overriding pkg-config + portaudio_CFLAGS + C compiler flags for portaudio, overriding pkg-config + portaudio_LIBS + linker flags for portaudio, overriding pkg-config JACK_CFLAGS C compiler flags for JACK, overriding pkg-config JACK_LIBS linker flags for JACK, overriding pkg-config libpulse_CFLAGS @@ -1483,7 +1479,7 @@ Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. -Report bugs to <cannam@all-day-breakfast.com>. +Report bugs to the package provider. _ACEOF ac_status=$? fi @@ -1546,7 +1542,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -Tony configure 1.0 +configure generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1785,10 +1781,6 @@ $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} -( $as_echo "## ------------------------------------------- ## -## Report this to cannam@all-day-breakfast.com ## -## ------------------------------------------- ##" - ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 @@ -1886,7 +1878,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by Tony $as_me 1.0, which was +It was created by $as_me, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -5017,18 +5009,18 @@ fi -SV_MODULE_MODULE=samplerate +SV_MODULE_MODULE=libsamplerate SV_MODULE_VERSION_TEST="samplerate >= 0.1.2" SV_MODULE_HEADER=samplerate.h SV_MODULE_LIB=samplerate SV_MODULE_FUNC=src_new -SV_MODULE_HAVE=HAVE_$(echo samplerate | tr 'a-z' 'A-Z') +SV_MODULE_HAVE=HAVE_$(echo libsamplerate | tr 'a-z' 'A-Z') SV_MODULE_FAILED=1 -if test -n "$samplerate_LIBS" ; then +if test -n "$libsamplerate_LIBS" ; then { $as_echo "$as_me:${as_lineno-$LINENO}: User set ${SV_MODULE_MODULE}_LIBS explicitly, skipping test for $SV_MODULE_MODULE" >&5 $as_echo "$as_me: User set ${SV_MODULE_MODULE}_LIBS explicitly, skipping test for $SV_MODULE_MODULE" >&6;} - CXXFLAGS="$CXXFLAGS $samplerate_CFLAGS" - LIBS="$LIBS $samplerate_LIBS" + CXXFLAGS="$CXXFLAGS $libsamplerate_CFLAGS" + LIBS="$LIBS $libsamplerate_LIBS" SV_MODULE_FAILED="" fi if test -z "$SV_MODULE_VERSION_TEST" ; then @@ -5037,11 +5029,11 @@ if test -n "$SV_MODULE_FAILED" && test -n "$PKG_CONFIG"; then pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for samplerate" >&5 -$as_echo_n "checking for samplerate... " >&6; } - -if test -n "$samplerate_CFLAGS"; then - pkg_cv_samplerate_CFLAGS="$samplerate_CFLAGS" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libsamplerate" >&5 +$as_echo_n "checking for libsamplerate... " >&6; } + +if test -n "$libsamplerate_CFLAGS"; then + pkg_cv_libsamplerate_CFLAGS="$libsamplerate_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$SV_MODULE_VERSION_TEST\""; } >&5 @@ -5049,7 +5041,7 @@ ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_samplerate_CFLAGS=`$PKG_CONFIG --cflags "$SV_MODULE_VERSION_TEST" 2>/dev/null` + pkg_cv_libsamplerate_CFLAGS=`$PKG_CONFIG --cflags "$SV_MODULE_VERSION_TEST" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -5057,8 +5049,8 @@ else pkg_failed=untried fi -if test -n "$samplerate_LIBS"; then - pkg_cv_samplerate_LIBS="$samplerate_LIBS" +if test -n "$libsamplerate_LIBS"; then + pkg_cv_libsamplerate_LIBS="$libsamplerate_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$SV_MODULE_VERSION_TEST\""; } >&5 @@ -5066,7 +5058,7 @@ ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_samplerate_LIBS=`$PKG_CONFIG --libs "$SV_MODULE_VERSION_TEST" 2>/dev/null` + pkg_cv_libsamplerate_LIBS=`$PKG_CONFIG --libs "$SV_MODULE_VERSION_TEST" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -5087,12 +5079,12 @@ _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - samplerate_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1` + libsamplerate_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1` else - samplerate_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1` + libsamplerate_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1` fi # Put the nasty error message in config.log where it belongs - echo "$samplerate_PKG_ERRORS" >&5 + echo "$libsamplerate_PKG_ERRORS" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: Failed to find required module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&5 $as_echo "$as_me: Failed to find required module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&6;} @@ -5102,11 +5094,11 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: Failed to find required module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&5 $as_echo "$as_me: Failed to find required module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&6;} else - samplerate_CFLAGS=$pkg_cv_samplerate_CFLAGS - samplerate_LIBS=$pkg_cv_samplerate_LIBS + libsamplerate_CFLAGS=$pkg_cv_libsamplerate_CFLAGS + libsamplerate_LIBS=$pkg_cv_libsamplerate_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - HAVES="$HAVES $SV_MODULE_HAVE";CXXFLAGS="$CXXFLAGS $samplerate_CFLAGS";LIBS="$LIBS $samplerate_LIBS";SV_MODULE_FAILED="" + HAVES="$HAVES $SV_MODULE_HAVE";CXXFLAGS="$CXXFLAGS $libsamplerate_CFLAGS";LIBS="$LIBS $libsamplerate_LIBS";SV_MODULE_FAILED="" fi fi if test -n "$SV_MODULE_FAILED"; then @@ -6079,18 +6071,18 @@ fi -SV_MODULE_MODULE=portaudio_2_0 +SV_MODULE_MODULE=portaudio SV_MODULE_VERSION_TEST="portaudio-2.0 >= 19" SV_MODULE_HEADER=portaudio.h SV_MODULE_LIB=portaudio SV_MODULE_FUNC=Pa_IsFormatSupported -SV_MODULE_HAVE=HAVE_$(echo portaudio_2_0 | tr 'a-z' 'A-Z') +SV_MODULE_HAVE=HAVE_$(echo portaudio | tr 'a-z' 'A-Z') SV_MODULE_FAILED=1 -if test -n "$portaudio_2_0_LIBS" ; then +if test -n "$portaudio_LIBS" ; then { $as_echo "$as_me:${as_lineno-$LINENO}: User set ${SV_MODULE_MODULE}_LIBS explicitly, skipping test for $SV_MODULE_MODULE" >&5 $as_echo "$as_me: User set ${SV_MODULE_MODULE}_LIBS explicitly, skipping test for $SV_MODULE_MODULE" >&6;} - CXXFLAGS="$CXXFLAGS $portaudio_2_0_CFLAGS" - LIBS="$LIBS $portaudio_2_0_LIBS" + CXXFLAGS="$CXXFLAGS $portaudio_CFLAGS" + LIBS="$LIBS $portaudio_LIBS" SV_MODULE_FAILED="" fi if test -z "$SV_MODULE_VERSION_TEST" ; then @@ -6099,11 +6091,11 @@ if test -n "$SV_MODULE_FAILED" && test -n "$PKG_CONFIG"; then pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for portaudio_2_0" >&5 -$as_echo_n "checking for portaudio_2_0... " >&6; } - -if test -n "$portaudio_2_0_CFLAGS"; then - pkg_cv_portaudio_2_0_CFLAGS="$portaudio_2_0_CFLAGS" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for portaudio" >&5 +$as_echo_n "checking for portaudio... " >&6; } + +if test -n "$portaudio_CFLAGS"; then + pkg_cv_portaudio_CFLAGS="$portaudio_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$SV_MODULE_VERSION_TEST\""; } >&5 @@ -6111,7 +6103,7 @@ ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_portaudio_2_0_CFLAGS=`$PKG_CONFIG --cflags "$SV_MODULE_VERSION_TEST" 2>/dev/null` + pkg_cv_portaudio_CFLAGS=`$PKG_CONFIG --cflags "$SV_MODULE_VERSION_TEST" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -6119,8 +6111,8 @@ else pkg_failed=untried fi -if test -n "$portaudio_2_0_LIBS"; then - pkg_cv_portaudio_2_0_LIBS="$portaudio_2_0_LIBS" +if test -n "$portaudio_LIBS"; then + pkg_cv_portaudio_LIBS="$portaudio_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$SV_MODULE_VERSION_TEST\""; } >&5 @@ -6128,7 +6120,7 @@ ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_portaudio_2_0_LIBS=`$PKG_CONFIG --libs "$SV_MODULE_VERSION_TEST" 2>/dev/null` + pkg_cv_portaudio_LIBS=`$PKG_CONFIG --libs "$SV_MODULE_VERSION_TEST" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -6149,12 +6141,12 @@ _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - portaudio_2_0_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1` + portaudio_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1` else - portaudio_2_0_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1` + portaudio_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1` fi # Put the nasty error message in config.log where it belongs - echo "$portaudio_2_0_PKG_ERRORS" >&5 + echo "$portaudio_PKG_ERRORS" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&5 $as_echo "$as_me: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&6;} @@ -6164,11 +6156,11 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&5 $as_echo "$as_me: Failed to find optional module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&6;} else - portaudio_2_0_CFLAGS=$pkg_cv_portaudio_2_0_CFLAGS - portaudio_2_0_LIBS=$pkg_cv_portaudio_2_0_LIBS + portaudio_CFLAGS=$pkg_cv_portaudio_CFLAGS + portaudio_LIBS=$pkg_cv_portaudio_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - HAVES="$HAVES $SV_MODULE_HAVE";CXXFLAGS="$CXXFLAGS $portaudio_2_0_CFLAGS";LIBS="$LIBS $portaudio_2_0_LIBS";SV_MODULE_FAILED="" + HAVES="$HAVES $SV_MODULE_HAVE";CXXFLAGS="$CXXFLAGS $portaudio_CFLAGS";LIBS="$LIBS $portaudio_LIBS";SV_MODULE_FAILED="" fi fi if test -n "$SV_MODULE_FAILED"; then @@ -7498,7 +7490,7 @@ subdirs="$subdirs svcore svgui svapp" -ac_config_files="$ac_config_files config.pri version.h" +ac_config_files="$ac_config_files config.pri" cat >confcache <<\_ACEOF @@ -8043,7 +8035,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by Tony $as_me 1.0, which was +This file was extended by $as_me, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -8090,13 +8082,13 @@ Configuration files: $config_files -Report bugs to <cannam@all-day-breakfast.com>." +Report bugs to the package provider." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -Tony config.status 1.0 +config.status configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" @@ -8209,7 +8201,6 @@ do case $ac_config_target in "config.pri") CONFIG_FILES="$CONFIG_FILES config.pri" ;; - "version.h") CONFIG_FILES="$CONFIG_FILES version.h" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac
--- a/configure.ac Fri Aug 14 18:16:14 2015 +0100 +++ b/configure.ac Mon Oct 19 11:38:17 2015 +0100 @@ -1,5 +1,5 @@ -AC_INIT([Tony], 1.0, cannam@all-day-breakfast.com) +AC_INIT([Tony], [], cannam@all-day-breakfast.com) AC_CONFIG_SRCDIR(src/main.cpp) @@ -82,7 +82,7 @@ SV_MODULE_REQUIRED([fftw3],[fftw3 >= 3.0.0],[fftw3.h],[fftw3],[fftw_execute]) SV_MODULE_REQUIRED([fftw3f],[fftw3f >= 3.0.0],[fftw3.h],[fftw3f],[fftwf_execute]) SV_MODULE_REQUIRED([sndfile],[sndfile >= 1.0.16],[sndfile.h],[sndfile],[sf_open]) -SV_MODULE_REQUIRED([samplerate],[samplerate >= 0.1.2],[samplerate.h],[samplerate],[src_new]) +SV_MODULE_REQUIRED([libsamplerate],[samplerate >= 0.1.2],[samplerate.h],[samplerate],[src_new]) SV_MODULE_REQUIRED([vamp],[vamp >= 2.1],[vamp/vamp.h],[],[]) SV_MODULE_REQUIRED([vamphostsdk],[vamp-hostsdk >= 2.5],[vamp-hostsdk/PluginLoader.h],[vamp-hostsdk],[libvamphostsdk_v_2_5_present]) SV_MODULE_REQUIRED([rubberband],[rubberband],[rubberband/RubberBandStretcher.h],[rubberband],[rubberband_new]) @@ -90,7 +90,7 @@ SV_MODULE_REQUIRED([serd],[serd-0 >= 0.5],[serd/serd.h],[serd-0],[serd_reader_read_file]) SV_MODULE_OPTIONAL([liblo],[],[lo/lo.h],[lo],[lo_address_new]) -SV_MODULE_OPTIONAL([portaudio_2_0],[portaudio-2.0 >= 19],[portaudio.h],[portaudio],[Pa_IsFormatSupported]) +SV_MODULE_OPTIONAL([portaudio],[portaudio-2.0 >= 19],[portaudio.h],[portaudio],[Pa_IsFormatSupported]) SV_MODULE_OPTIONAL([JACK],[jack >= 0.100],[jack/jack.h],[jack],[jack_client_open]) SV_MODULE_OPTIONAL([libpulse],[libpulse >= 0.9],[pulse/pulseaudio.h],[pulse],[pa_stream_new]) SV_MODULE_OPTIONAL([lrdf],[lrdf >= 0.2],[lrdf.h],[lrdf],[lrdf_init]) @@ -121,7 +121,7 @@ AC_SUBST(QMAKE_CONFIG) AC_CONFIG_SUBDIRS([svcore svgui svapp]) -AC_CONFIG_FILES([config.pri version.h]) +AC_CONFIG_FILES([config.pri]) AC_OUTPUT
--- a/deploy/osx/copy-qt.sh Fri Aug 14 18:16:14 2015 +0100 +++ b/deploy/osx/copy-qt.sh Mon Oct 19 11:38:17 2015 +0100 @@ -9,7 +9,7 @@ exit 2 fi -frameworks="QtCore QtNetwork QtGui QtXml QtWidgets QtPrintSupport" +frameworks="QtCore QtNetwork QtGui QtXml QtSvg QtWidgets QtPrintSupport" plugins="dds gif icns ico jp2 jpeg mng tga tiff wbmp webp cocoa minimal offscreen"
--- a/deploy/osx/deploy.sh Fri Aug 14 18:16:14 2015 +0100 +++ b/deploy/osx/deploy.sh Mon Oct 19 11:38:17 2015 +0100 @@ -57,6 +57,21 @@ deploy/osx/paths.sh "$app" echo +echo "Copying in qt.conf to set local-only plugin paths." +echo "Make sure all necessary Qt plugins are in $source/Contents/plugins/*" +echo "You probably want platforms/, accessible/ and imageformats/ subdirectories." +cp deploy/osx/qt.conf "$source"/Contents/Resources/qt.conf + +echo +echo "Writing version $bundleVersion in to bundle." +echo "(This should be a three-part number: major.minor.point)" + +perl -p -e "s/TONY_VERSION/$bundleVersion/" deploy/osx/Info.plist \ + > "$source"/Contents/Info.plist + +echo "Done: check $source/Contents/Info.plist for sanity please" + +echo echo "Making target tree." volume="$app"-"$version" @@ -71,21 +86,6 @@ echo "Done" -echo -echo "Copying in qt.conf to set local-only plugin paths." -echo "Make sure all necessary Qt plugins are in $target/Contents/plugins/*" -echo "You probably want platforms/, accessible/ and imageformats/ subdirectories." -cp deploy/osx/qt.conf "$target"/Contents/Resources/qt.conf - -echo -echo "Writing version $bundleVersion in to bundle." -echo "(This should be a three-part number: major.minor.point)" - -perl -p -e "s/TONY_VERSION/$bundleVersion/" deploy/osx/Info.plist \ - > "$target"/Contents/Info.plist - -echo "Done: check $target/Contents/Info.plist for sanity please" - deploy/osx/sign.sh "$volume" || exit 1 echo
--- a/deploy/osx/paths.sh Fri Aug 14 18:16:14 2015 +0100 +++ b/deploy/osx/paths.sh Mon Oct 19 11:38:17 2015 +0100 @@ -9,7 +9,7 @@ exit 2 fi -frameworks="QtCore QtNetwork QtGui QtXml QtWidgets QtPrintSupport" +frameworks="QtCore QtNetwork QtGui QtXml QtSvg QtWidgets QtPrintSupport" echo echo "I expect you to have already copied these frameworks from the Qt installation to"
--- a/src/Analyser.cpp Fri Aug 14 18:16:14 2015 +0100 +++ b/src/Analyser.cpp Mon Oct 19 11:38:17 2015 +0100 @@ -277,8 +277,9 @@ (m_document->createMainModelLayer(LayerFactory::MelodicRangeSpectrogram)); spectrogram->setColourMap((int)ColourMapper::BlackOnWhite); - spectrogram->setNormalizeHybrid(true); - spectrogram->setGain(100); + spectrogram->setNormalization(SpectrogramLayer::NormalizeHybrid); +// spectrogram->setGain(100); + spectrogram->setGain(0.02f); m_document->addLayerToView(m_pane, spectrogram); spectrogram->setLayerDormant(m_pane, true);
--- a/src/MainWindow.cpp Fri Aug 14 18:16:14 2015 +0100 +++ b/src/MainWindow.cpp Mon Oct 19 11:38:17 2015 +0100 @@ -42,9 +42,9 @@ #include "widgets/IconLoader.h" #include "widgets/KeyReference.h" #include "widgets/LevelPanToolButton.h" -#include "audioio/AudioCallbackPlaySource.h" -#include "audioio/AudioCallbackPlayTarget.h" -#include "audioio/PlaySpeedRangeMapper.h" +#include "audio/AudioCallbackPlaySource.h" +#include "audio/AudioRecordTarget.h" +#include "audio/PlaySpeedRangeMapper.h" #include "base/Profiler.h" #include "base/UnitDatabase.h" #include "layer/ColourDatabase.h" @@ -66,6 +66,9 @@ #include "plugin/api/ladspa.h" #include "plugin/api/dssi.h" +#include <bqaudioio/SystemPlaybackTarget.h> +#include <bqaudioio/SystemAudioIO.h> + #include <QApplication> #include <QMessageBox> #include <QGridLayout> @@ -91,8 +94,8 @@ using std::vector; -MainWindow::MainWindow(bool withAudioOutput, bool withSonification, bool withSpectrogram) : - MainWindowBase(withAudioOutput, false), +MainWindow::MainWindow(SoundOptions options, bool withSonification, bool withSpectrogram) : + MainWindowBase(options), m_overview(0), m_mainMenusCreated(false), m_playbackMenu(0), @@ -226,15 +229,15 @@ m_playSpeed = new AudioDial(frame); m_playSpeed->setMeterColor(Qt::darkBlue); m_playSpeed->setMinimum(0); - m_playSpeed->setMaximum(200); - m_playSpeed->setValue(100); + m_playSpeed->setMaximum(120); + m_playSpeed->setValue(60); m_playSpeed->setFixedWidth(24); m_playSpeed->setFixedHeight(24); m_playSpeed->setNotchesVisible(true); m_playSpeed->setPageStep(10); - m_playSpeed->setObjectName(tr("Playback Speedup")); - m_playSpeed->setDefaultValue(100); - m_playSpeed->setRangeMapper(new PlaySpeedRangeMapper(0, 200)); + m_playSpeed->setObjectName(tr("Playback Speed")); + m_playSpeed->setDefaultValue(60); + m_playSpeed->setRangeMapper(new PlaySpeedRangeMapper); m_playSpeed->setShowToolTip(true); connect(m_playSpeed, SIGNAL(valueChanged(int)), this, SLOT(playSpeedChanged(int))); @@ -297,6 +300,8 @@ connect(this, SIGNAL(audioFileLoaded()), this, SLOT(analyseNewMainModel())); m_activityLog->hide(); + setAudioRecordMode(RecordReplaceSession); + newSession(); settings.beginGroup("MainWindow"); @@ -370,7 +375,6 @@ QAction *action; icon = il.load("fileopen"); - icon.addPixmap(il.loadPixmap("fileopen-22")); action = new QAction(icon, tr("&Open..."), this); action->setShortcut(tr("Ctrl+O")); action->setStatusTip(tr("Open a session or audio file")); @@ -395,7 +399,6 @@ menu->addSeparator(); icon = il.load("filesave"); - icon.addPixmap(il.loadPixmap("filesave-22")); action = new QAction(icon, tr("&Save Session"), this); action->setShortcut(tr("Ctrl+S")); action->setStatusTip(tr("Save the current session into a %1 session file").arg(QApplication::applicationName())); @@ -406,7 +409,6 @@ toolbar->addAction(action); icon = il.load("filesaveas"); - icon.addPixmap(il.loadPixmap("filesaveas-22")); action = new QAction(icon, tr("Save Session &As..."), this); action->setShortcut(tr("Ctrl+Shift+S")); action->setStatusTip(tr("Save the current session into a new %1 session file").arg(QApplication::applicationName())); @@ -415,7 +417,7 @@ menu->addAction(action); toolbar->addAction(action); - action = new QAction(tr("Save Session to Audio &Path"), this); + action = new QAction(tr("Save Session to Audio File &Path"), this); action->setShortcut(tr("Ctrl+Alt+S")); action->setStatusTip(tr("Save the current session into a %1 session file with the same filename as the audio but a .ton extension.").arg(QApplication::applicationName())); connect(action, SIGNAL(triggered()), this, SLOT(saveSessionInAudioPath())); @@ -443,6 +445,14 @@ menu->addAction(action); menu->addSeparator(); + + action = new QAction(tr("Browse Recorded Audio"), this); + action->setStatusTip(tr("Open the Recorded Audio folder in the system file browser")); + connect(action, SIGNAL(triggered()), this, SLOT(browseRecordedAudio())); + menu->addAction(action); + + menu->addSeparator(); + action = new QAction(il.load("exit"), tr("&Quit"), this); action->setShortcut(tr("Ctrl+Q")); action->setStatusTip(tr("Exit %1").arg(QApplication::applicationName())); @@ -1021,6 +1031,19 @@ connect(ffwdEndAction, SIGNAL(triggered()), this, SLOT(ffwdEnd())); connect(this, SIGNAL(canPlay(bool)), ffwdEndAction, SLOT(setEnabled(bool))); + QAction *recordAction = toolbar->addAction(il.load("record"), + tr("Record")); + recordAction->setCheckable(true); + recordAction->setShortcut(tr("Ctrl+Space")); + recordAction->setStatusTip(tr("Record a new audio file")); + connect(recordAction, SIGNAL(triggered()), this, SLOT(record())); + connect(m_recordTarget, SIGNAL(recordStatusChanged(bool)), + recordAction, SLOT(setChecked(bool))); + connect(m_recordTarget, SIGNAL(recordCompleted()), + this, SLOT(analyseNow())); + connect(this, SIGNAL(canRecord(bool)), + recordAction, SLOT(setEnabled(bool))); + toolbar = addToolBar(tr("Play Mode Toolbar")); QAction *psAction = toolbar->addAction(il.load("playselection"), @@ -1072,10 +1095,12 @@ m_keyReference->registerShortcut(psAction); m_keyReference->registerShortcut(plAction); m_keyReference->registerShortcut(playAction); + m_keyReference->registerShortcut(recordAction); m_keyReference->registerShortcut(m_rwdAction); m_keyReference->registerShortcut(m_ffwdAction); m_keyReference->registerShortcut(rwdStartAction); m_keyReference->registerShortcut(ffwdEndAction); + m_keyReference->registerShortcut(recordAction); m_keyReference->registerShortcut(oneLeftAction); m_keyReference->registerShortcut(oneRightAction); m_keyReference->registerShortcut(selectOneLeftAction); @@ -1096,6 +1121,8 @@ menu->addAction(selectOneLeftAction); menu->addAction(selectOneRightAction); menu->addSeparator(); + menu->addAction(recordAction); + menu->addSeparator(); m_rightButtonPlaybackMenu->addAction(playAction); m_rightButtonPlaybackMenu->addAction(psAction); @@ -1112,6 +1139,8 @@ m_rightButtonPlaybackMenu->addAction(selectOneLeftAction); m_rightButtonPlaybackMenu->addAction(selectOneRightAction); m_rightButtonPlaybackMenu->addSeparator(); + m_rightButtonPlaybackMenu->addAction(recordAction); + m_rightButtonPlaybackMenu->addSeparator(); QAction *fastAction = menu->addAction(tr("Speed Up")); fastAction->setShortcut(tr("Ctrl+PgUp")); @@ -1362,7 +1391,7 @@ bool haveMainModel = (getMainModel() != 0); bool havePlayTarget = - (m_playTarget != 0); + (m_playTarget != 0 || m_audioIO != 0); bool haveCurrentPane = (currentPane != 0); bool haveCurrentLayer = @@ -1401,6 +1430,10 @@ emit canExportNotes(haveNotes); emit canSnapNotes(haveSelection && haveNotes); + cerr << "haveWaveform = " << haveWaveform << endl; + cerr << "haveMainModel = " << haveMainModel << endl; + cerr << "havePlayTarget = " << havePlayTarget << endl; + emit canPlayWaveform(haveWaveform && haveMainModel && havePlayTarget); emit canPlayPitch(havePitchTrack && haveMainModel && havePlayTarget); emit canPlayNotes(haveNotes && haveMainModel && havePlayTarget); @@ -2320,6 +2353,17 @@ } void +MainWindow::browseRecordedAudio() +{ + if (!m_recordTarget) return; + + QString path = m_recordTarget->getRecordContainerFolder(); + if (path == "") return; + + openLocalFolder(path); +} + +void MainWindow::doubleClickSelectInvoked(sv_frame_t frame) { sv_frame_t f0, f1; @@ -2640,26 +2684,36 @@ void MainWindow::playSpeedChanged(int position) { - PlaySpeedRangeMapper mapper(0, 200); + PlaySpeedRangeMapper mapper; double percent = m_playSpeed->mappedValue(); double factor = mapper.getFactorForValue(percent); - cerr << "speed = " << position << " percent = " << percent << " factor = " << factor << endl; - - bool something = (position != 100); - - int pc = int(lrint(percent)); - - if (!something) { + int centre = m_playSpeed->defaultValue(); + + // Percentage is shown to 0dp if >100, to 1dp if <100; factor is + // shown to 3sf + + char pcbuf[30]; + char facbuf[30]; + + if (position == centre) { contextHelpChanged(tr("Playback speed: Normal")); + } else if (position < centre) { + sprintf(pcbuf, "%.1f", percent); + sprintf(facbuf, "%.3g", 1.0 / factor); + contextHelpChanged(tr("Playback speed: %1% (%2x slower)") + .arg(pcbuf) + .arg(facbuf)); } else { - contextHelpChanged(tr("Playback speed: %1%2%") - .arg(position > 100 ? "+" : "") - .arg(pc)); + sprintf(pcbuf, "%.0f", percent); + sprintf(facbuf, "%.3g", factor); + contextHelpChanged(tr("Playback speed: %1% (%2x faster)") + .arg(pcbuf) + .arg(facbuf)); } - m_playSource->setTimeStretch(factor); + m_playSource->setTimeStretch(1.0 / factor); // factor is a speedup updateMenuStates(); } @@ -2908,9 +2962,19 @@ MainWindowBase::mainModelChanged(model); + if (m_playTarget || m_audioIO) { + connect(m_fader, SIGNAL(valueChanged(float)), + this, SLOT(mainModelGainChanged(float))); + } +} + +void +MainWindow::mainModelGainChanged(float gain) +{ if (m_playTarget) { - connect(m_fader, SIGNAL(valueChanged(float)), - m_playTarget, SLOT(setOutputGain(float))); + m_playTarget->setOutputGain(gain); + } else if (m_audioIO) { + m_audioIO->setOutputGain(gain); } } @@ -3011,6 +3075,7 @@ } updateLayerStatuses(); + documentRestored(); } void
--- a/src/MainWindow.h Fri Aug 14 18:16:14 2015 +0100 +++ b/src/MainWindow.h Mon Oct 19 11:38:17 2015 +0100 @@ -28,7 +28,7 @@ Q_OBJECT public: - MainWindow(bool withAudioOutput = true, bool withSonification = true, bool withSpectrogram = true); + MainWindow(SoundOptions options, bool withSonification = true, bool withSpectrogram = true); virtual ~MainWindow(); signals: @@ -52,6 +52,7 @@ virtual void exportPitchLayer(); virtual void exportNoteLayer(); virtual void importPitchLayer(); + virtual void browseRecordedAudio(); virtual void newSession(); virtual void closeSession(); @@ -134,6 +135,7 @@ virtual void layerInAView(Layer *, bool); virtual void mainModelChanged(WaveFileModel *); + virtual void mainModelGainChanged(float); virtual void modelAdded(Model *); virtual void modelAboutToBeDeleted(Model *);
--- a/src/main.cpp Fri Aug 14 18:16:14 2015 +0100 +++ b/src/main.cpp Mon Oct 19 11:38:17 2015 +0100 @@ -69,6 +69,8 @@ m_mainWindow(0), m_readyForFiles(false) { + // tidier without, I reckon + setAttribute(Qt::AA_DontShowIconsInMenus); } virtual ~TonyApplication() { } @@ -209,6 +211,8 @@ InteractiveFileFinder::getInstance()->setApplicationSessionExtension("ton"); + QApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); + QSplashScreen *splash = 0; // If we had a splash screen, we would show it here @@ -243,7 +247,10 @@ qRegisterMetaType<size_t>("size_t"); qRegisterMetaType<PropertyContainer::PropertyName>("PropertyContainer::PropertyName"); - MainWindow *gui = new MainWindow(audioOutput, sonification, spectrogram); + MainWindow::SoundOptions options = MainWindow::WithEverything; + if (!audioOutput) options = 0; + + MainWindow *gui = new MainWindow(options, sonification, spectrogram); application.setMainWindow(gui); if (splash) { QObject::connect(gui, SIGNAL(hideSplash()), splash, SLOT(hide()));
--- a/tony.pro Fri Aug 14 18:16:14 2015 +0100 +++ b/tony.pro Mon Oct 19 11:38:17 2015 +0100 @@ -1,6 +1,7 @@ TEMPLATE = subdirs -SUBDIRS = sub_dataquay svcore svgui svapp sub_tony +SUBDIRS = sub_bq sub_dataquay svcore svgui svapp sub_tony +sub_bq.file = bq.pro sub_tony.file = tonyapp.pro sub_dataquay.file = dataquay/lib.pro
--- a/tony.qrc Fri Aug 14 18:16:14 2015 +0100 +++ b/tony.qrc Mon Oct 19 11:38:17 2015 +0100 @@ -1,5 +1,56 @@ <!DOCTYPE RCC><RCC version="1.0"> <qresource> + <file>icons/scalable/align.svg</file> + <file>icons/scalable/colour3d.svg</file> + <file>icons/scalable/cross.svg</file> + <file>icons/scalable/dataedit.svg</file> + <file>icons/scalable/draw.svg</file> + <file>icons/scalable/erase.svg</file> + <file>icons/scalable/editcopy.svg</file> + <file>icons/scalable/editcut.svg</file> + <file>icons/scalable/editdelete.svg</file> + <file>icons/scalable/editpaste.svg</file> + <file>icons/scalable/exit.svg</file> + <file>icons/scalable/filenew.svg</file> + <file>icons/scalable/fileopen.svg</file> + <file>icons/scalable/filesaveas.svg</file> + <file>icons/scalable/filesave.svg</file> + <file>icons/scalable/filesavesv.svg</file> + <file>icons/scalable/ffwd-end.svg</file> + <file>icons/scalable/ffwd.svg</file> + <file>icons/scalable/navigate.svg</file> + <file>icons/scalable/move.svg</file> + <file>icons/scalable/pause.svg</file> + <file>icons/scalable/playloop.svg</file> + <file>icons/scalable/playpause.svg</file> + <file>icons/scalable/playselection.svg</file> + <file>icons/scalable/solo.svg</file> + <file>icons/scalable/play.svg</file> + <file>icons/scalable/record.svg</file> + <file>icons/scalable/rewind-start.svg</file> + <file>icons/scalable/rewind.svg</file> + <file>icons/scalable/undo.svg</file> + <file>icons/scalable/redo.svg</file> + <file>icons/scalable/select.svg</file> + <file>icons/scalable/instants.svg</file> + <file>icons/scalable/notes.svg</file> + <file>icons/scalable/values.svg</file> + <file>icons/scalable/regions.svg</file> + <file>icons/scalable/spectrogram.svg</file> + <file>icons/scalable/spectrum.svg</file> + <file>icons/scalable/text.svg</file> + <file>icons/scalable/timeruler.svg</file> + <file>icons/scalable/zoom.svg</file> + <file>icons/scalable/zoom-in.svg</file> + <file>icons/scalable/zoom-out.svg</file> + <file>icons/scalable/zoom-fit.svg</file> + <file>icons/scalable/waveform.svg</file> + <file>icons/scalable/speaker.svg</file> + <file>icons/scalable/sv-icon-light.svg</file> + <file>icons/scalable/sv-icon.svg</file> + <file>icons/scalable/sv-splash.svg</file> + <file>icons/scalable/sv-splash.png</file> + <file>icons/scalable/sv-splash@2x.png</file> <file>icons/waveform.png</file> <file>icons/spectrum.png</file> <file>icons/spectrogram.png</file>
--- a/tonyapp.pro Fri Aug 14 18:16:14 2015 +0100 +++ b/tonyapp.pro Mon Oct 19 11:38:17 2015 +0100 @@ -38,21 +38,22 @@ } CONFIG += qt thread warn_on stl rtti exceptions c++11 -QT += network xml gui widgets +QT += network xml gui widgets svg TARGET = Tony linux*:TARGET = tony solaris*:TARGET = tony -DEPENDPATH += . svcore svgui svapp -INCLUDEPATH += . svcore svgui svapp +DEPENDPATH += . bqaudioio svcore svgui svapp +INCLUDEPATH += . bqaudioio svcore svgui svapp OBJECTS_DIR = o MOC_DIR = o contains(DEFINES, BUILD_STATIC):LIBS -= -ljack -MY_LIBS = -Lsvapp -Lsvgui -Lsvcore -Ldataquay -lsvapp -lsvgui -lsvcore -ldataquay +MY_LIBS = -Lsvapp -Lsvgui -Lsvcore -Ldataquay -L. \ + -lsvapp -lsvgui -lsvcore -ldataquay -lbq linux* { MY_LIBS = -Wl,-Bstatic $$MY_LIBS -Wl,-Bdynamic