Mercurial > hg > svcore
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 |