changeset 107:dd11619b73ba

* Update along with latest Vamp API change. This has not yet been tested.
author Chris Cannam
date Mon, 26 Feb 2007 18:13:07 +0000
parents f8e362511b2f
children 58f21cf235c7
files document/Document.cpp document/Document.h main/MainWindow.cpp main/MainWindow.h transform/FeatureExtractionPluginTransform.cpp transform/Transform.h transform/TransformFactory.cpp transform/TransformFactory.h
diffstat 8 files changed, 132 insertions(+), 130 deletions(-) [+]
line wrap: on
line diff
--- a/document/Document.cpp	Mon Feb 26 16:32:37 2007 +0000
+++ b/document/Document.cpp	Mon Feb 26 18:13:07 2007 +0000
@@ -149,7 +149,7 @@
 
 Layer *
 Document::createDerivedLayer(LayerFactory::LayerType type,
-			     TransformName transform)
+			     TransformId transform)
 {
     Layer *newLayer = createLayer(type);
     if (!newLayer) return 0;
@@ -162,7 +162,7 @@
 }
 
 Layer *
-Document::createDerivedLayer(TransformName transform,
+Document::createDerivedLayer(TransformId transform,
                              Model *inputModel, 
                              const PluginTransform::ExecutionContext &context,
                              QString configurationXml)
@@ -261,7 +261,7 @@
 	    // This model was derived from the previous main
 	    // model: regenerate it.
 	    
-	    TransformName transform = m_models[model].transform;
+	    TransformId transform = m_models[model].transform;
             PluginTransform::ExecutionContext context = m_models[model].context;
 	    
 	    Model *replacementModel =
@@ -309,7 +309,7 @@
 }
 
 void
-Document::addDerivedModel(TransformName transform,
+Document::addDerivedModel(TransformId transform,
                           Model *inputModel,
                           const PluginTransform::ExecutionContext &context,
                           Model *outputModelToAdd,
@@ -356,7 +356,7 @@
 }
 
 Model *
-Document::addDerivedModel(TransformName transform,
+Document::addDerivedModel(TransformId transform,
                           Model *inputModel,
                           const PluginTransform::ExecutionContext &context,
                           QString configurationXml)
--- a/document/Document.h	Mon Feb 26 16:32:37 2007 +0000
+++ b/document/Document.h	Mon Feb 26 18:13:07 2007 +0000
@@ -105,14 +105,14 @@
      * by a transform layer _must_ be registered with the document
      * using addDerivedModel below.
      */
-    Layer *createDerivedLayer(LayerFactory::LayerType, TransformName);
+    Layer *createDerivedLayer(LayerFactory::LayerType, TransformId);
 
     /**
      * Create and return a suitable layer for the given transform,
      * running the transform and associating the resulting model with
      * the new layer.
      */
-    Layer *createDerivedLayer(TransformName,
+    Layer *createDerivedLayer(TransformId,
                               Model *inputModel, 
                               const PluginTransform::ExecutionContext &context,
                               QString configurationXml);
@@ -135,7 +135,7 @@
      * Add a derived model associated with the given transform,
      * running the transform and returning the resulting model.
      */
-    Model *addDerivedModel(TransformName transform,
+    Model *addDerivedModel(TransformId transform,
                            Model *inputModel,
                            const PluginTransform::ExecutionContext &context,
                            QString configurationXml);
@@ -145,7 +145,7 @@
      * is necessary to register any derived model that was not created
      * by the document using createDerivedModel or createDerivedLayer.
      */
-    void addDerivedModel(TransformName,
+    void addDerivedModel(TransformId,
                          Model *inputModel,
                          const PluginTransform::ExecutionContext &context,
                          Model *outputModelToAdd,
@@ -236,7 +236,7 @@
 	// transform involved but the (target) model has been modified
 	// since being generated from it.
 	const Model *source;
-	TransformName transform;
+	TransformId transform;
         PluginTransform::ExecutionContext context;
         QString configurationXml;
 
--- a/main/MainWindow.cpp	Mon Feb 26 16:32:37 2007 +0000
+++ b/main/MainWindow.cpp	Mon Feb 26 18:13:07 2007 +0000
@@ -1219,10 +1219,10 @@
 
     for (unsigned int i = 0; i < transforms.size(); ++i) {
 	
-	QString description = transforms[i].description;
-	if (description == "") description = transforms[i].name;
-
-//        std::cerr << "Plugin Description: " << description.toStdString() << std::endl;
+	QString name = transforms[i].name;
+	if (name == "") name = transforms[i].identifier;
+
+//        std::cerr << "Plugin Name: " << name.toStdString() << std::endl;
 
         QString type = transforms[i].type;
 
@@ -1233,13 +1233,13 @@
         if (maker == "") maker = tr("Unknown");
         maker.replace(QRegExp(tr(" [\\(<].*$")), "");
 
-        QString pluginName = description.section(": ", 0, 0);
-        QString output = description.section(": ", 1);
-
-	QAction *action = new QAction(tr("%1...").arg(description), this);
+        QString pluginName = name.section(": ", 0, 0);
+        QString output = name.section(": ", 1);
+
+	QAction *action = new QAction(tr("%1...").arg(name), this);
 	connect(action, SIGNAL(triggered()), this, SLOT(addLayer()));
-	m_transformActions[action] = transforms[i].name;
-        m_transformActionsReverse[transforms[i].name] = action;
+	m_transformActions[action] = transforms[i].identifier;
+        m_transformActionsReverse[transforms[i].identifier] = action;
 	connect(this, SIGNAL(canAddLayer(bool)), action, SLOT(setEnabled(bool)));
 
         QString tip;
@@ -1255,7 +1255,7 @@
         if (categoryMenus[type].find(category) == categoryMenus[type].end()) {
             std::cerr << "WARNING: MainWindow::setupMenus: Internal error: "
                       << "No category menu for transform \""
-                      << description.toStdString() << "\" (category = \""
+                      << name.toStdString() << "\" (category = \""
                       << category.toStdString() << "\")" << std::endl;
         } else {
             categoryMenus[type][category]->addAction(action);
@@ -1264,7 +1264,7 @@
         if (makerMenus[type].find(maker) == makerMenus[type].end()) {
             std::cerr << "WARNING: MainWindow::setupMenus: Internal error: "
                       << "No maker menu for transform \""
-                      << description.toStdString() << "\" (maker = \""
+                      << name.toStdString() << "\" (maker = \""
                       << maker.toStdString() << "\")" << std::endl;
         } else {
             makerMenus[type][maker]->addAction(action);
@@ -1272,7 +1272,7 @@
 
         action = new QAction(tr("%1...").arg(output == "" ? pluginName : output), this);
         connect(action, SIGNAL(triggered()), this, SLOT(addLayer()));
-        m_transformActions[action] = transforms[i].name;
+        m_transformActions[action] = transforms[i].identifier;
         connect(this, SIGNAL(canAddLayer(bool)), action, SLOT(setEnabled(bool)));
         action->setStatusTip(tip);
 
@@ -3458,7 +3458,7 @@
 	return;
     }
 
-    TransformName transform = i->second;
+    TransformId transform = i->second;
     TransformFactory *factory = TransformFactory::getInstance();
 
     QString configurationXml;
@@ -4263,7 +4263,7 @@
             message.getArgCount() == 1 &&
             message.getArg(0).canConvert(QVariant::String)) {
 
-            TransformName transform = message.getArg(0).toString();
+            TransformId transform = message.getArg(0).toString();
 
             Layer *newLayer = m_document->createDerivedLayer
                 (transform,
--- a/main/MainWindow.h	Mon Feb 26 16:32:37 2007 +0000
+++ b/main/MainWindow.h	Mon Feb 26 18:13:07 2007 +0000
@@ -287,10 +287,10 @@
     typedef std::map<QAction *, PaneConfiguration> PaneActionMap;
     PaneActionMap m_paneActions;
 
-    typedef std::map<QAction *, TransformName> TransformActionMap;
+    typedef std::map<QAction *, TransformId> TransformActionMap;
     TransformActionMap m_transformActions;
 
-    typedef std::map<TransformName, QAction *> TransformActionReverseMap;
+    typedef std::map<TransformId, QAction *> TransformActionReverseMap;
     TransformActionReverseMap m_transformActionsReverse;
 
     typedef std::map<QAction *, LayerFactory::LayerType> LayerActionMap;
--- a/transform/FeatureExtractionPluginTransform.cpp	Mon Feb 26 16:32:37 2007 +0000
+++ b/transform/FeatureExtractionPluginTransform.cpp	Mon Feb 26 18:13:07 2007 +0000
@@ -90,7 +90,7 @@
                               m_context.stepSize,
                               m_context.blockSize)) {
         std::cerr << "FeatureExtractionPluginTransform: Plugin "
-                  << m_plugin->getName() << " failed to initialise!" << std::endl;
+                  << m_plugin->getIdentifier() << " failed to initialise!" << std::endl;
         return;
     }
 
@@ -103,7 +103,7 @@
     }
     
     for (size_t i = 0; i < outputs.size(); ++i) {
-	if (outputName == "" || outputs[i].name == outputName.toStdString()) {
+	if (outputName == "" || outputs[i].identifier == outputName.toStdString()) {
 	    m_outputFeatureNo = i;
 	    m_descriptor = new Vamp::Plugin::OutputDescriptor
 		(outputs[i]);
--- a/transform/Transform.h	Mon Feb 26 16:32:37 2007 +0000
+++ b/transform/Transform.h	Mon Feb 26 18:13:07 2007 +0000
@@ -20,7 +20,7 @@
 
 #include "data/model/Model.h"
 
-typedef QString TransformName;
+typedef QString TransformId;
 
 /**
  * A Transform turns one data model into another.
--- a/transform/TransformFactory.cpp	Mon Feb 26 16:32:37 2007 +0000
+++ b/transform/TransformFactory.cpp	Mon Feb 26 18:13:07 2007 +0000
@@ -151,7 +151,7 @@
 
     // disambiguate plugins with similar names
 
-    std::map<QString, int> descriptions;
+    std::map<QString, int> names;
     std::map<QString, QString> pluginSources;
     std::map<QString, QString> pluginMakers;
 
@@ -160,16 +160,16 @@
 
         TransformDesc desc = i->second;
 
-        QString td = desc.description;
+        QString td = desc.name;
         QString tn = td.section(": ", 0, 0);
-        QString pn = desc.name.section(":", 1, 1);
+        QString pn = desc.identifier.section(":", 1, 1);
 
         if (pluginSources.find(tn) != pluginSources.end()) {
             if (pluginSources[tn] != pn && pluginMakers[tn] != desc.maker) {
-                ++descriptions[tn];
+                ++names[tn];
             }
         } else {
-            ++descriptions[tn];
+            ++names[tn];
             pluginSources[tn] = pn;
             pluginMakers[tn] = desc.maker;
         }
@@ -182,25 +182,25 @@
          i != transforms.end(); ++i) {
 
         TransformDesc desc = i->second;
-	QString name = desc.name;
+	QString identifier = desc.identifier;
         QString maker = desc.maker;
 
-        QString td = desc.description;
+        QString td = desc.name;
         QString tn = td.section(": ", 0, 0);
         QString to = td.section(": ", 1);
 
-	if (descriptions[tn] > 1) {
+	if (names[tn] > 1) {
             maker.replace(QRegExp(tr(" [\\(<].*$")), "");
 	    tn = QString("%1 [%2]").arg(tn).arg(maker);
 	}
 
         if (to != "") {
-            desc.description = QString("%1: %2").arg(tn).arg(to);
+            desc.name = QString("%1: %2").arg(tn).arg(to);
         } else {
-            desc.description = tn;
+            desc.name = tn;
         }
 
-	m_transforms[name] = desc;
+	m_transforms[identifier] = desc;
     }	    
 }
 
@@ -230,7 +230,7 @@
 	    continue;
 	}
 		
-	QString pluginDescription = plugin->getDescription().c_str();
+	QString pluginName = plugin->getName().c_str();
         QString category = factory->getPluginCategory(pluginId);
 
 	Vamp::Plugin::OutputList outputs =
@@ -238,31 +238,33 @@
 
 	for (size_t j = 0; j < outputs.size(); ++j) {
 
-	    QString transformName = QString("%1:%2")
-		    .arg(pluginId).arg(outputs[j].name.c_str());
+	    QString transformId = QString("%1:%2")
+		    .arg(pluginId).arg(outputs[j].identifier.c_str());
 
-	    QString userDescription;
+	    QString userName;
             QString friendlyName;
             QString units = outputs[j].unit.c_str();
 
 	    if (outputs.size() == 1) {
-		userDescription = pluginDescription;
-                friendlyName = pluginDescription;
+		userName = pluginName;
+                friendlyName = pluginName;
 	    } else {
-		userDescription = QString("%1: %2")
-		    .arg(pluginDescription)
-		    .arg(outputs[j].description.c_str());
-                friendlyName = outputs[j].description.c_str();
+		userName = QString("%1: %2")
+		    .arg(pluginName)
+		    .arg(outputs[j].name.c_str());
+                friendlyName = outputs[j].name.c_str();
 	    }
 
             bool configurable = (!plugin->getPrograms().empty() ||
                                  !plugin->getParameterDescriptors().empty());
 
-	    transforms[transformName] = 
+            std::cerr << "Adding feature extraction plugin transform: id = " << transformId.toStdString() << std::endl;
+
+	    transforms[transformId] = 
                 TransformDesc(tr("Analysis"),
                               category,
-                              transformName,
-                              userDescription,
+                              transformId,
+                              userName,
                               friendlyName,
                               plugin->getMaker().c_str(),
                               units,
@@ -304,7 +306,7 @@
 
 //        std::cout << "TransformFactory::populateRealTimePlugins: plugin " << pluginId.toStdString() << " has " << descriptor->controlOutputPortCount << " control output ports, " << descriptor->audioOutputPortCount << " audio outputs, " << descriptor->audioInputPortCount << " audio inputs" << std::endl;
 	
-	QString pluginDescription = descriptor->name.c_str();
+	QString pluginName = descriptor->name.c_str();
         QString category = factory->getPluginCategory(pluginId);
         bool configurable = (descriptor->parameterCount > 0);
 
@@ -312,8 +314,8 @@
 
             for (size_t j = 0; j < descriptor->controlOutputPortCount; ++j) {
 
-                QString transformName = QString("%1:%2").arg(pluginId).arg(j);
-                QString userDescription;
+                QString transformId = QString("%1:%2").arg(pluginId).arg(j);
+                QString userName;
                 QString units;
 
                 if (j < descriptor->controlOutputPortNames.size() &&
@@ -321,8 +323,8 @@
 
                     QString portName = descriptor->controlOutputPortNames[j].c_str();
 
-                    userDescription = tr("%1: %2")
-                        .arg(pluginDescription)
+                    userName = tr("%1: %2")
+                        .arg(pluginName)
                         .arg(portName);
 
                     if (unitRE.indexIn(portName) >= 0) {
@@ -331,22 +333,22 @@
 
                 } else if (descriptor->controlOutputPortCount > 1) {
 
-                    userDescription = tr("%1: Output %2")
-                        .arg(pluginDescription)
+                    userName = tr("%1: Output %2")
+                        .arg(pluginName)
                         .arg(j + 1);
 
                 } else {
 
-                    userDescription = pluginDescription;
+                    userName = pluginName;
                 }
 
 
-                transforms[transformName] = 
+                transforms[transformId] = 
                     TransformDesc(tr("Effects Data"),
                                   category,
-                                  transformName,
-                                  userDescription,
-                                  userDescription,
+                                  transformId,
+                                  userName,
+                                  userName,
                                   descriptor->maker.c_str(),
                                   units,
                                   configurable);
@@ -357,18 +359,18 @@
 
             if (descriptor->audioOutputPortCount > 0) {
 
-                QString transformName = QString("%1:A").arg(pluginId);
+                QString transformId = QString("%1:A").arg(pluginId);
                 QString type = tr("Effects");
                 if (descriptor->audioInputPortCount == 0) {
                     type = tr("Generators");
                 }
 
-                transforms[transformName] =
+                transforms[transformId] =
                     TransformDesc(type,
                                   category,
-                                  transformName,
-                                  pluginDescription,
-                                  pluginDescription,
+                                  transformId,
+                                  pluginName,
+                                  pluginName,
                                   descriptor->maker.c_str(),
                                   "",
                                   configurable);
@@ -378,42 +380,42 @@
 }
 
 QString
-TransformFactory::getTransformDescription(TransformName name)
+TransformFactory::getTransformName(TransformId identifier)
 {
-    if (m_transforms.find(name) != m_transforms.end()) {
-	return m_transforms[name].description;
+    if (m_transforms.find(identifier) != m_transforms.end()) {
+	return m_transforms[identifier].name;
     } else return "";
 }
 
 QString
-TransformFactory::getTransformFriendlyName(TransformName name)
+TransformFactory::getTransformFriendlyName(TransformId identifier)
 {
-    if (m_transforms.find(name) != m_transforms.end()) {
-	return m_transforms[name].friendlyName;
+    if (m_transforms.find(identifier) != m_transforms.end()) {
+	return m_transforms[identifier].friendlyName;
     } else return "";
 }
 
 QString
-TransformFactory::getTransformUnits(TransformName name)
+TransformFactory::getTransformUnits(TransformId identifier)
 {
-    if (m_transforms.find(name) != m_transforms.end()) {
-	return m_transforms[name].units;
+    if (m_transforms.find(identifier) != m_transforms.end()) {
+	return m_transforms[identifier].units;
     } else return "";
 }
 
 bool
-TransformFactory::isTransformConfigurable(TransformName name)
+TransformFactory::isTransformConfigurable(TransformId identifier)
 {
-    if (m_transforms.find(name) != m_transforms.end()) {
-	return m_transforms[name].configurable;
+    if (m_transforms.find(identifier) != m_transforms.end()) {
+	return m_transforms[identifier].configurable;
     } else return false;
 }
 
 bool
-TransformFactory::getTransformChannelRange(TransformName name,
+TransformFactory::getTransformChannelRange(TransformId identifier,
                                            int &min, int &max)
 {
-    QString id = name.section(':', 0, 2);
+    QString id = identifier.section(':', 0, 2);
 
     if (FeatureExtractionPluginFactory::instanceFor(id)) {
 
@@ -445,7 +447,7 @@
 }
 
 bool
-TransformFactory::getChannelRange(TransformName name, Vamp::PluginBase *plugin,
+TransformFactory::getChannelRange(TransformId identifier, Vamp::PluginBase *plugin,
                                   int &minChannels, int &maxChannels)
 {
     Vamp::Plugin *vp = 0;
@@ -455,12 +457,12 @@
         maxChannels = vp->getMaxChannelCount();
         return true;
     } else {
-        return getTransformChannelRange(name, minChannels, maxChannels);
+        return getTransformChannelRange(identifier, minChannels, maxChannels);
     }
 }
 
 Model *
-TransformFactory::getConfigurationForTransform(TransformName name,
+TransformFactory::getConfigurationForTransform(TransformId identifier,
                                                const std::vector<Model *> &candidateInputModels,
                                                PluginTransform::ExecutionContext &context,
                                                QString &configurationXml,
@@ -485,12 +487,12 @@
         candidateModelNames.push_back(modelName);
     }
 
-    QString id = name.section(':', 0, 2);
-    QString output = name.section(':', 3);
+    QString id = identifier.section(':', 0, 2);
+    QString output = identifier.section(':', 3);
     QString outputLabel = "";
     
     bool ok = false;
-    configurationXml = m_lastConfigurations[name];
+    configurationXml = m_lastConfigurations[identifier];
 
 //    std::cerr << "last configuration: " << configurationXml.toStdString() << std::endl;
 
@@ -515,8 +517,8 @@
                 vp->getOutputDescriptors();
             if (od.size() > 1) {
                 for (size_t i = 0; i < od.size(); ++i) {
-                    if (od[i].name == output.toStdString()) {
-                        outputLabel = od[i].description.c_str();
+                    if (od[i].identifier == output.toStdString()) {
+                        outputLabel = od[i].name.c_str();
                         break;
                     }
                 }
@@ -579,7 +581,7 @@
         }
 
         int minChannels = 1, maxChannels = sourceChannels;
-        getChannelRange(name, plugin, minChannels, maxChannels);
+        getChannelRange(identifier, plugin, minChannels, maxChannels);
 
         int targetChannels = sourceChannels;
         if (!effect) {
@@ -636,18 +638,18 @@
         }
     }
 
-    if (ok) m_lastConfigurations[name] = configurationXml;
+    if (ok) m_lastConfigurations[identifier] = configurationXml;
 
     return ok ? inputModel : 0;
 }
 
 PluginTransform::ExecutionContext
-TransformFactory::getDefaultContextForTransform(TransformName name,
+TransformFactory::getDefaultContextForTransform(TransformId identifier,
                                                 Model *inputModel)
 {
     PluginTransform::ExecutionContext context(-1);
 
-    QString id = name.section(':', 0, 2);
+    QString id = identifier.section(':', 0, 2);
 
     if (FeatureExtractionPluginFactory::instanceFor(id)) {
 
@@ -663,14 +665,14 @@
 }
 
 Transform *
-TransformFactory::createTransform(TransformName name, Model *inputModel,
+TransformFactory::createTransform(TransformId identifier, Model *inputModel,
                                   const PluginTransform::ExecutionContext &context,
                                   QString configurationXml, bool start)
 {
     Transform *transform = 0;
 
-    QString id = name.section(':', 0, 2);
-    QString output = name.section(':', 3);
+    QString id = identifier.section(':', 0, 2);
+    QString output = identifier.section(':', 3);
 
     if (FeatureExtractionPluginFactory::instanceFor(id)) {
         transform = new FeatureExtractionPluginTransform(inputModel,
@@ -683,26 +685,26 @@
                                                 id,
                                                 context,
                                                 configurationXml,
-                                                getTransformUnits(name),
+                                                getTransformUnits(identifier),
                                                 output == "A" ? -1 :
                                                 output.toInt());
     } else {
         std::cerr << "TransformFactory::createTransform: Unknown transform \""
-                  << name.toStdString() << "\"" << std::endl;
+                  << identifier.toStdString() << "\"" << std::endl;
         return transform;
     }
 
     if (start && transform) transform->start();
-    transform->setObjectName(name);
+    transform->setObjectName(identifier);
     return transform;
 }
 
 Model *
-TransformFactory::transform(TransformName name, Model *inputModel,
+TransformFactory::transform(TransformId identifier, Model *inputModel,
                             const PluginTransform::ExecutionContext &context,
                             QString configurationXml)
 {
-    Transform *t = createTransform(name, inputModel, context,
+    Transform *t = createTransform(identifier, inputModel, context,
                                    configurationXml, false);
 
     if (!t) return 0;
@@ -714,7 +716,7 @@
 
     if (model) {
         QString imn = inputModel->objectName();
-        QString trn = getTransformFriendlyName(name);
+        QString trn = getTransformFriendlyName(identifier);
         if (imn != "") {
             if (trn != "") {
                 model->setObjectName(tr("%1: %2").arg(imn).arg(trn));
--- a/transform/TransformFactory.h	Mon Feb 26 16:32:37 2007 +0000
+++ b/transform/TransformFactory.h	Mon Feb 26 18:13:07 2007 +0000
@@ -34,37 +34,37 @@
 
     static TransformFactory *getInstance();
 
-    // The name is intended to be computer-referenceable, and unique
-    // within the application.  The description is intended to be
+    // The identifier is intended to be computer-referenceable, and
+    // unique within the application.  The name is intended to be
     // human readable.  In principle it doesn't have to be unique, but
     // the factory will add suffixes to ensure that it is, all the
     // same (just to avoid user confusion).  The friendly name is a
-    // shorter version of the description.  The type is also intended
-    // to be user-readable, for use in menus.
+    // shorter version of the name.  The type is also intended to be
+    // user-readable, for use in menus.
 
     struct TransformDesc {
 
         TransformDesc() { }
 	TransformDesc(QString _type, QString _category,
-                      TransformName _name, QString _description,
+                      TransformId _identifier, QString _name,
                       QString _friendlyName, QString _maker,
                       QString _units, bool _configurable) :
 	    type(_type), category(_category),
-            name(_name), description(_description),
+            identifier(_identifier), name(_name),
             friendlyName(_friendlyName),
             maker(_maker), units(_units), configurable(_configurable) { }
 
         QString type; // e.g. feature extraction plugin
         QString category; // e.g. time > onsets
-	TransformName name; // e.g. vamp:vamp-aubio:aubioonset
-	QString description; // plugin's desc if 1 output, else "desc: output"
+	TransformId identifier; // e.g. vamp:vamp-aubio:aubioonset
+	QString name; // plugin's name if 1 output, else "name: output"
         QString friendlyName; // short text for layer name
         QString maker;
         QString units;
         bool configurable;
 
         bool operator<(const TransformDesc &od) const {
-            return (description < od.description);
+            return (name < od.name);
         };
     };
     typedef std::vector<TransformDesc> TransformList;
@@ -83,7 +83,7 @@
      * be cancelled.  Audio callback play source may be used to
      * audition effects plugins, if provided.
      */
-    Model *getConfigurationForTransform(TransformName name,
+    Model *getConfigurationForTransform(TransformId identifier,
                                         const std::vector<Model *> &candidateInputModels,
                                         PluginTransform::ExecutionContext &context,
                                         QString &configurationXml,
@@ -93,7 +93,7 @@
      * Get the default execution context for the given transform
      * and input model (if known).
      */
-    PluginTransform::ExecutionContext getDefaultContextForTransform(TransformName name,
+    PluginTransform::ExecutionContext getDefaultContextForTransform(TransformId identifier,
                                                                     Model *inputModel = 0);
 
     /**
@@ -109,29 +109,29 @@
      * The returned model is owned by the caller and must be deleted
      * when no longer needed.
      */
-    Model *transform(TransformName name, Model *inputModel,
+    Model *transform(TransformId identifier, Model *inputModel,
                      const PluginTransform::ExecutionContext &context,
                      QString configurationXml = "");
 
     /**
-     * Full description of a transform, suitable for putting on a menu.
+     * Full name of a transform, suitable for putting on a menu.
      */
-    QString getTransformDescription(TransformName name);
+    QString getTransformName(TransformId identifier);
 
     /**
-     * Brief but friendly description of a transform, suitable for use
+     * Brief but friendly name of a transform, suitable for use
      * as the name of the output layer.
      */
-    QString getTransformFriendlyName(TransformName name);
+    QString getTransformFriendlyName(TransformId identifier);
 
-    QString getTransformUnits(TransformName name);
+    QString getTransformUnits(TransformId identifier);
 
     /**
      * Return true if the transform has any configurable parameters,
      * i.e. if getConfigurationForTransform can ever return a non-trivial
      * (not equivalent to empty) configuration string.
      */
-    bool isTransformConfigurable(TransformName name);
+    bool isTransformConfigurable(TransformId identifier);
 
     /**
      * If the transform has a prescribed number or range of channel
@@ -139,7 +139,7 @@
      * minimum and maximum number of channel inputs the transform can
      * accept.  Return false if it doesn't care.
      */
-    bool getTransformChannelRange(TransformName name,
+    bool getTransformChannelRange(TransformId identifier,
                                   int &minChannels, int &maxChannels);
 
     //!!! Need some way to indicate that the input model has changed /
@@ -153,27 +153,27 @@
     void transformFinished();
 
 protected:
-    Transform *createTransform(TransformName name, Model *inputModel,
+    Transform *createTransform(TransformId identifier, Model *inputModel,
                                const PluginTransform::ExecutionContext &context,
                                QString configurationXml, bool start);
 
     struct TransformIdent
     {
-        TransformName name;
+        TransformId identifier;
         QString configurationXml;
     };
 
-    typedef std::map<TransformName, QString> TransformConfigurationMap;
+    typedef std::map<TransformId, QString> TransformConfigurationMap;
     TransformConfigurationMap m_lastConfigurations;
 
-    typedef std::map<TransformName, TransformDesc> TransformDescriptionMap;
+    typedef std::map<TransformId, TransformDesc> TransformDescriptionMap;
     TransformDescriptionMap m_transforms;
 
     void populateTransforms();
     void populateFeatureExtractionPlugins(TransformDescriptionMap &);
     void populateRealTimePlugins(TransformDescriptionMap &);
 
-    bool getChannelRange(TransformName name,
+    bool getChannelRange(TransformId identifier,
                          Vamp::PluginBase *plugin, int &min, int &max);
 
     static TransformFactory *m_instance;