# HG changeset patch # User Chris Cannam # Date 1528204845 -3600 # Node ID 8d78c9ac58359b8057dbe2ac86a8dfe37302b66b # Parent 36e5cbe6a16f9d6d22c2497845166bab863883db# Parent fdcd956b5d3241153ece4fc667ce1802f9848fd7 Merge from default branch diff -r fdcd956b5d32 -r 8d78c9ac5835 main/MainWindow.cpp --- a/main/MainWindow.cpp Tue Jun 05 13:32:28 2018 +0100 +++ b/main/MainWindow.cpp Tue Jun 05 14:20:45 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 fdcd956b5d32 -r 8d78c9ac5835 main/PreferencesDialog.cpp --- a/main/PreferencesDialog.cpp Tue Jun 05 13:32:28 2018 +0100 +++ b/main/PreferencesDialog.cpp Tue Jun 05 14:20:45 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 fdcd956b5d32 -r 8d78c9ac5835 main/PreferencesDialog.h --- a/main/PreferencesDialog.h Tue Jun 05 13:32:28 2018 +0100 +++ b/main/PreferencesDialog.h Tue Jun 05 14:20:45 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 fdcd956b5d32 -r 8d78c9ac5835 main/main.cpp --- a/main/main.cpp Tue Jun 05 13:32:28 2018 +0100 +++ b/main/main.cpp Tue Jun 05 14:20:45 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 fdcd956b5d32 -r 8d78c9ac5835 repoint-lock.json --- a/repoint-lock.json Tue Jun 05 13:32:28 2018 +0100 +++ b/repoint-lock.json Tue Jun 05 14:20:45 2018 +0100 @@ -4,10 +4,10 @@ "pin": "328cb056da44" }, "svcore": { - "pin": "7d9b537b6a1e" + "pin": "f52bf66b9096" }, "svgui": { - "pin": "51e6125627fa" + "pin": "9f9a7edd7d89" }, "svapp": { "pin": "7da68349a0c5" @@ -40,7 +40,7 @@ "pin": "a69c1527268d" }, "icons/scalable": { - "pin": "42521013b9b1" + "pin": "1c6516ba7fc1" } } } diff -r fdcd956b5d32 -r 8d78c9ac5835 repoint-project.json --- a/repoint-project.json Tue Jun 05 13:32:28 2018 +0100 +++ b/repoint-project.json Tue Jun 05 14:20:45 2018 +0100 @@ -16,11 +16,13 @@ }, "svcore": { "vcs": "hg", - "service": "soundsoftware" + "service": "soundsoftware", + "branch": "plugin-path-config" }, "svgui": { "vcs": "hg", - "service": "soundsoftware" + "service": "soundsoftware", + "branch": "plugin-path-config" }, "svapp": { "vcs": "hg", diff -r fdcd956b5d32 -r 8d78c9ac5835 sonic-visualiser.qrc --- a/sonic-visualiser.qrc Tue Jun 05 13:32:28 2018 +0100 +++ b/sonic-visualiser.qrc Tue Jun 05 14:20:45 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