Mercurial > hg > tony
changeset 350:fc0c4cfad044
Merge
author | Chris Cannam |
---|---|
date | Mon, 16 Jun 2014 12:50:44 +0100 |
parents | ff00432761ce (current diff) c66ec7f40acb (diff) |
children | dc3412006b73 |
files | .hgsubstate src/Analyser.cpp |
diffstat | 4 files changed, 39 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgsubstate Mon Jun 16 12:50:27 2014 +0100 +++ b/.hgsubstate Mon Jun 16 12:50:44 2014 +0100 @@ -1,6 +1,6 @@ e32a354434aa5fa7440efa17b716aacd761049fa chp 236814e07bd07473958c1ff89103124536a0c3c8 dataquay -27eee0f7a4f66b3dc39bc3c83d9c3f93f3845cc1 pyin +062f0e49187789937b6162d2904b1af20872ed5e pyin 553a5f65ef64811747a6613f759622d655db63c1 sv-dependency-builds f5c914661f6fdc7f05c2c980b0d21350d5933428 svapp 3efc20c59a947a137ed7fc715b2a3b0de6c02200 svcore
--- a/src/Analyser.cpp Mon Jun 16 12:50:27 2014 +0100 +++ b/src/Analyser.cpp Mon Jun 16 12:50:44 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 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"));
--- a/src/MainWindow.h Mon Jun 16 12:50:27 2014 +0100 +++ b/src/MainWindow.h Mon Jun 16 12:50:44 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();