# HG changeset patch # User Chris Cannam # Date 1548940648 0 # Node ID a7da61b09a593f25e2cf810b0262a9ea00c518b9 # Parent d25951da2422f959c79895012c23cb7d070951fd# Parent 07e957f5d3d8a5fbe7f6a59b473fa31886358e0f Merge from branch rubberband-static. This actually undoes the source inclusion of Rubber Band and just switches to static linkage for the .deb package. diff -r d25951da2422 -r a7da61b09a59 base.pri --- a/base.pri Wed Jan 30 15:00:48 2019 +0000 +++ b/base.pri Thu Jan 31 13:17:28 2019 +0000 @@ -20,9 +20,7 @@ svcore/plugin/api/alsa \ svgui \ svapp \ - vamp-plugin-sdk \ - rubberband \ - rubberband/src + vamp-plugin-sdk DEPENDPATH += $$SV_INCLUDEPATH INCLUDEPATH += $$SV_INCLUDEPATH @@ -36,8 +34,4 @@ # Defines for Dataquay DEFINES += USE_SORD -# Defines for Rubber Band -linux*: DEFINES += USE_PTHREADS -macx*: DEFINES += USE_PTHREADS - CONFIG += qt thread warn_on stl rtti exceptions diff -r d25951da2422 -r a7da61b09a59 bq-files.pri --- a/bq-files.pri Wed Jan 30 15:00:48 2019 +0000 +++ b/bq-files.pri Thu Jan 31 13:17:28 2019 +0000 @@ -27,8 +27,7 @@ bqaudiostream/bqaudiostream/AudioReadStream.h \ bqaudiostream/bqaudiostream/AudioReadStreamFactory.h \ bqaudiostream/bqaudiostream/Exceptions.h \ - bqthingfactory/bqthingfactory/ThingFactory.h \ - rubberband/rubberband/RubberBandStretcher.h + bqthingfactory/bqthingfactory/ThingFactory.h BQ_SOURCES += \ bqvec/src/Allocators.cpp \ @@ -46,6 +45,5 @@ bqaudioio/src/SystemRecordSource.cpp \ bqaudiostream/src/AudioReadStream.cpp \ bqaudiostream/src/AudioReadStreamFactory.cpp \ - bqaudiostream/src/AudioStreamExceptions.cpp \ - rubberband-all.cpp + bqaudiostream/src/AudioStreamExceptions.cpp diff -r d25951da2422 -r a7da61b09a59 configure --- a/configure Wed Jan 30 15:00:48 2019 +0000 +++ b/configure Thu Jan 31 13:17:28 2019 +0000 @@ -658,6 +658,8 @@ serd_CFLAGS sord_LIBS sord_CFLAGS +rubberband_LIBS +rubberband_CFLAGS libsamplerate_LIBS libsamplerate_CFLAGS sndfile_LIBS @@ -758,6 +760,8 @@ sndfile_LIBS libsamplerate_CFLAGS libsamplerate_LIBS +rubberband_CFLAGS +rubberband_LIBS sord_CFLAGS sord_LIBS serd_CFLAGS @@ -1427,6 +1431,10 @@ C compiler flags for libsamplerate, overriding pkg-config libsamplerate_LIBS linker flags for libsamplerate, overriding pkg-config + rubberband_CFLAGS + C compiler flags for rubberband, overriding pkg-config + rubberband_LIBS + linker flags for rubberband, overriding pkg-config sord_CFLAGS C compiler flags for sord, overriding pkg-config sord_LIBS linker flags for sord, overriding pkg-config serd_CFLAGS C compiler flags for serd, overriding pkg-config @@ -5275,6 +5283,157 @@ fi +SV_MODULE_MODULE=rubberband +SV_MODULE_VERSION_TEST="rubberband" +SV_MODULE_HEADER=rubberband/RubberBandStretcher.h +SV_MODULE_LIB=rubberband +SV_MODULE_FUNC=rubberband_new +SV_MODULE_HAVE=HAVE_$(echo rubberband | tr 'a-z' 'A-Z') +SV_MODULE_FAILED=1 +if test -n "$rubberband_LIBS" ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: User set ${SV_MODULE_MODULE}_LIBS explicitly, skipping test for $SV_MODULE_MODULE" >&5 +$as_echo "$as_me: User set ${SV_MODULE_MODULE}_LIBS explicitly, skipping test for $SV_MODULE_MODULE" >&6;} + CXXFLAGS="$CXXFLAGS $rubberband_CFLAGS" + LIBS="$LIBS $rubberband_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 rubberband" >&5 +$as_echo_n "checking for rubberband... " >&6; } + +if test -n "$rubberband_CFLAGS"; then + pkg_cv_rubberband_CFLAGS="$rubberband_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$SV_MODULE_VERSION_TEST\""; } >&5 + ($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_rubberband_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 "$rubberband_LIBS"; then + pkg_cv_rubberband_LIBS="$rubberband_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$SV_MODULE_VERSION_TEST\""; } >&5 + ($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_rubberband_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 + rubberband_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1` + else + rubberband_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$SV_MODULE_VERSION_TEST" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$rubberband_PKG_ERRORS" >&5 + + { $as_echo "$as_me:${as_lineno-$LINENO}: Failed to find required module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&5 +$as_echo "$as_me: Failed to find required module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&6;} +elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: Failed to find required module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&5 +$as_echo "$as_me: Failed to find required module $SV_MODULE_MODULE using pkg-config, trying again by old-fashioned means" >&6;} +else + rubberband_CFLAGS=$pkg_cv_rubberband_CFLAGS + rubberband_LIBS=$pkg_cv_rubberband_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + HAVES="$HAVES $SV_MODULE_HAVE";CXXFLAGS="$CXXFLAGS $rubberband_CFLAGS";LIBS="$LIBS $rubberband_LIBS";SV_MODULE_FAILED="" +fi +fi +if test -n "$SV_MODULE_FAILED"; then + as_ac_Header=`$as_echo "ac_cv_header_$SV_MODULE_HEADER" | $as_tr_sh` +ac_fn_cxx_check_header_mongrel "$LINENO" "$SV_MODULE_HEADER" "$as_ac_Header" "$ac_includes_default" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + HAVES="$HAVES $SV_MODULE_HAVE" +else + as_fn_error $? "Failed to find header $SV_MODULE_HEADER for required module $SV_MODULE_MODULE" "$LINENO" 5 +fi + + + if test -n "$SV_MODULE_LIB"; then + as_ac_Lib=`$as_echo "ac_cv_lib_$SV_MODULE_LIB''_$SV_MODULE_FUNC" | $as_tr_sh` +{ $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_fn_error $? "Failed to find library $SV_MODULE_LIB for required module $SV_MODULE_MODULE" "$LINENO" 5 +fi + + fi +fi + + SV_MODULE_MODULE=sord SV_MODULE_VERSION_TEST="sord-0 >= 0.5" SV_MODULE_HEADER=sord/sord.h diff -r d25951da2422 -r a7da61b09a59 configure.ac --- a/configure.ac Wed Jan 30 15:00:48 2019 +0000 +++ b/configure.ac Thu Jan 31 13:17:28 2019 +0000 @@ -94,6 +94,7 @@ 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([libsamplerate],[samplerate >= 0.1.2],[samplerate.h],[samplerate],[src_new]) +SV_MODULE_REQUIRED([rubberband],[rubberband],[rubberband/RubberBandStretcher.h],[rubberband],[rubberband_new]) SV_MODULE_REQUIRED([sord],[sord-0 >= 0.5],[sord/sord.h],[sord-0],[sord_world_new]) SV_MODULE_REQUIRED([serd],[serd-0 >= 0.5],[serd/serd.h],[serd-0],[serd_reader_read_file]) diff -r d25951da2422 -r a7da61b09a59 deploy/linux/docker/Dockerfile_deb.in --- a/deploy/linux/docker/Dockerfile_deb.in Wed Jan 30 15:00:48 2019 +0000 +++ b/deploy/linux/docker/Dockerfile_deb.in Thu Jan 31 13:17:28 2019 +0000 @@ -53,6 +53,8 @@ RUN echo '{"accounts": {"bitbucket": "cannam"}}' > .repoint.json RUN ( echo '[ui]' ; echo 'ssh = ssh -i /root/.ssh/id_dsa_build' ) > .hgrc +RUN rm -f /usr/lib/x86_64-linux-gnu/librubberband.so* + WORKDIR /sonic-visualiser RUN ./configure RUN make -j3 diff -r d25951da2422 -r a7da61b09a59 noconfig.pri --- a/noconfig.pri Wed Jan 30 15:00:48 2019 +0000 +++ b/noconfig.pri Thu Jan 31 13:17:28 2019 +0000 @@ -33,6 +33,7 @@ LIBS += \ -lbase \ -lbz2 \ + -lrubberband \ -lfftw3 \ -lfftw3f \ -lsndfile \ diff -r d25951da2422 -r a7da61b09a59 repoint-lock.json --- a/repoint-lock.json Wed Jan 30 15:00:48 2019 +0000 +++ b/repoint-lock.json Thu Jan 31 13:17:28 2019 +0000 @@ -42,9 +42,6 @@ "bqthingfactory": { "pin": "7686116dcdd5" }, - "rubberband": { - "pin": "6990f06c9f49" - }, "sv-dependency-builds": { "pin": "2f2b27544483" }, diff -r d25951da2422 -r a7da61b09a59 repoint-project.json --- a/repoint-project.json Wed Jan 30 15:00:48 2019 +0000 +++ b/repoint-project.json Thu Jan 31 13:17:28 2019 +0000 @@ -76,11 +76,6 @@ "service": "bitbucket", "owner": "breakfastquay" }, - "rubberband": { - "vcs": "hg", - "service": "bitbucket", - "owner": "breakfastquay" - }, "sv-dependency-builds": { "vcs": "hg", "service": "soundsoftware" diff -r d25951da2422 -r a7da61b09a59 rubberband-all.cpp --- a/rubberband-all.cpp Wed Jan 30 15:00:48 2019 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,42 +0,0 @@ - -#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" -#include "rubberband/src/StretchCalculator.cpp" -#include "rubberband/src/dsp/AudioCurveCalculator.cpp" -#include "rubberband/src/base/Profiler.cpp" -#include "rubberband/src/audiocurves/CompoundAudioCurve.cpp" -#include "rubberband/src/audiocurves/SpectralDifferenceAudioCurve.cpp" -#include "rubberband/src/audiocurves/HighFrequencyAudioCurve.cpp" -#include "rubberband/src/audiocurves/SilentAudioCurve.cpp" -#include "rubberband/src/audiocurves/ConstantAudioCurve.cpp" -#include "rubberband/src/audiocurves/PercussiveAudioCurve.cpp" -#include "rubberband/src/dsp/Resampler.cpp" -#include "rubberband/src/dsp/FFT.cpp" -#include "rubberband/src/system/Allocators.cpp" -#include "rubberband/src/system/sysutils.cpp" -#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" - -