comparison plugin/FeatureExtractionPluginFactory.h @ 165:5ae5885d6ce3

* Add support for plugin classification using category files. Add separate menus listing plugins by category, maker, and plugin name.
author Chris Cannam
date Thu, 21 Sep 2006 16:43:50 +0000
parents 735556300e10
children 57d7889f626c
comparison
equal deleted inserted replaced
164:da3701a3953e 165:5ae5885d6ce3
16 #ifndef _FEATURE_EXTRACTION_PLUGIN_FACTORY_H_ 16 #ifndef _FEATURE_EXTRACTION_PLUGIN_FACTORY_H_
17 #define _FEATURE_EXTRACTION_PLUGIN_FACTORY_H_ 17 #define _FEATURE_EXTRACTION_PLUGIN_FACTORY_H_
18 18
19 #include <QString> 19 #include <QString>
20 #include <vector> 20 #include <vector>
21 #include <map>
21 22
22 namespace Vamp { class Plugin; } 23 namespace Vamp { class Plugin; }
23 24
24 class FeatureExtractionPluginFactory 25 class FeatureExtractionPluginFactory
25 { 26 {
39 // We don't set blockSize or channels on this -- they're 40 // We don't set blockSize or channels on this -- they're
40 // negotiated and handled via initialize() on the plugin 41 // negotiated and handled via initialize() on the plugin
41 virtual Vamp::Plugin *instantiatePlugin(QString identifier, 42 virtual Vamp::Plugin *instantiatePlugin(QString identifier,
42 float inputSampleRate); 43 float inputSampleRate);
43 44
45 /**
46 * Get category metadata about a plugin (without instantiating it).
47 */
48 virtual QString getPluginCategory(QString identifier);
49
44 protected: 50 protected:
45 std::vector<QString> m_pluginPath; 51 std::vector<QString> m_pluginPath;
52 std::map<QString, QString> m_taxonomy;
53
54 void generateTaxonomy();
46 }; 55 };
47 56
48 #endif 57 #endif