# HG changeset patch
# User Chris Cannam
# Date 1389364625 0
# Node ID e7f2da26c9aca1dba8f01122663d10c32bfba6e3
# Parent 995478fbbe177fea9861c1ca79978ef19e78fbb2
Show warning if pitch-tracker plugin is not found (fixes #830)
diff -r 995478fbbe17 -r e7f2da26c9ac src/Analyser.cpp
--- a/src/Analyser.cpp Fri Jan 10 14:18:37 2014 +0000
+++ b/src/Analyser.cpp Fri Jan 10 14:37:05 2014 +0000
@@ -58,7 +58,7 @@
{
}
-void
+QString
Analyser::newFileLoaded(Document *doc, WaveFileModel *model,
PaneStack *paneStack, Pane *pane)
{
@@ -67,6 +67,7 @@
m_paneStack = paneStack;
m_pane = pane;
+ QString plugname = "pYIN";
QString base = "vamp:pyin:pyin:";
QString f0out = "smoothedpitchtrack";
QString noteout = "notes";
@@ -108,9 +109,12 @@
}
*/
- if (!tf->haveTransform(base + f0out) || !tf->haveTransform(base + noteout)) {
- std::cerr << "ERROR: Analyser::newFileLoaded: Transform unknown" << std::endl;
- return;
+ QString notFound = tr("Transform \"%1\" not found. Unable to analyse audio file.
Is the %2 Vamp plugin correctly installed?");
+ if (!tf->haveTransform(base + f0out)) {
+ return notFound.arg(base + f0out).arg(plugname);
+ }
+ if (!tf->haveTransform(base + noteout)) {
+ return notFound.arg(base + noteout).arg(plugname);
}
Transform t = tf->getDefaultTransformFor
@@ -164,6 +168,8 @@
loadState(Notes);
emit layersChanged();
+
+ return "";
}
void
diff -r 995478fbbe17 -r e7f2da26c9ac src/Analyser.h
--- a/src/Analyser.h Fri Jan 10 14:18:37 2014 +0000
+++ b/src/Analyser.h Fri Jan 10 14:37:05 2014 +0000
@@ -36,8 +36,9 @@
Analyser();
virtual ~Analyser();
- void newFileLoaded(Document *newDocument, WaveFileModel *model,
- PaneStack *paneStack, Pane *pane);
+ // Process new main model, add derived layers; return "" on success or error string on failure
+ QString newFileLoaded(Document *newDocument, WaveFileModel *model,
+ PaneStack *paneStack, Pane *pane);
void setIntelligentActions(bool);
diff -r 995478fbbe17 -r e7f2da26c9ac src/MainWindow.cpp
--- a/src/MainWindow.cpp Fri Jan 10 14:18:37 2014 +0000
+++ b/src/MainWindow.cpp Fri Jan 10 14:37:05 2014 +0000
@@ -1609,8 +1609,15 @@
ViewManager::SelectMode);
}
if (pane) {
- m_analyser->newFileLoaded
+ QString error = m_analyser->newFileLoaded
(m_document, getMainModel(), m_paneStack, pane);
+ if (error != "") {
+ QMessageBox::warning
+ (this,
+ tr("Failed to analyse audio"),
+ tr("Analysis failed
%1
").arg(error), + QMessageBox::Ok); + } } } }