# HG changeset patch # User Chris Cannam # Date 1438702780 -3600 # Node ID 1f4e40be5aa2b3aecf9bbd3ffcea76ae7f826cd0 # Parent e517197049bc4782d7194ea49160400a91b4df2b# Parent 85bdd7cb2306e0037bc809ac7b3bfb6d86bedb4d Merge from branch bqaudioio diff -r e517197049bc -r 1f4e40be5aa2 .hgsub --- a/.hgsub Tue Aug 04 16:28:21 2015 +0100 +++ b/.hgsub Tue Aug 04 16:39:40 2015 +0100 @@ -2,5 +2,8 @@ svgui = https://code.soundsoftware.ac.uk/hg/svgui svapp = https://code.soundsoftware.ac.uk/hg/svapp dataquay = https://bitbucket.org/breakfastquay/dataquay +bqvec = https://bitbucket.org/breakfastquay/bqvec +bqresample = https://bitbucket.org/breakfastquay/bqresample +bqaudioio = https://bitbucket.org/breakfastquay/bqaudioio sv-dependency-builds = https://code.soundsoftware.ac.uk/hg/sv-dependency-builds icons/scalable = https://code.soundsoftware.ac.uk/hg/sv-iconset diff -r e517197049bc -r 1f4e40be5aa2 .hgsubstate --- a/.hgsubstate Tue Aug 04 16:28:21 2015 +0100 +++ b/.hgsubstate Tue Aug 04 16:39:40 2015 +0100 @@ -1,6 +1,9 @@ +a335ad8fe76a9692cde7d567ad4ebe2dd233c922 bqaudioio +62c40e7f9231e459091c3352c5d4b6001be127ca bqresample +94b6ebd5e8ab897e5b294fd77b4113e8d6d78b13 bqvec d16f0fd6db6104d87882bc43788a3bb1b0f8c528 dataquay 06ed2d275a956fd1224376f74dfe170c19d3b2c2 icons/scalable 55ece8862b6d3a54aad271a53f9c1615e5d3bcf8 sv-dependency-builds -85e7d2418d9acf74ffe27263f6245d8ea187f5a1 svapp -7f8eb7379280d39bdd199feba71a364ff5df05a0 svcore -b0662a3c4679c651616f02551d6173c318136a9c svgui +4480b031fe3819540d985ebb9ff4c02d505835fe svapp +fbc43d5dc3d108cf0cd906cc3934fca1ff6e941f svcore +8588b97f1d1c324a9d2c14e646b07fc00442172f svgui diff -r e517197049bc -r 1f4e40be5aa2 bq.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bq.pro Tue Aug 04 16:39:40 2015 +0100 @@ -0,0 +1,93 @@ + +TEMPLATE = lib + +win32-g++ { + INCLUDEPATH += sv-dependency-builds/win32-mingw/include + LIBS += -Lsv-dependency-builds/win32-mingw/lib +} +win32-msvc* { + INCLUDEPATH += sv-dependency-builds/win32-msvc/include + LIBS += -Lsv-dependency-builds/win32-msvc/lib +} +mac* { + INCLUDEPATH += sv-dependency-builds/osx/include + LIBS += -Lsv-dependency-builds/osx/lib +} + +exists(config.pri) { + include(config.pri) +} + +!exists(config.pri) { + + CONFIG += release + DEFINES += NDEBUG BUILD_RELEASE NO_TIMING + + DEFINES += HAVE_BZ2 HAVE_FFTW3 HAVE_FFTW3F HAVE_SNDFILE HAVE_SAMPLERATE HAVE_VAMP HAVE_VAMPHOSTSDK HAVE_RUBBERBAND HAVE_DATAQUAY HAVE_LIBLO HAVE_MAD HAVE_ID3TAG HAVE_PORTAUDIO + + LIBS += -lbz2 -lrubberband -lvamp-hostsdk -lfftw3 -lfftw3f -lsndfile -lFLAC -logg -lvorbis -lvorbisenc -lvorbisfile -logg -lmad -lid3tag -lportaudio -lsamplerate -lz -lsord-0 -lserd-0 -llo + + win* { + LIBS += -lwinmm -lws2_32 + } + macx* { + DEFINES += HAVE_COREAUDIO + LIBS += -framework CoreAudio -framework CoreMidi -framework AudioUnit -framework AudioToolbox -framework CoreFoundation -framework CoreServices -framework Accelerate + } +} + +CONFIG += 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 + diff -r e517197049bc -r 1f4e40be5aa2 configure --- a/configure Tue Aug 04 16:28:21 2015 +0100 +++ b/configure Tue Aug 04 16:39:40 2015 +0100 @@ -648,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 @@ -662,8 +662,8 @@ vamphostsdk_CFLAGS vamp_LIBS vamp_CFLAGS -samplerate_LIBS -samplerate_CFLAGS +libsamplerate_LIBS +libsamplerate_CFLAGS sndfile_LIBS sndfile_CFLAGS fftw3f_LIBS @@ -760,8 +760,8 @@ fftw3f_LIBS sndfile_CFLAGS sndfile_LIBS -samplerate_CFLAGS -samplerate_LIBS +libsamplerate_CFLAGS +libsamplerate_LIBS vamp_CFLAGS vamp_LIBS vamphostsdk_CFLAGS @@ -774,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 @@ -1429,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 @@ -1450,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 @@ -5009,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 @@ -5029,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 @@ -5041,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 @@ -5049,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 @@ -5058,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 @@ -5079,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;} @@ -5094,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 @@ -6071,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 @@ -6091,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 @@ -6103,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 @@ -6111,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 @@ -6120,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 @@ -6141,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;} @@ -6156,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 diff -r e517197049bc -r 1f4e40be5aa2 configure.ac --- a/configure.ac Tue Aug 04 16:28:21 2015 +0100 +++ b/configure.ac Tue Aug 04 16:39:40 2015 +0100 @@ -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]) diff -r e517197049bc -r 1f4e40be5aa2 main/MainWindow.cpp --- a/main/MainWindow.cpp Tue Aug 04 16:28:21 2015 +0100 +++ b/main/MainWindow.cpp Tue Aug 04 16:39:40 2015 +0100 @@ -57,10 +57,8 @@ #include "widgets/LabelCounterInputDialog.h" #include "widgets/ActivityLog.h" #include "widgets/UnitConverter.h" -#include "audioio/AudioCallbackPlaySource.h" -#include "audioio/AudioCallbackPlayTarget.h" -#include "audioio/AudioTargetFactory.h" -#include "audioio/PlaySpeedRangeMapper.h" +#include "audio/AudioCallbackPlaySource.h" +#include "audio/PlaySpeedRangeMapper.h" #include "data/fileio/DataFileReaderFactory.h" #include "data/fileio/PlaylistFileReader.h" #include "data/fileio/WavFileWriter.h" @@ -93,6 +91,8 @@ #include "plugin/api/ladspa.h" #include "plugin/api/dssi.h" +#include + #include #include #include @@ -4234,7 +4234,15 @@ if (m_playTarget) { connect(m_fader, SIGNAL(valueChanged(float)), - m_playTarget, SLOT(setOutputGain(float))); + this, SLOT(mainModelGainChanged(float))); + } +} + +void +MainWindow::mainModelGainChanged(float gain) +{ + if (m_playTarget) { + m_playTarget->setOutputGain(gain); } } diff -r e517197049bc -r 1f4e40be5aa2 main/MainWindow.h --- a/main/MainWindow.h Tue Aug 04 16:28:21 2015 +0100 +++ b/main/MainWindow.h Tue Aug 04 16:39:40 2015 +0100 @@ -132,6 +132,7 @@ virtual void layerInAView(Layer *, bool); virtual void mainModelChanged(WaveFileModel *); + virtual void mainModelGainChanged(float); virtual void modelAdded(Model *); virtual void modelAboutToBeDeleted(Model *); diff -r e517197049bc -r 1f4e40be5aa2 main/OSCHandler.cpp --- a/main/OSCHandler.cpp Tue Aug 04 16:28:21 2015 +0100 +++ b/main/OSCHandler.cpp Tue Aug 04 16:39:40 2015 +0100 @@ -22,14 +22,15 @@ #include "view/PaneStack.h" #include "data/model/WaveFileModel.h" #include "widgets/CommandHistory.h" -#include "audioio/AudioCallbackPlaySource.h" -#include "audioio/AudioCallbackPlayTarget.h" +#include "audio/AudioCallbackPlaySource.h" #include "framework/Document.h" #include "data/fileio/WavFileWriter.h" #include "transform/TransformFactory.h" #include "widgets/Fader.h" #include "widgets/AudioDial.h" +#include + #include void diff -r e517197049bc -r 1f4e40be5aa2 main/PreferencesDialog.cpp --- a/main/PreferencesDialog.cpp Tue Aug 04 16:28:21 2015 +0100 +++ b/main/PreferencesDialog.cpp Tue Aug 04 16:39:40 2015 +0100 @@ -39,9 +39,10 @@ #include "widgets/WindowTypeSelector.h" #include "widgets/IconLoader.h" #include "base/Preferences.h" -#include "audioio/AudioTargetFactory.h" #include "base/ResourceFinder.h" +//#include "audioio/AudioTargetFactory.h" + #include "version.h" PreferencesDialog::PreferencesDialog(QWidget *parent) : @@ -149,11 +150,13 @@ connect(octaveSystem, SIGNAL(currentIndexChanged(int)), this, SLOT(octaveSystemChanged(int))); + QSettings settings; + + /*!!! restore QComboBox *audioDevice = new QComboBox; std::vector devices = AudioTargetFactory::getInstance()->getCallbackTargetNames(); - QSettings settings; settings.beginGroup("Preferences"); QString targetName = settings.value("audio-target", "").toString(); settings.endGroup(); @@ -166,7 +169,7 @@ connect(audioDevice, SIGNAL(currentIndexChanged(int)), this, SLOT(audioDeviceChanged(int))); - + */ QComboBox *resampleQuality = new QComboBox; int rsq = prefs->getPropertyRangeAndValue("Resample Quality", &min, &max, @@ -337,8 +340,8 @@ row, 0); subgrid->addWidget(resampleOnLoad, row++, 1, 1, 1); - subgrid->addWidget(new QLabel(tr("Playback audio device:")), row, 0); - subgrid->addWidget(audioDevice, row++, 1, 1, 2); +//!!! subgrid->addWidget(new QLabel(tr("Playback audio device:")), row, 0); +//!!! subgrid->addWidget(audioDevice, row++, 1, 1, 2); subgrid->addWidget(new QLabel(tr("%1:").arg(prefs->getPropertyLabel ("Resample Quality"))), @@ -695,14 +698,14 @@ prefs->setProperty("Octave Numbering System", m_octaveSystem); - std::vector devices = - AudioTargetFactory::getInstance()->getCallbackTargetNames(); +//!!! std::vector devices = +//!!! AudioTargetFactory::getInstance()->getCallbackTargetNames(); QSettings settings; settings.beginGroup("Preferences"); QString permishTag = QString("network-permission-%1").arg(SV_VERSION); settings.setValue(permishTag, m_networkPermission); - settings.setValue("audio-target", devices[m_audioDevice]); +//!!! settings.setValue("audio-target", devices[m_audioDevice]); settings.setValue("locale", m_currentLocale); #ifdef Q_OS_MAC settings.setValue("scaledHiDpi", m_retina); diff -r e517197049bc -r 1f4e40be5aa2 sonic-visualiser.pro --- a/sonic-visualiser.pro Tue Aug 04 16:28:21 2015 +0100 +++ b/sonic-visualiser.pro Tue Aug 04 16:39:40 2015 +0100 @@ -1,5 +1,5 @@ TEMPLATE = subdirs -SUBDIRS = sub_dataquay svcore svgui svapp sub_sv +SUBDIRS = sub_bq sub_dataquay svcore svgui svapp sub_sv !win* { # We should build and run the tests on any platform, @@ -8,6 +8,7 @@ SUBDIRS += svcore/base/test svcore/data/fileio/test svcore/data/model/test } +sub_bq.file = bq.pro sub_sv.file = sv.pro sub_dataquay.file = dataquay/lib.pro diff -r e517197049bc -r 1f4e40be5aa2 sv.pro --- a/sv.pro Tue Aug 04 16:28:21 2015 +0100 +++ b/sv.pro Tue Aug 04 16:39:40 2015 +0100 @@ -23,7 +23,7 @@ CONFIG += release DEFINES += NDEBUG BUILD_RELEASE NO_TIMING - DEFINES += HAVE_BZ2 HAVE_FFTW3 HAVE_FFTW3F HAVE_SNDFILE HAVE_SAMPLERATE HAVE_VAMP HAVE_VAMPHOSTSDK HAVE_RUBBERBAND HAVE_DATAQUAY HAVE_LIBLO HAVE_MAD HAVE_ID3TAG HAVE_PORTAUDIO_2_0 + DEFINES += HAVE_BZ2 HAVE_FFTW3 HAVE_FFTW3F HAVE_SNDFILE HAVE_SAMPLERATE HAVE_VAMP HAVE_VAMPHOSTSDK HAVE_RUBBERBAND HAVE_DATAQUAY HAVE_LIBLO HAVE_MAD HAVE_ID3TAG HAVE_PORTAUDIO LIBS += -lbz2 -lrubberband -lvamp-hostsdk -lfftw3 -lfftw3f -lsndfile -lFLAC -logg -lvorbis -lvorbisenc -lvorbisfile -logg -lmad -lid3tag -lportaudio -lsamplerate -lz -lsord-0 -lserd-0 -llo @@ -43,8 +43,8 @@ linux*:TARGET = sonic-visualiser solaris*:TARGET = sonic-visualiser -DEPENDPATH += . svcore svgui svapp -INCLUDEPATH += . svcore svgui svapp +DEPENDPATH += . bqaudioio svcore svgui svapp +INCLUDEPATH += . bqaudioio svcore svgui svapp TRANSLATIONS += i18n/sonic-visualiser_ru.ts i18n/sonic-visualiser_en_GB.ts i18n/sonic-visualiser_en_US.ts i18n/sonic-visualiser_cs_CZ.ts @@ -56,7 +56,8 @@ 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