diff plugin/DSSIPluginFactory.cpp @ 166:702fc936e6a6

* Pull transforms out of Layer menu (again) and into a separate Transforms menu * Add Recent Transforms submenu * Add effects and generators to the transforms menu (not yet implemented) as well as analysis plugins and data-from-effects (control output ports) * Add a nice dictionary-volume-style alphabetic subdivision of plugin names in plugins By Name menus
author Chris Cannam
date Fri, 22 Sep 2006 16:12:23 +0000
parents 5ae5885d6ce3
children 665342c6ec57
line wrap: on
line diff
--- a/plugin/DSSIPluginFactory.cpp	Thu Sep 21 16:43:50 2006 +0000
+++ b/plugin/DSSIPluginFactory.cpp	Fri Sep 22 16:12:23 2006 +0000
@@ -299,6 +299,7 @@
                         descriptor->run_multiple_synths);
         rtd->parameterCount = 0;
         rtd->audioInputPortCount = 0;
+        rtd->audioOutputPortCount = 0;
         rtd->controlOutputPortCount = 0;
 
 	QString identifier = PluginIdentifier::createIdentifier
@@ -310,8 +311,8 @@
 		
 	QString category = m_taxonomy[identifier];
 
-        if (category == "" && m_lrdfTaxonomy[descriptor->LADSPA_Plugin->UniqueID] != "") {
-            m_taxonomy[identifier] = m_lrdfTaxonomy[descriptor->LADSPA_Plugin->UniqueID];
+        if (category == "" && m_lrdfTaxonomy[ladspaDescriptor->UniqueID] != "") {
+            m_taxonomy[identifier] = m_lrdfTaxonomy[ladspaDescriptor->UniqueID];
             category = m_taxonomy[identifier];
         }
 
@@ -330,11 +331,12 @@
 
         rtd->category = category.toStdString();
 	
-//	std::cerr << "Plugin id is " << ladspaDescriptor->UniqueID
-//		  << ", category is \"" << (category ? category : QString("(none)"))
-//		  << "\", name is " << ladspaDescriptor->Name
-//		  << ", label is " << ladspaDescriptor->Label
-//		  << std::endl;
+	std::cerr << "Plugin id is " << ladspaDescriptor->UniqueID
+                  << ", identifier is \"" << identifier.toStdString()
+		  << "\", category is \"" << category.toStdString()
+		  << "\", name is " << ladspaDescriptor->Name
+		  << ", label is " << ladspaDescriptor->Label
+		  << std::endl;
 	
 	def_uri = lrdf_get_default_uri(ladspaDescriptor->UniqueID);
 	if (def_uri) {
@@ -378,6 +380,8 @@
             } else {
                 if (LADSPA_IS_PORT_INPUT(ladspaDescriptor->PortDescriptors[i])) {
                     ++rtd->audioInputPortCount;
+                } else if (LADSPA_IS_PORT_OUTPUT(ladspaDescriptor->PortDescriptors[i])) {
+                    ++rtd->audioOutputPortCount;
                 }
             }
         }