Mercurial > hg > tony
changeset 345:f3a9e4abec1b
added low amplitude suppression toggle to analysis menu
author | matthiasm |
---|---|
date | Mon, 16 Jun 2014 12:24:52 +0100 |
parents | 6f545a46746b |
children | 65907d91f328 |
files | .hgsubstate src/Analyser.cpp src/MainWindow.cpp src/MainWindow.h |
diffstat | 4 files changed, 39 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgsubstate Mon Jun 16 11:44:14 2014 +0100 +++ b/.hgsubstate Mon Jun 16 12:24:52 2014 +0100 @@ -1,6 +1,6 @@ e32a354434aa5fa7440efa17b716aacd761049fa chp 236814e07bd07473958c1ff89103124536a0c3c8 dataquay -27eee0f7a4f66b3dc39bc3c83d9c3f93f3845cc1 pyin +062f0e49187789937b6162d2904b1af20872ed5e pyin 553a5f65ef64811747a6613f759622d655db63c1 sv-dependency-builds f5c914661f6fdc7f05c2c980b0d21350d5933428 svapp 85879408f6657f4076d73839d590c9fb80b78e73 svcore
--- a/src/Analyser.cpp Mon Jun 16 11:44:14 2014 +0100 +++ b/src/Analyser.cpp Mon Jun 16 12:24:52 2014 +0100 @@ -355,6 +355,10 @@ bool precise = settings.value("precision-analysis", false).toBool(); settings.endGroup(); + settings.beginGroup("Analyser"); + bool lowamp = settings.value("lowamp-analysis", false).toBool(); + settings.endGroup(); + Transform t = tf->getDefaultTransformFor (base + f0out, m_fileModel->getSampleRate()); t.setStepSize(256); @@ -368,6 +372,14 @@ t.setParameter("precisetime", 0); } + if (lowamp) { + cerr << "setting parameters for lowamp suppression" << endl; + t.setParameter("lowampsuppression", 0.2f); + } else { + cerr << "setting parameters for no lowamp suppression" << endl; + t.setParameter("lowampsuppression", 0.0f); + } + transforms.push_back(t); t.setOutput(noteout);
--- a/src/MainWindow.cpp Mon Jun 16 11:44:14 2014 +0100 +++ b/src/MainWindow.cpp Mon Jun 16 12:24:52 2014 +0100 @@ -828,6 +828,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); @@ -843,6 +844,14 @@ action->setChecked(precise); connect(action, SIGNAL(triggered()), this, SLOT(precisionAnalysisToggled())); menu->addAction(action); + + action = new QAction(tr("&Suppress Detection at Low Amplitude"), 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 @@ -876,6 +885,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"));
--- a/src/MainWindow.h Mon Jun 16 11:44:14 2014 +0100 +++ b/src/MainWindow.h Mon Jun 16 12:24:52 2014 +0100 @@ -84,6 +84,7 @@ virtual void analyseNow(); virtual void autoAnalysisToggled(); virtual void precisionAnalysisToggled(); + virtual void lowampAnalysisToggled(); virtual void doubleClickSelectInvoked(size_t); virtual void abandonSelection();