changeset 358:9203b82a8c53

* better handling of cases with more than one copy of the same plugin in different libraries -- a bit mad, but it happened to me
author Chris Cannam
date Wed, 09 Jan 2008 17:09:44 +0000
parents b92513201610
children 824ee993ca8d
files plugin/FeatureExtractionPluginFactory.cpp plugin/transform/TransformDescription.h plugin/transform/TransformFactory.cpp
diffstat 3 files changed, 7 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/plugin/FeatureExtractionPluginFactory.cpp	Fri Jan 04 17:08:10 2008 +0000
+++ b/plugin/FeatureExtractionPluginFactory.cpp	Wed Jan 09 17:09:44 2008 +0000
@@ -95,6 +95,7 @@
     if (factory) {
 	std::vector<QString> tmp = factory->getPluginIdentifiers();
 	for (size_t i = 0; i < tmp.size(); ++i) {
+//            std::cerr << "identifier: " << tmp[i].toStdString() << std::endl;
 	    rv.push_back(tmp[i]);
 	}
     }
--- a/plugin/transform/TransformDescription.h	Fri Jan 04 17:08:10 2008 +0000
+++ b/plugin/transform/TransformDescription.h	Wed Jan 09 17:09:44 2008 +0000
@@ -66,7 +66,9 @@
     bool configurable;
     
     bool operator<(const TransformDescription &od) const {
-        return (name < od.name);
+        return
+            (name <  od.name) ||
+            (name == od.name && identifier < od.identifier);
     };
 };
 
--- a/plugin/transform/TransformFactory.cpp	Fri Jan 04 17:08:10 2008 +0000
+++ b/plugin/transform/TransformFactory.cpp	Wed Jan 09 17:09:44 2008 +0000
@@ -51,12 +51,14 @@
     std::set<TransformDescription> dset;
     for (TransformDescriptionMap::const_iterator i = m_transforms.begin();
 	 i != m_transforms.end(); ++i) {
+//        std::cerr << "inserting transform into set: id = " << i->second.identifier.toStdString() << std::endl;
 	dset.insert(i->second);
     }
 
     TransformList list;
     for (std::set<TransformDescription>::const_iterator i = dset.begin();
 	 i != dset.end(); ++i) {
+//        std::cerr << "inserting transform into list: id = " << i->identifier.toStdString() << std::endl;
 	list.push_back(*i);
     }
 
@@ -286,7 +288,7 @@
             bool configurable = (!plugin->getPrograms().empty() ||
                                  !plugin->getParameterDescriptors().empty());
 
-//            std::cerr << "Feature extraction plugin transform: " << transformId.toStdString() << std::endl;
+//            std::cerr << "Feature extraction plugin transform: " << transformId.toStdString() << " friendly name: " << friendlyName.toStdString() << std::endl;
 
 	    transforms[transformId] = 
                 TransformDescription(tr("Analysis"),