# HG changeset patch # User Chris Cannam # Date 1402664808 -3600 # Node ID 8a884e1e39129eab74170d07b7fa31d1cf5d0bff # Parent f48bf05409f52c0a5f565870035ef1839b7faf39 Wire up analysis menu functions to (stub) slots and (real) settings diff -r f48bf05409f5 -r 8a884e1e3912 src/MainWindow.cpp --- a/src/MainWindow.cpp Fri Jun 13 13:51:25 2014 +0100 +++ b/src/MainWindow.cpp Fri Jun 13 14:06:48 2014 +0100 @@ -817,22 +817,59 @@ action = new QAction(tr("&Analyse now"), this); action->setShortcut(tr("Ctrl+P")); action->setStatusTip(tr("Analyse audio now to extract pitches and notes. (This will delete all existing pitches and notes.)")); + connect(action, SIGNAL(triggered()), this, SLOT(analyseNow())); menu->addAction(action); m_keyReference->registerShortcut(action); menu->addSeparator(); + QSettings settings; + settings.beginGroup("Analyser"); + bool autoAnalyse = settings.value("auto-analysis", true).toBool(); + bool precise = settings.value("precision-analysis", false).toBool(); + settings.endGroup(); + action = new QAction(tr("Automatically Analyse &New Audio"), this); action->setCheckable(true); - action->setChecked(true); + action->setChecked(autoAnalyse); + connect(action, SIGNAL(triggered()), this, SLOT(autoAnalysisToggled())); menu->addAction(action); action = new QAction(tr("Analyse &Without Frequency-dependent Timing Bias (slow)"), this); action->setCheckable(true); - action->setChecked(false); - + action->setChecked(precise); + connect(action, SIGNAL(triggered()), this, SLOT(precisionAnalysisToggled())); menu->addAction(action); - +} + +void +MainWindow::autoAnalysisToggled() +{ + QAction *a = qobject_cast(sender()); + if (!a) return; + + bool set = a->isChecked(); + + QSettings settings; + settings.beginGroup("Analyser"); + settings.setValue("auto-analysis", set); + settings.endGroup(); +} + +void +MainWindow::precisionAnalysisToggled() +{ + QAction *a = qobject_cast(sender()); + if (!a) return; + + bool set = a->isChecked(); + + QSettings settings; + settings.beginGroup("Analyser"); + settings.setValue("precision-analysis", set); + settings.endGroup(); + + analyseNow(); } void @@ -2947,6 +2984,13 @@ } void +MainWindow::analyseNow() +{ + //!!! + cerr << "analyseNow called" << endl; +} + +void MainWindow::analyseNewMainModel() { WaveFileModel *model = getMainModel(); diff -r f48bf05409f5 -r 8a884e1e3912 src/MainWindow.h --- a/src/MainWindow.h Fri Jun 13 13:51:25 2014 +0100 +++ b/src/MainWindow.h Fri Jun 13 14:06:48 2014 +0100 @@ -81,6 +81,10 @@ virtual void editDisplayExtents(); + virtual void analyseNow(); + virtual void autoAnalysisToggled(); + virtual void precisionAnalysisToggled(); + virtual void doubleClickSelectInvoked(size_t); virtual void abandonSelection();