diff src/MainWindow.cpp @ 350:fc0c4cfad044

Merge
author Chris Cannam
date Mon, 16 Jun 2014 12:50:44 +0100
parents c66ec7f40acb
children 56109ef020b4 0b08d860081b ffd1a89a68fa
line wrap: on
line diff
--- a/src/MainWindow.cpp	Mon Jun 16 12:50:27 2014 +0100
+++ b/src/MainWindow.cpp	Mon Jun 16 12:50:44 2014 +0100
@@ -835,6 +835,7 @@
     settings.beginGroup("Analyser");
     bool autoAnalyse = settings.value("auto-analysis", true).toBool();
     bool precise = settings.value("precision-analysis", false).toBool();
+    bool lowamp = settings.value("lowamp-analysis", true).toBool();
     settings.endGroup();
 
     action = new QAction(tr("Auto-Analyse &New Audio"), this);
@@ -850,6 +851,14 @@
     action->setChecked(precise);
     connect(action, SIGNAL(triggered()), this, SLOT(precisionAnalysisToggled()));
     menu->addAction(action);
+
+    action = new QAction(tr("&Penalise Soft Pitches"), this);
+    action->setStatusTip(tr("Reduce the likelihood of detecting a pitch when the signal has low amplitude."));
+    action->setCheckable(true);
+    action->setChecked(lowamp);
+    connect(action, SIGNAL(triggered()), this, SLOT(lowampAnalysisToggled()));
+    menu->addAction(action);
+
 }
 
 void
@@ -883,6 +892,22 @@
 }
 
 void
+MainWindow::lowampAnalysisToggled()
+{
+    QAction *a = qobject_cast<QAction *>(sender());
+    if (!a) return;
+
+    bool set = a->isChecked();
+
+    QSettings settings;
+    settings.beginGroup("Analyser");
+    settings.setValue("lowamp-analysis", set);
+    settings.endGroup();
+
+    // don't run analyseNow() automatically -- it's a destructive operation
+}
+
+void
 MainWindow::setupHelpMenu()
 {
     QMenu *menu = menuBar()->addMenu(tr("&Help"));