# HG changeset patch # User Chris Cannam # Date 1527236738 -3600 # Node ID acb51ab8fb26cec61b780840bbddf1a51c65c7c6 # Parent b03652cd338fea321e1d60187537944628ae52e3# Parent da678ff18fb05e72ce80ab0e1023673944893242 Merge from default branch diff -r b03652cd338f -r acb51ab8fb26 .appveyor.yml --- a/.appveyor.yml Wed May 23 16:25:15 2018 +0100 +++ b/.appveyor.yml Fri May 25 09:25:38 2018 +0100 @@ -1,3 +1,6 @@ + +image: + - Visual Studio 2017 configuration: - Release @@ -9,13 +12,7 @@ - ps: '"[hostsecurity]" | Out-File -Encoding "ASCII" -Append $env:USERPROFILE\mercurial.ini' - ps: '"code.soundsoftware.ac.uk = code.soundsoftware.ac.uk:fingerprints=sha256:64:75:f6:47:15:de:b4:51:ea:96:e2:f4:8a:f5:53:a5:11:c8:dd:82:73:5d:bd:54:18:cb:c8:9d:10:37:28:85" | Out-File -Encoding "ASCII" -Append $env:USERPROFILE\mercurial.ini' -before_build: - - set QTDIR=C:\Qt\5.8\msvc2015_64 - - set PATH=%PATH%;%QTDIR%\bin;C:\Program Files (x86)\SMLNJ\bin - - repoint install - - qmake -r -tp vc sonic-visualiser.pro - - 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-cpp/vamp-capnp piper/capnp/piper.capnp +build_script: + - deploy\win64\complete-build.bat -build: - project: sonic-visualiser.sln diff -r b03652cd338f -r acb51ab8fb26 .hgignore --- a/.hgignore Wed May 23 16:25:15 2018 +0100 +++ b/.hgignore Fri May 25 09:25:38 2018 +0100 @@ -50,3 +50,5 @@ *.msi *.user glob:.repoint-*.bin +build_win32 +build_win64 diff -r b03652cd338f -r acb51ab8fb26 .travis.yml --- a/.travis.yml Wed May 23 16:25:15 2018 +0100 +++ b/.travis.yml Fri May 25 09:25:38 2018 +0100 @@ -12,7 +12,7 @@ addons: apt: 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 mlton + - 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 before_install: - if [[ "$TRAVIS_OS_NAME" = "osx" ]] ; then brew update ; fi diff -r b03652cd338f -r acb51ab8fb26 base.pri --- a/base.pri Wed May 23 16:25:15 2018 +0100 +++ b/base.pri Fri May 25 09:25:38 2018 +0100 @@ -33,37 +33,3 @@ CONFIG += qt thread warn_on stl rtti exceptions c++11 -include(bq-files.pri) -include(vamp-plugin-sdk-files.pri) -include(svcore/files.pri) -include(capnp-regen.pri) - -DATAQUAY_SOURCES=$$fromfile(dataquay/lib.pro, SOURCES) -DATAQUAY_HEADERS=$$fromfile(dataquay/lib.pro, HEADERS) - -CHECKER_SOURCES=$$fromfile(checker/checker.pri, SOURCES) -CHECKER_HEADERS=$$fromfile(checker/checker.pri, HEADERS) - -CLIENT_HEADERS=$$fromfile(piper-cpp/vamp-client/qt/test.pro, HEADERS) - -for (file, BQ_SOURCES) { SOURCES += $$file } -for (file, BQ_HEADERS) { HEADERS += $$file } - -for (file, VAMP_SOURCES) { SOURCES += $$file } -for (file, VAMP_HEADERS) { HEADERS += $$file } - -for (file, DATAQUAY_SOURCES) { SOURCES += $$sprintf("dataquay/%1", $$file) } -for (file, DATAQUAY_HEADERS) { HEADERS += $$sprintf("dataquay/%1", $$file) } - -for (file, CHECKER_SOURCES) { SOURCES += $$sprintf("checker/%1", $$file) } -for (file, CHECKER_HEADERS) { HEADERS += $$sprintf("checker/%1", $$file) } - -for (file, SVCORE_SOURCES) { SOURCES += $$sprintf("svcore/%1", $$file) } -for (file, SVCORE_HEADERS) { HEADERS += $$sprintf("svcore/%1", $$file) } - -for (file, CLIENT_HEADERS) { - HEADERS += $$sprintf("piper-cpp/vamp-client/qt/%1", $$file) -} - -SOURCES += piper-cpp/vamp-capnp/piper-capnp.cpp - diff -r b03652cd338f -r acb51ab8fb26 base.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/base.pro Fri May 25 09:25:38 2018 +0100 @@ -0,0 +1,56 @@ + +TEMPLATE = lib + +exists(config.pri) { + include(config.pri) +} + +!exists(config.pri) { + include(noconfig.pri) +} + +include(base.pri) + +CONFIG += staticlib +QT += network xml +QT -= gui + +TARGET = base + +OBJECTS_DIR = o +MOC_DIR = o + +include(bq-files.pri) +include(vamp-plugin-sdk-files.pri) +include(svcore/files.pri) +include(capnp-regen.pri) + +DATAQUAY_SOURCES=$$fromfile(dataquay/lib.pro, SOURCES) +DATAQUAY_HEADERS=$$fromfile(dataquay/lib.pro, HEADERS) + +CHECKER_SOURCES=$$fromfile(checker/checker.pri, SOURCES) +CHECKER_HEADERS=$$fromfile(checker/checker.pri, HEADERS) + +CLIENT_HEADERS=$$fromfile(piper-cpp/vamp-client/qt/test.pro, HEADERS) + +for (file, BQ_SOURCES) { SOURCES += $$file } +for (file, BQ_HEADERS) { HEADERS += $$file } + +for (file, VAMP_SOURCES) { SOURCES += $$file } +for (file, VAMP_HEADERS) { HEADERS += $$file } + +for (file, DATAQUAY_SOURCES) { SOURCES += $$sprintf("dataquay/%1", $$file) } +for (file, DATAQUAY_HEADERS) { HEADERS += $$sprintf("dataquay/%1", $$file) } + +for (file, CHECKER_SOURCES) { SOURCES += $$sprintf("checker/%1", $$file) } +for (file, CHECKER_HEADERS) { HEADERS += $$sprintf("checker/%1", $$file) } + +for (file, SVCORE_SOURCES) { SOURCES += $$sprintf("svcore/%1", $$file) } +for (file, SVCORE_HEADERS) { HEADERS += $$sprintf("svcore/%1", $$file) } + +for (file, CLIENT_HEADERS) { + HEADERS += $$sprintf("piper-cpp/vamp-client/qt/%1", $$file) +} + +SOURCES += piper-cpp/vamp-capnp/piper-capnp.cpp + diff -r b03652cd338f -r acb51ab8fb26 config.pri.in --- a/config.pri.in Wed May 23 16:25:15 2018 +0100 +++ b/config.pri.in Fri May 25 09:25:38 2018 +0100 @@ -13,7 +13,7 @@ QMAKE_CXXFLAGS += @CXXFLAGS@ QMAKE_LFLAGS += @LDFLAGS@ -linux*:LIBS += -lasound -ldl +linux*:LIBS += -L$$PWD -lbase -lasound -ldl macx*:DEFINES += HAVE_COREAUDIO macx*:LIBS += -framework CoreAudio -framework CoreMidi -framework AudioUnit -framework AudioToolbox -framework CoreFoundation -framework CoreServices diff -r b03652cd338f -r acb51ab8fb26 deploy/osx/copy-qt.sh --- a/deploy/osx/copy-qt.sh Wed May 23 16:25:15 2018 +0100 +++ b/deploy/osx/copy-qt.sh Fri May 25 09:25:38 2018 +0100 @@ -11,7 +11,7 @@ frameworks="QtCore QtNetwork QtGui QtXml QtSvg QtWidgets QtPrintSupport QtDBus" -plugins="gif icns ico jpeg tga tiff wbmp webp cocoa macstyle minimal offscreen" +plugins="gif icns ico jpeg tga tiff wbmp webp cocoa minimal offscreen" qtdir=$(grep "Command:" Makefile | head -1 | awk '{ print $3; }' | sed s,/bin/.*,,) diff -r b03652cd338f -r acb51ab8fb26 deploy/win32/build.cmd --- a/deploy/win32/build.cmd Wed May 23 16:25:15 2018 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ -@ECHO OFF -SET WIXPATH="C:\Program Files (x86)\WiX Toolset v3.11\bin" -IF NOT EXIST %WIXPATH% ( - SET WIXPATH="C:\Program Files\WiX Toolset v3.11\bin" -) -DEL sonic-visualiser.msi -%WIXPATH%\candle.exe -v sonic-visualiser.wxs -%WIXPATH%\light.exe -b ..\..\..\build-sonic-visualiser-Desktop_Qt_5_10_1_MinGW_32bit-Release -ext WixUIExtension -ext WixUtilExtension -v sonic-visualiser.wixobj -PAUSE -DEL sonic-visualiser.wixobj -DEL sonic-visualiser.wixpdb diff -r b03652cd338f -r acb51ab8fb26 deploy/win32/sonic-visualiser.wxs --- a/deploy/win32/sonic-visualiser.wxs Wed May 23 16:25:15 2018 +0100 +++ b/deploy/win32/sonic-visualiser.wxs Fri May 25 09:25:38 2018 +0100 @@ -35,7 +35,7 @@ + Source="..\deploy\win32\README-Vamp.txt"/> @@ -72,20 +72,20 @@ + Source="..\COPYING"/> + Source="..\README.md"/> + Source="..\CHANGELOG"/> + Source="..\icons/sv-winicon.ico"/> - + - + - - - + + + diff -r b03652cd338f -r acb51ab8fb26 deploy/win64/build.cmd --- a/deploy/win64/build.cmd Wed May 23 16:25:15 2018 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ -@ECHO OFF -SET WIXPATH="C:\Program Files (x86)\WiX Toolset v3.11\bin" -IF NOT EXIST %WIXPATH% ( - SET WIXPATH="C:\Program Files\WiX Toolset v3.11\bin" -) -DEL sonic-visualiser.msi -%WIXPATH%\candle.exe -v sonic-visualiser.wxs -%WIXPATH%\light.exe -b ..\..\..\build-sonic-visualiser-Desktop_Qt_5_10_1_MSVC2017_64bit-Release -ext WixUIExtension -v sonic-visualiser.wixobj -PAUSE -DEL sonic-visualiser.wixobj -DEL sonic-visualiser.wixpdb diff -r b03652cd338f -r acb51ab8fb26 deploy/win64/complete-build.bat --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/deploy/win64/complete-build.bat Fri May 25 09:25:38 2018 +0100 @@ -0,0 +1,102 @@ +rem Run this from within the top-level SV dir: deploy\win64\complete-build.bat +rem To build from clean, delete the folders build_win32 and build_win64 first + +set STARTPWD=%CD% + +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 +) + +set QTDIR32=C:\Qt\5.10.1\mingw53_32 +set QTDIR64=C:\Qt\5.10.1\msvc2017_64 +if not exist %QTDIR32% ( +@ echo Could not find 32-bit Qt +@ exit /b +) +if not exist %QTDIR64% ( +@ echo Could not find 64-bit Qt +@ exit /b +) + +if not exist "C:\Program Files (x86)\SMLNJ\bin" ( +@ echo Could not find SML/NJ, required for Repoint +@ exit /b +) + +if not exist "C:\Program Files (x86)\WiX Toolset v3.11\bin" ( +@ echo Could not find WiX Toolset +@ exit /b +) + +call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64 + +set NONQTPATH=%PATH%;"C:\Program Files (x86)\SMLNJ\bin";"C:\Program Files (x86)\WiX Toolset v3.11\bin" + +cd %STARTPWD% + +call .\repoint install + +set QTDIR=%QTDIR32% +set PATH=%NONQTPATH%;%QTDIR%\bin;C:\Qt\Tools\QtCreator\bin;C:\Qt\Tools\mingw530_32\bin + +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-cpp/vamp-capnp piper/capnp/piper.capnp + +mkdir build_win32 +cd build_win32 + +qmake -r ..\sonic-visualiser.pro + +jom + +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\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 + +del sonic-visualiser.msi +candle -v ..\deploy\win32\sonic-visualiser.wxs +light -b . -ext WixUIExtension -ext WixUtilExtension -v sonic-visualiser.wixobj +del sonic-visualiser.wixobj +del sonic-visualiser.wixpdb + +cd %STARTPWD% + +set QTDIR=%QTDIR64% +set PATH=%NONQTPATH%;%QTDIR%\bin + +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-cpp/vamp-capnp piper/capnp/piper.capnp + +mkdir build_win64 +cd build_win64 + +qmake -r -tp vc ..\sonic-visualiser.pro + +msbuild sonic-visualiser.sln /t:Build /p:Configuration=Release + +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%\plugins\platforms\qminimal.dll .\release +copy %QTDIR%\plugins\platforms\qwindows.dll .\release +copy ..\sv-dependency-builds\win64-msvc\lib\libsndfile-1.dll .\release + +del sonic-visualiser.msi +candle -v ..\deploy\win64\sonic-visualiser.wxs +light -b . -ext WixUIExtension -ext WixUtilExtension -v sonic-visualiser.wixobj +del sonic-visualiser.wixobj +del sonic-visualiser.wixpdb diff -r b03652cd338f -r acb51ab8fb26 deploy/win64/sonic-visualiser.wxs --- a/deploy/win64/sonic-visualiser.wxs Wed May 23 16:25:15 2018 +0100 +++ b/deploy/win64/sonic-visualiser.wxs Fri May 25 09:25:38 2018 +0100 @@ -40,7 +40,7 @@ + Source="..\deploy\win64\README-Vamp.txt"/> @@ -77,20 +77,20 @@ + Source="..\COPYING"/> + Source="..\README.md"/> + Source="..\CHANGELOG"/> + Source="..\icons\sv-winicon.ico"/> @@ -210,19 +210,19 @@ + Source="..\build_win32\release\piper-vamp-simple-server.exe"/> + Source="..\build_win32\release\libgcc_s_dw2-1.dll"/> + Source="..\build_win32\release\libstdc++-6.dll"/> + Source="..\build_win32\release\libwinpthread-1.dll"/> + Source="..\build_win32\release\vamp-plugin-load-checker.exe"/> @@ -253,7 +253,7 @@ + Source="..\deploy\win64\README-Vamp32.txt"/> @@ -303,13 +303,13 @@ - + - + - - + + diff -r b03652cd338f -r acb51ab8fb26 noconfig.pri --- a/noconfig.pri Wed May 23 16:25:15 2018 +0100 +++ b/noconfig.pri Fri May 25 09:25:38 2018 +0100 @@ -30,6 +30,7 @@ # these. LIBS += \ + -lbase \ -lbz2 \ -lrubberband \ -lfftw3 \ @@ -56,9 +57,9 @@ # This config is currently used for 32-bit Windows builds. - INCLUDEPATH += sv-dependency-builds/win32-mingw/include + INCLUDEPATH += $$PWD/sv-dependency-builds/win32-mingw/include - LIBS += -Lrelease -Lsv-dependency-builds/win32-mingw/lib -L../sonic-visualiser/sv-dependency-builds/win32-mingw/lib + LIBS += -Lrelease -L$$PWD/sv-dependency-builds/win32-mingw/lib DEFINES += NOMINMAX _USE_MATH_DEFINES CAPNP_LITE @@ -78,7 +79,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 += sv-dependency-builds/win64-msvc/include + INCLUDEPATH += $$PWD/sv-dependency-builds/win64-msvc/include ## This seems to be intruding even when we're supposed to be release # CONFIG(debug) { @@ -88,7 +89,7 @@ # } CONFIG(release) { LIBS += -Lrelease \ - -L../sonic-visualiser/sv-dependency-builds/win64-msvc/lib + -L$$PWD/sv-dependency-builds/win64-msvc/lib } DEFINES += NOMINMAX _USE_MATH_DEFINES CAPNP_LITE @@ -113,8 +114,8 @@ # All Mac builds are 64-bit these days. - INCLUDEPATH += sv-dependency-builds/osx/include - LIBS += -Lsv-dependency-builds/osx/lib + INCLUDEPATH += $$PWD/sv-dependency-builds/osx/include + LIBS += -L$$PWD/sv-dependency-builds/osx/lib -L$$PWD QMAKE_CXXFLAGS_RELEASE += -O3 -ffast-math diff -r b03652cd338f -r acb51ab8fb26 repoint --- a/repoint Wed May 23 16:25:15 2018 +0100 +++ b/repoint Fri May 25 09:25:38 2018 +0100 @@ -58,7 +58,7 @@ # That is fixed in v5.7.1, so we could promote it up the order # again at some point in future elif echo | poly -v 2>/dev/null | grep -q 'Poly/ML'; then - sml="poly" + sml="polyml" elif mlton 2>&1 | grep -q 'MLton'; then sml="mlton" # MLKit is at the bottom because it leaves compiled files around @@ -109,7 +109,7 @@ done case "$sml" in - poly) + polyml) if [ -n "$local_install" ] && polyc --help >/dev/null 2>&1 ; then if [ ! -x "$gen_out" ]; then polyc -o "$gen_out" "$program" diff -r b03652cd338f -r acb51ab8fb26 repoint.sml --- a/repoint.sml Wed May 23 16:25:15 2018 +0100 +++ b/repoint.sml Fri May 25 09:25:38 2018 +0100 @@ -38,7 +38,7 @@ authorization. *) -val repoint_version = "0.9.98" +val repoint_version = "1.0" datatype vcs = @@ -2625,7 +2625,8 @@ fun usage () = (print "\nRepoint "; version (); - print ("\nA simple manager for third-party source code dependencies.\n\n" + print ("\n A simple manager for third-party source code dependencies.\n" + ^ " http://all-day-breakfast.com/repoint/\n\n" ^ "Usage:\n\n" ^ " repoint \n\n" ^ "where is one of:\n\n" @@ -2633,9 +2634,9 @@ ^ " review check configured libraries against their providers, and report\n" ^ " install update configured libraries according to project specs and lock file\n" ^ " update update configured libraries and lock file according to project specs\n" - ^ " lock update lock file to match local library status\n" - ^ " archive pack up project and all libraries into an archive file\n" - ^ " (invoke as 'repoint archive target-file.tar.gz')\n" + ^ " lock rewrite lock file to match local library status\n" + ^ " archive pack up project and all libraries into an archive file:\n" + ^ " invoke as 'repoint archive targetfile.tar.gz --exclude unwanted.txt'\n" ^ " version print the Repoint version number and exit\n\n"); OS.Process.failure) diff -r b03652cd338f -r acb51ab8fb26 sonic-visualiser.pro --- a/sonic-visualiser.pro Wed May 23 16:25:15 2018 +0100 +++ b/sonic-visualiser.pro Fri May 25 09:25:38 2018 +0100 @@ -1,6 +1,9 @@ TEMPLATE = subdirs +SUBDIRS += \ + sub_base + # We build the tests on every platform, though at the time of # writing they are only automatically run on non-Windows platforms # (because of the difficulty of getting them running nicely in the @@ -16,6 +19,8 @@ sub_convert \ sub_sv +sub_base.file = base.pro + sub_test_svcore_base.file = test-svcore-base.pro sub_test_svcore_data_fileio.file = test-svcore-data-fileio.pro sub_test_svcore_data_model.file = test-svcore-data-model.pro diff -r b03652cd338f -r acb51ab8fb26 sv.pro --- a/sv.pro Wed May 23 16:25:15 2018 +0100 +++ b/sv.pro Fri May 25 09:25:38 2018 +0100 @@ -18,6 +18,7 @@ solaris*:TARGET = sonic-visualiser !win32 { + PRE_TARGETDEPS += $$PWD/libbase.a QMAKE_POST_LINK += cp checker/vamp-plugin-load-checker . }