diff main/PreferencesDialog.cpp @ 1379:a264b51728cf 3.0-integration

Add gapless preference to prefs dialog; much work on audio read tests
author Chris Cannam
date Thu, 01 Dec 2016 17:45:41 +0000
parents 0c6cdcf53641
children 032bf0b11de9
line wrap: on
line diff
--- a/main/PreferencesDialog.cpp	Wed Nov 30 21:02:24 2016 +0000
+++ b/main/PreferencesDialog.cpp	Thu Dec 01 17:45:41 2016 +0000
@@ -224,6 +224,12 @@
     connect(resampleOnLoad, SIGNAL(stateChanged(int)),
             this, SLOT(resampleOnLoadChanged(int)));
 
+    QCheckBox *gaplessMode = new QCheckBox;
+    m_gapless = prefs->getUseGaplessMode();
+    gaplessMode->setCheckState(m_gapless ? Qt::Checked : Qt::Unchecked);
+    connect(gaplessMode, SIGNAL(stateChanged(int)),
+            this, SLOT(gaplessModeChanged(int)));
+
     m_tempDirRootEdit = new QLineEdit;
     QString dir = prefs->getTemporaryDirectoryRoot();
     m_tempDirRoot = dir;
@@ -372,6 +378,11 @@
                        row, 0);
     subgrid->addWidget(resampleOnLoad, row++, 1, 1, 1);
 
+    subgrid->addWidget(new QLabel(tr("%1:").arg(prefs->getPropertyLabel
+                                                ("Use Gapless Mode"))),
+                       row, 0);
+    subgrid->addWidget(gaplessMode, row++, 1, 1, 1);
+
 //!!!    subgrid->addWidget(new QLabel(tr("Playback audio device:")), row, 0);
 //!!!    subgrid->addWidget(audioDevice, row++, 1, 1, 2);
 
@@ -645,6 +656,13 @@
 }
 
 void
+PreferencesDialog::gaplessModeChanged(int state)
+{
+    m_gapless = (state == Qt::Checked);
+    m_applyButton->setEnabled(true);
+}
+
+void
 PreferencesDialog::vampProcessSeparationChanged(int state)
 {
     m_runPluginsInProcess = (state == Qt::Unchecked);
@@ -767,6 +785,7 @@
     prefs->setTuningFrequency(m_tuningFrequency);
     prefs->setResampleQuality(m_resampleQuality);
     prefs->setResampleOnLoad(m_resampleOnLoad);
+    prefs->setUseGaplessMode(m_gapless);
     prefs->setRunPluginsInProcess(m_runPluginsInProcess);
     prefs->setShowSplash(m_showSplash);
     prefs->setTemporaryDirectoryRoot(m_tempDirRoot);