changeset 1275:5a1a3538ff4e piper

Add out-of-process execution to prefs dialog Also, scale the window shape preview labels 'cos they look funny
author Chris Cannam
date Fri, 21 Oct 2016 14:40:48 +0100 (2016-10-21)
parents aa53e986585e
children 0c6cdcf53641
files .hgsubstate main/PreferencesDialog.cpp main/PreferencesDialog.h
diffstat 3 files changed, 23 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/.hgsubstate	Fri Oct 21 11:59:14 2016 +0100
+++ b/.hgsubstate	Fri Oct 21 14:40:48 2016 +0100
@@ -9,5 +9,5 @@
 d93140aac40bbc35361c32ddc9cae42038e9c05f sv-dependency-builds
 7a3fa603190e50a8da656cfa1aeb109375085548 svapp
 ba16388b937dd99e7ab62ec912e2786128b5ced3 svcore
-c5a82068bd6083596328bf0694928247ec6ec258 svgui
+07e8ac88bccefdf1a6d55e9c6ebb3fb8efb318ce svgui
 af4a1522ef1585686d3d2d9bc9433588f88f4ccc vamp-plugin-sdk
--- a/main/PreferencesDialog.cpp	Fri Oct 21 11:59:14 2016 +0100
+++ b/main/PreferencesDialog.cpp	Fri Oct 21 14:40:48 2016 +0100
@@ -80,6 +80,13 @@
     connect(m_windowTypeSelector, SIGNAL(windowTypeChanged(WindowType)),
             this, SLOT(windowTypeChanged(WindowType)));
 
+    QCheckBox *vampProcessSeparation = new QCheckBox;
+    m_runPluginsInProcess = prefs->getRunPluginsInProcess();
+    vampProcessSeparation->setCheckState(m_runPluginsInProcess ? Qt::Unchecked :
+                                         Qt::Checked);
+    connect(vampProcessSeparation, SIGNAL(stateChanged(int)),
+            this, SLOT(vampProcessSeparationChanged(int)));
+    
     QComboBox *smoothing = new QComboBox;
     
     int sm = prefs->getPropertyRangeAndValue("Spectrogram Y Smoothing", &min, &max,
@@ -472,8 +479,13 @@
                                                 ("Window Type"))),
                        row, 0);
     subgrid->addWidget(m_windowTypeSelector, row++, 1, 2, 2);
+
     subgrid->setRowStretch(row, 10);
     row++;
+
+    subgrid->addWidget(new QLabel(tr("Run Vamp plugins in separate process:")),
+                       row, 0);
+    subgrid->addWidget(vampProcessSeparation, row++, 1, 1, 1);
     
     subgrid->setRowStretch(row, 10);
     
@@ -633,6 +645,14 @@
 }
 
 void
+PreferencesDialog::vampProcessSeparationChanged(int state)
+{
+    m_runPluginsInProcess = (state == Qt::Unchecked);
+    m_applyButton->setEnabled(true);
+    m_changesOnRestart = true;
+}
+
+void
 PreferencesDialog::networkPermissionChanged(int state)
 {
     m_networkPermission = (state == Qt::Checked);
--- a/main/PreferencesDialog.h	Fri Oct 21 11:59:14 2016 +0100
+++ b/main/PreferencesDialog.h	Fri Oct 21 14:40:48 2016 +0100
@@ -57,6 +57,7 @@
     void audioDeviceChanged(int device);
     void resampleQualityChanged(int quality);
     void resampleOnLoadChanged(int state);
+    void vampProcessSeparationChanged(int state);
     void tempDirRootChanged(QString root);
     void backgroundModeChanged(int mode);
     void timeToTextModeChanged(int mode);
@@ -101,6 +102,7 @@
     int m_audioDevice;
     int m_resampleQuality;
     bool m_resampleOnLoad;
+    bool m_runPluginsInProcess;
     bool m_networkPermission;
     bool m_retina;
     QString m_tempDirRoot;