diff transform/TransformFactory.h @ 63:ba405e5e69d3

* Add auto-normalize option to waveform layer * Various fixes to display of dB/metered levels in waveform layer. Still need to fix to ensure they don't waste half the display * Add mix channels option to waveform layer * Use multiple transforms menus, one per transform type -- not sure about this * Give centroid plugin two outputs, for log and linear frequency weightings * Show scale units from plugin in time-value display
author Chris Cannam
date Wed, 29 Mar 2006 12:35:17 +0000
parents 3086ff194ea0
children 4d59dc469b0f
line wrap: on
line diff
--- a/transform/TransformFactory.h	Tue Mar 28 23:57:32 2006 +0000
+++ b/transform/TransformFactory.h	Wed Mar 29 12:35:17 2006 +0000
@@ -34,25 +34,31 @@
     // 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.
+    // shorter version of the description.  The type is also intended
+    // to be user-readable, for use in menus.
 
     struct TransformDesc {
         TransformDesc() { }
-	TransformDesc(TransformName _name, QString _description,
+	TransformDesc(QString _type, TransformName _name, QString _description,
                       QString _friendlyName, QString _maker,
-                      bool _configurable) :
-	    name(_name), description(_description), friendlyName(_friendlyName),
-            maker(_maker), configurable(_configurable) { }
+                      QString _units, bool _configurable) :
+	    type(_type), name(_name), description(_description),
+            friendlyName(_friendlyName),
+            maker(_maker), units(_units), configurable(_configurable) { }
+        QString type;
 	TransformName name;
 	QString description;
         QString friendlyName;
         QString maker;
+        QString units;
         bool configurable;
     };
     typedef std::vector<TransformDesc> TransformList;
 
     TransformList getAllTransforms();
 
+    std::vector<QString> getAllTransformTypes();
+
     /**
      * Get a configuration XML string for the given transform (by
      * asking the user, most likely).  Returns true if the transform
@@ -88,6 +94,8 @@
      */
     QString getTransformFriendlyName(TransformName name);
 
+    QString getTransformUnits(TransformName name);
+
     /**
      * Return true if the transform has any configurable parameters,
      * i.e. if getConfigurationForTransform can ever return a non-trivial