# HG changeset patch # User Chris Cannam # Date 1528724576 -3600 # Node ID 8c4df1f3fef702b03f9719f142c770272033a78c # Parent 4af1e71eaa3f17bab11c379ce7dd73c6d379601a# Parent d167d3a100d516c2cf822d14398a2d56d8c9ba1a Merge from branch plugin-path-config diff -r 4af1e71eaa3f -r 8c4df1f3fef7 deploy/win64/build-32.bat --- a/deploy/win64/build-32.bat Thu Jun 07 14:56:37 2018 +0100 +++ b/deploy/win64/build-32.bat Mon Jun 11 14:42:56 2018 +0100 @@ -37,10 +37,16 @@ copy %QTDIR%\bin\Qt5Network.dll .\release copy %QTDIR%\bin\Qt5Xml.dll .\release copy %QTDIR%\bin\Qt5Svg.dll .\release +copy %QTDIR%\bin\Qt5Test.dll .\release copy %QTDIR%\bin\libgcc_s_dw2-1.dll .\release copy %QTDIR%\bin\"libstdc++-6.dll" .\release copy %QTDIR%\bin\libwinpthread-1.dll .\release copy %QTDIR%\plugins\platforms\qminimal.dll .\release copy %QTDIR%\plugins\platforms\qwindows.dll .\release +.\release\test-svcore-base +.\release\test-svcore-system +.\release\test-svcore-data-fileio +.\release\test-svcore-data-model + set PATH=%ORIGINALPATH% diff -r 4af1e71eaa3f -r 8c4df1f3fef7 deploy/win64/build-64.bat --- a/deploy/win64/build-64.bat Thu Jun 07 14:56:37 2018 +0100 +++ b/deploy/win64/build-64.bat Mon Jun 11 14:42:56 2018 +0100 @@ -46,8 +46,14 @@ copy %QTDIR%\bin\Qt5Network.dll .\release copy %QTDIR%\bin\Qt5Xml.dll .\release copy %QTDIR%\bin\Qt5Svg.dll .\release +copy %QTDIR%\bin\Qt5Test.dll .\release copy %QTDIR%\plugins\platforms\qminimal.dll .\release copy %QTDIR%\plugins\platforms\qwindows.dll .\release copy ..\sv-dependency-builds\win64-msvc\lib\libsndfile-1.dll .\release +.\release\test-svcore-base +.\release\test-svcore-system +.\release\test-svcore-data-fileio +.\release\test-svcore-data-model + set PATH=%ORIGINALPATH% diff -r 4af1e71eaa3f -r 8c4df1f3fef7 main/MainWindow.cpp --- a/main/MainWindow.cpp Thu Jun 07 14:56:37 2018 +0100 +++ b/main/MainWindow.cpp Mon Jun 11 14:42:56 2018 +0100 @@ -3544,7 +3544,6 @@ if (m_preferencesDialog && m_preferencesDialog->isVisible()) { - closeSession(); // otherwise we'll have to wait for prefs changes m_preferencesDialog->applicationClosing(true); } diff -r 4af1e71eaa3f -r 8c4df1f3fef7 main/PreferencesDialog.cpp --- a/main/PreferencesDialog.cpp Thu Jun 07 14:56:37 2018 +0100 +++ b/main/PreferencesDialog.cpp Mon Jun 11 14:42:56 2018 +0100 @@ -40,6 +40,8 @@ #include "widgets/IconLoader.h" #include "widgets/ColourMapComboBox.h" #include "widgets/ColourComboBox.h" +#include "widgets/PluginPathConfigurator.h" +#include "widgets/WidgetScale.h" #include "base/Preferences.h" #include "base/ResourceFinder.h" #include "layer/ColourMapper.h" @@ -276,7 +278,7 @@ tempDirButton->setIcon(IconLoader().load("fileopen")); connect(tempDirButton, SIGNAL(clicked()), this, SLOT(tempDirButtonClicked())); - tempDirButton->setFixedSize(QSize(24, 24)); + tempDirButton->setFixedSize(WidgetScale::scaleQSize(QSize(24, 24))); QCheckBox *showSplash = new QCheckBox; m_showSplash = prefs->getShowSplash(); @@ -576,7 +578,17 @@ m_tabOrdering[AudioIOTab] = m_tabs->count(); m_tabs->addTab(frame, tr("A&udio I/O")); - + + // Plugins tab + + m_pluginPathConfigurator = new PluginPathConfigurator(this); + m_pluginPathConfigurator->setPaths(PluginPathSetter::getPaths()); + connect(m_pluginPathConfigurator, SIGNAL(pathsChanged()), + this, SLOT(pluginPathsChanged())); + + m_tabOrdering[PluginTab] = m_tabs->count(); + m_tabs->addTab(m_pluginPathConfigurator, tr("&Plugins")); + // General tab frame = new QFrame; @@ -904,6 +916,13 @@ } void +PreferencesDialog::pluginPathsChanged() +{ + m_applyButton->setEnabled(true); + m_changesOnRestart = true; +} + +void PreferencesDialog::okClicked() { applyClicked(); @@ -1005,6 +1024,8 @@ emit coloursChanged(); m_coloursChanged = false; } + + PluginPathSetter::savePathSettings(m_pluginPathConfigurator->getPaths()); } void diff -r 4af1e71eaa3f -r 8c4df1f3fef7 main/PreferencesDialog.h --- a/main/PreferencesDialog.h Thu Jun 07 14:56:37 2018 +0100 +++ b/main/PreferencesDialog.h Mon Jun 11 14:42:56 2018 +0100 @@ -13,8 +13,8 @@ COPYING included with this distribution for more information. */ -#ifndef _PREFERENCES_DIALOG_H_ -#define _PREFERENCES_DIALOG_H_ +#ifndef SV_PREFERENCES_DIALOG_H +#define SV_PREFERENCES_DIALOG_H #include #include @@ -27,6 +27,7 @@ class QLineEdit; class QTabWidget; class QComboBox; +class PluginPathConfigurator; class PreferencesDialog : public QDialog { @@ -41,7 +42,8 @@ AudioIOTab, AppearanceTab, AnalysisTab, - TemplateTab + TemplateTab, + PluginTab }; void switchToTab(Tab tab); @@ -79,6 +81,7 @@ void localeChanged(int); void networkPermissionChanged(int state); void retinaChanged(int state); + void pluginPathsChanged(); void tempDirButtonClicked(); @@ -98,6 +101,8 @@ QComboBox *m_audioPlaybackDeviceCombo; QComboBox *m_audioRecordDeviceCombo; void rebuildDeviceCombos(); + + PluginPathConfigurator *m_pluginPathConfigurator; QString m_currentTemplate; QStringList m_templates; diff -r 4af1e71eaa3f -r 8c4df1f3fef7 main/main.cpp --- a/main/main.cpp Thu Jun 07 14:56:37 2018 +0100 +++ b/main/main.cpp Mon Jun 11 14:42:56 2018 +0100 @@ -24,9 +24,10 @@ #include "data/fileio/FileSource.h" #include "widgets/TipDialog.h" #include "widgets/InteractiveFileFinder.h" -#include "svapp/framework/TransformUserConfigurator.h" +#include "framework/TransformUserConfigurator.h" #include "transform/TransformFactory.h" -#include "svcore/plugin/PluginScan.h" +#include "plugin/PluginScan.h" +#include "plugin/PluginPathSetter.h" #include #include @@ -300,6 +301,8 @@ } settings.endGroup(); + PluginPathSetter::initialiseEnvironmentVariables(); + QIcon icon; int sizes[] = { 16, 22, 24, 32, 48, 64, 128 }; for (int i = 0; i < int(sizeof(sizes)/sizeof(sizes[0])); ++i) { diff -r 4af1e71eaa3f -r 8c4df1f3fef7 repoint-lock.json --- a/repoint-lock.json Thu Jun 07 14:56:37 2018 +0100 +++ b/repoint-lock.json Mon Jun 11 14:42:56 2018 +0100 @@ -1,19 +1,19 @@ { "libraries": { "vamp-plugin-sdk": { - "pin": "328cb056da44" + "pin": "da86fb0bccb3" }, "svcore": { - "pin": "7d9b537b6a1e" + "pin": "7459f4c4d7c3" }, "svgui": { - "pin": "51e6125627fa" + "pin": "91670e4e76a6" }, "svapp": { - "pin": "7da68349a0c5" + "pin": "ca96a514fbbb" }, "checker": { - "pin": "cf18645ff411" + "pin": "ae74d39e9e4e" }, "piper": { "pin": "dde809643316e7bb606fc14d66e55f07059bcf36" @@ -40,7 +40,7 @@ "pin": "a69c1527268d" }, "icons/scalable": { - "pin": "42521013b9b1" + "pin": "1c6516ba7fc1" } } } diff -r 4af1e71eaa3f -r 8c4df1f3fef7 sonic-visualiser.pro --- a/sonic-visualiser.pro Thu Jun 07 14:56:37 2018 +0100 +++ b/sonic-visualiser.pro Mon Jun 11 14:42:56 2018 +0100 @@ -10,6 +10,7 @@ # IDE without causing great confusion if a test fails). SUBDIRS += \ sub_test_svcore_base \ + sub_test_svcore_system \ sub_test_svcore_data_fileio \ sub_test_svcore_data_model @@ -22,6 +23,7 @@ sub_base.file = base.pro sub_test_svcore_base.file = test-svcore-base.pro +sub_test_svcore_system.file = test-svcore-system.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 4af1e71eaa3f -r 8c4df1f3fef7 sonic-visualiser.qrc --- a/sonic-visualiser.qrc Thu Jun 07 14:56:37 2018 +0100 +++ b/sonic-visualiser.qrc Mon Jun 11 14:42:56 2018 +0100 @@ -37,6 +37,7 @@ icons/scalable/playselection.svg icons/scalable/playfollow.svg icons/scalable/play.svg + icons/scalable/plus.svg icons/scalable/record.svg icons/scalable/redo.svg icons/scalable/regions.svg diff -r 4af1e71eaa3f -r 8c4df1f3fef7 test-svcore-system.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-svcore-system.pro Mon Jun 11 14:42:56 2018 +0100 @@ -0,0 +1,33 @@ + +TEMPLATE = app + +exists(config.pri) { + include(config.pri) +} + +!exists(config.pri) { + include(noconfig.pri) +} + +include(base.pri) + +CONFIG += console +QT += network xml testlib +QT -= gui + +win32-x-g++:QMAKE_LFLAGS += -Wl,-subsystem,console +macx*: CONFIG -= app_bundle + +TARGET = test-svcore-system + +OBJECTS_DIR = o +MOC_DIR = o + +include(svcore/system/test/files.pri) + +for (file, TEST_SOURCES) { SOURCES += $$sprintf("svcore/system/test/%1", $$file) } +for (file, TEST_HEADERS) { HEADERS += $$sprintf("svcore/system/test/%1", $$file) } + +!win32* { + QMAKE_POST_LINK = ./$${TARGET} +}