diff src/Analyser.cpp @ 140:e7f2da26c9ac

Show warning if pitch-tracker plugin is not found (fixes #830)
author Chris Cannam
date Fri, 10 Jan 2014 14:37:05 +0000
parents 995478fbbe17
children cdc9d5f7978c
line wrap: on
line diff
--- 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.<br><br>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