# HG changeset patch # User Chris Cannam # Date 1413191780 -3600 # Node ID 565bc0c2295d9582a03db65e3e62960863900898 # Parent 2b357fab3f510bc7e782421dadf759be505c35d2# Parent d012c0dafa36968bded14089907fa588dbd983f5 Merge diff -r d012c0dafa36 -r 565bc0c2295d .hgsubstate --- a/.hgsubstate Thu Oct 09 14:48:43 2014 +0100 +++ b/.hgsubstate Mon Oct 13 10:16:20 2014 +0100 @@ -1,3 +1,3 @@ d16f0fd6db6104d87882bc43788a3bb1b0f8c528 dataquay 879bdc878826bebec67130326f99397c430419b1 sv-dependency-builds -60e2927b1475b752d14615da9516d893332878a3 svcore +952005e252668fecdee23fed6227c52ba28cf0a3 svcore diff -r d012c0dafa36 -r 565bc0c2295d runner/FeatureExtractionManager.cpp --- a/runner/FeatureExtractionManager.cpp Thu Oct 09 14:48:43 2014 +0100 +++ b/runner/FeatureExtractionManager.cpp Mon Oct 13 10:16:20 2014 +0100 @@ -340,9 +340,31 @@ } } + if (transform.getPluginVersion() != "") { + if (QString("%1").arg(plugin->getPluginVersion()) + != transform.getPluginVersion()) { + cerr << "ERROR: Transform specifies version " + << transform.getPluginVersion() + << " of plugin \"" << plugin->getIdentifier() + << "\", but installed plugin is version " + << plugin->getPluginVersion() + << endl; + return false; + } + } + if (transform.getOutput() == "") { transform.setOutput (plugin->getOutputDescriptors()[0].identifier.c_str()); + } else { + if (m_pluginOutputs[plugin].find + (transform.getOutput().toLocal8Bit().data()) == + m_pluginOutputs[plugin].end()) { + cerr << "ERROR: Transform requests nonexistent plugin output \"" + << transform.getOutput() + << "\"" << endl; + return false; + } } m_transformPluginMap[transform] = plugin; @@ -652,19 +674,20 @@ if (!haveExtents || startFrame + duration > latestEndFrame) { latestEndFrame = startFrame + duration; } - +/* cerr << "startFrame for transform " << startFrame << endl; cerr << "duration for transform " << duration << endl; cerr << "earliestStartFrame becomes " << earliestStartFrame << endl; cerr << "latestEndFrame becomes " << latestEndFrame << endl; - +*/ haveExtents = true; string outputId = transform.getOutput().toStdString(); if (m_pluginOutputs[plugin].find(outputId) == m_pluginOutputs[plugin].end()) { - //!!! throw? - cerr << "WARNING: Nonexistent plugin output \"" << outputId << "\" requested for transform \"" + // We shouldn't actually reach this point: + // addFeatureExtractor tests whether the output exists + cerr << "ERROR: Nonexistent plugin output \"" << outputId << "\" requested for transform \"" << transform.getIdentifier().toStdString() << "\", ignoring this transform" << endl; /* @@ -776,14 +799,12 @@ ti != pi->second.end(); ++ti) { int startFrame = RealTime::realTime2Frame (ti->first.getStartTime(), m_sampleRate); - cerr << "plugin " << plugin << " transform " << &(ti->first) << " start frame " << startFrame << " my frame " << i << endl; if (i >= startFrame || i + m_blockSize > startFrame) { inRange = true; break; } } if (!inRange) { - cerr << "not in range! plugging on" << endl; continue; }