Mercurial > hg > svcore
diff plugin/PluginXml.cpp @ 239:71f869dac40b
* Further fixes for Vamp API change, and update to support API versioning
* Add plugin, output and parameter descriptions to GUI
* Avoid squished panner in heads-up-display on pane when time-value or note
layer is on top
author | Chris Cannam |
---|---|
date | Tue, 27 Feb 2007 12:51:38 +0000 |
parents | d5052b5fea9c |
children | d4a33cdca86f |
line wrap: on
line diff
--- a/plugin/PluginXml.cpp Mon Feb 26 20:08:51 2007 +0000 +++ b/plugin/PluginXml.cpp Tue Feb 27 12:51:38 2007 +0000 @@ -59,7 +59,8 @@ QString s; s += indent; - s += QString("<plugin name=\"%1\" description=\"%2\" maker=\"%3\" version=\"%4\" copyright=\"%5\" %6 ") + s += QString("<plugin identifier=\"%1\" name=\"%2\" description=\"%3\" maker=\"%4\" version=\"%5\" copyright=\"%6\" %7 ") + .arg(encodeEntities(QString(m_plugin->getIdentifier().c_str()))) .arg(encodeEntities(QString(m_plugin->getName().c_str()))) .arg(encodeEntities(QString(m_plugin->getDescription().c_str()))) .arg(encodeEntities(QString(m_plugin->getMaker().c_str()))) @@ -83,8 +84,8 @@ // << m_plugin->getParameter(i->name) << std::endl; s += QString("param-%1=\"%2\" ") - .arg(stripInvalidParameterNameCharacters(QString(i->name.c_str()))) - .arg(m_plugin->getParameter(i->name)); + .arg(stripInvalidParameterNameCharacters(QString(i->identifier.c_str()))) + .arg(m_plugin->getParameter(i->identifier)); } RealTimePluginInstance *rtpi = @@ -124,6 +125,7 @@ void PluginXml::setParameters(const QXmlAttributes &attrs) { + CHECK_ATTRIBUTE(identifier, m_plugin->getIdentifier); CHECK_ATTRIBUTE(name, m_plugin->getName); CHECK_ATTRIBUTE(description, m_plugin->getDescription); CHECK_ATTRIBUTE(maker, m_plugin->getMaker); @@ -166,21 +168,23 @@ for (Vamp::PluginBase::ParameterList::const_iterator i = parameters.begin(); i != parameters.end(); ++i) { - QString name = QString("param-%1") + QString pname = QString("param-%1") .arg(stripInvalidParameterNameCharacters - (QString(i->name.c_str()))); + (QString(i->identifier.c_str()))); - if (attrs.value(name) == "") { + if (attrs.value(pname) == "") { // std::cerr << "PluginXml::setParameters: no parameter \"" << i->name << "\" (attribute \"" << name.toStdString() << "\")" << std::endl; continue; } bool ok; - float value = attrs.value(name).trimmed().toFloat(&ok); + float value = attrs.value(pname).trimmed().toFloat(&ok); if (ok) { - m_plugin->setParameter(i->name, value); + std::cerr << "PluginXml::setParameters: setting parameter \"" + << i->identifier << "\" to value " << value << std::endl; + m_plugin->setParameter(i->identifier, value); } else { - std::cerr << "WARNING: PluginXml::setParameters: Invalid value \"" << attrs.value(name).toStdString() << "\" for parameter \"" << i->name << "\" (attribute \"" << name.toStdString() << "\")" << std::endl; + std::cerr << "WARNING: PluginXml::setParameters: Invalid value \"" << attrs.value(pname).toStdString() << "\" for parameter \"" << i->identifier << "\" (attribute \"" << pname.toStdString() << "\")" << std::endl; } } }