comparison transform/TransformFactory.h @ 60:3086ff194ea0

* More structural work on feature extraction plugin C <-> C++ adapter * Allow use of LADSPA/DSSI plugins with control outputs as feature extraction plugins (DSSI with MIDI output still to come) * Reorder labels on spectrogram status box * Minor tweaks in doc etc.
author Chris Cannam
date Mon, 27 Mar 2006 15:03:02 +0000
parents 7439f1696314
children ba405e5e69d3
comparison
equal deleted inserted replaced
59:9705a1978ecc 60:3086ff194ea0
31 31
32 // The name is intended to be computer-referenceable, and unique 32 // The name is intended to be computer-referenceable, and unique
33 // within the application. The description is intended to be 33 // within the application. The description is intended to be
34 // human readable. In principle it doesn't have to be unique, but 34 // human readable. In principle it doesn't have to be unique, but
35 // the factory will add suffixes to ensure that it is, all the 35 // the factory will add suffixes to ensure that it is, all the
36 // same (just to avoid user confusion). 36 // same (just to avoid user confusion). The friendly name is a
37 // shorter version of the description.
37 38
38 struct TransformDesc { 39 struct TransformDesc {
39 TransformDesc() { } 40 TransformDesc() { }
40 TransformDesc(TransformName _name, QString _description, bool _configurable) : 41 TransformDesc(TransformName _name, QString _description,
41 name(_name), description(_description), configurable(_configurable) { } 42 QString _friendlyName, QString _maker,
43 bool _configurable) :
44 name(_name), description(_description), friendlyName(_friendlyName),
45 maker(_maker), configurable(_configurable) { }
42 TransformName name; 46 TransformName name;
43 QString description; 47 QString description;
48 QString friendlyName;
49 QString maker;
44 bool configurable; 50 bool configurable;
45 }; 51 };
46 typedef std::vector<TransformDesc> TransformList; 52 typedef std::vector<TransformDesc> TransformList;
47 53
48 TransformList getAllTransforms(); 54 TransformList getAllTransforms();
114 120
115 typedef std::map<TransformName, TransformDesc> TransformDescriptionMap; 121 typedef std::map<TransformName, TransformDesc> TransformDescriptionMap;
116 TransformDescriptionMap m_transforms; 122 TransformDescriptionMap m_transforms;
117 123
118 void populateTransforms(); 124 void populateTransforms();
125 void populateFeatureExtractionPlugins(TransformDescriptionMap &);
126 void populateRealTimePlugins(TransformDescriptionMap &);
119 127
120 static TransformFactory *m_instance; 128 static TransformFactory *m_instance;
121 }; 129 };
122 130
123 131