comparison plugin/FeatureExtractionPluginFactory.h @ 66:7afcfe666910

* Modify to use Vamp SDK for proper feature extraction plugins. Requires that the vamp-plugin-sdk directory tree be present below plugin/ (it's separate in Subversion).
author Chris Cannam
date Fri, 31 Mar 2006 15:56:35 +0000
parents d397ea0a79f5
children c30728d5625c
comparison
equal deleted inserted replaced
65:e1aad27029e3 66:7afcfe666910
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 21
22 class FeatureExtractionPlugin; 22 namespace Vamp { class Plugin; }
23 23
24 class FeatureExtractionPluginFactory 24 class FeatureExtractionPluginFactory
25 { 25 {
26 public: 26 public:
27 static FeatureExtractionPluginFactory *instance(QString pluginType); 27 static FeatureExtractionPluginFactory *instance(QString pluginType);
28 static FeatureExtractionPluginFactory *instanceFor(QString identifier); 28 static FeatureExtractionPluginFactory *instanceFor(QString identifier);
29 static std::vector<QString> getAllPluginIdentifiers(); 29 static std::vector<QString> getAllPluginIdentifiers();
30 30
31 std::vector<QString> getPluginIdentifiers(); 31 virtual std::vector<QString> getPluginPath();
32
33 virtual std::vector<QString> getPluginIdentifiers();
34
35 virtual QString findPluginFile(QString soname, QString inDir = "");
32 36
33 // We don't set blockSize or channels on this -- they're 37 // We don't set blockSize or channels on this -- they're
34 // negotiated and handled via initialize() on the plugin 38 // negotiated and handled via initialize() on the plugin
35 virtual FeatureExtractionPlugin *instantiatePlugin(QString identifier, 39 virtual Vamp::Plugin *instantiatePlugin(QString identifier,
36 float inputSampleRate); 40 float inputSampleRate);
37 41
38 protected: 42 protected:
39 }; 43 };
40 44
41 #endif 45 #endif