changeset 328:d4c70bef4c25

merge
author matthiasm
date Fri, 13 Jun 2014 14:22:42 +0100
parents b3ed6e562ee5 (current diff) 8a884e1e3912 (diff)
children 67987c108807
files src/MainWindow.cpp
diffstat 3 files changed, 53 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/.hgsubstate	Fri Jun 13 14:22:26 2014 +0100
+++ b/.hgsubstate	Fri Jun 13 14:22:42 2014 +0100
@@ -2,6 +2,6 @@
 236814e07bd07473958c1ff89103124536a0c3c8 dataquay
 b8ce40de83c25bf4585b3a03ddc67d215df31899 pyin
 553a5f65ef64811747a6613f759622d655db63c1 sv-dependency-builds
-88bf6cc732754841ce451c75c3b3581ac8289e5d svapp
+5302c548adadd5e3ddb5fd2eafa45ce3033183e7 svapp
 4c7b4040bd2daac3883a9def0279fae7104ad9a2 svcore
 9c272d39c3e3124c64173404db9ecac3ddccde8e svgui
--- a/src/MainWindow.cpp	Fri Jun 13 14:22:26 2014 +0100
+++ b/src/MainWindow.cpp	Fri Jun 13 14:22:42 2014 +0100
@@ -819,22 +819,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<QAction *>(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<QAction *>(sender());
+    if (!a) return;
+
+    bool set = a->isChecked();
+
+    QSettings settings;
+    settings.beginGroup("Analyser");
+    settings.setValue("precision-analysis", set);
+    settings.endGroup();
+
+    analyseNow();
 }
 
 void
@@ -2949,6 +2986,13 @@
 }
 
 void
+MainWindow::analyseNow()
+{
+    //!!!
+    cerr << "analyseNow called" << endl;
+}
+
+void
 MainWindow::analyseNewMainModel()
 {
     WaveFileModel *model = getMainModel();
--- a/src/MainWindow.h	Fri Jun 13 14:22:26 2014 +0100
+++ b/src/MainWindow.h	Fri Jun 13 14:22:42 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();