Mercurial > hg > sonic-annotator
diff runner/FeatureExtractionManager.cpp @ 129:7a7a46d4bd3c
Fail explicitly if a nonexistent plugin output is requested
author | Chris Cannam |
---|---|
date | Fri, 10 Oct 2014 15:00:47 +0100 |
parents | b514bae9555e |
children | 65dabaebe604 |
line wrap: on
line diff
--- a/runner/FeatureExtractionManager.cpp Thu Oct 09 13:18:06 2014 +0100 +++ b/runner/FeatureExtractionManager.cpp Fri Oct 10 15:00:47 2014 +0100 @@ -343,6 +343,15 @@ 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; @@ -663,8 +672,9 @@ 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; /*