comparison plugin/FeatureExtractionPluginFactory.h @ 1464:91bb68146dfc

Add getPluginLibraryPath throughout, in order to provide diagnostic about which plugins were loaded from where
author Chris Cannam
date Fri, 11 May 2018 14:11:04 +0100
parents 9ae2ce9190e6
children 5f8fbbde08ff
comparison
equal deleted inserted replaced
1463:2b2b58ae8b59 1464:91bb68146dfc
32 virtual ~FeatureExtractionPluginFactory() { } 32 virtual ~FeatureExtractionPluginFactory() { }
33 33
34 /** 34 /**
35 * Return all installed plugin identifiers. 35 * Return all installed plugin identifiers.
36 */ 36 */
37 virtual std::vector<QString> getPluginIdentifiers(QString &errorMessage) { 37 virtual std::vector<QString> getPluginIdentifiers(QString &errorMsg) = 0;
38 return instance()->getPluginIdentifiers(errorMessage); 38
39 }
40
41 /** 39 /**
42 * Return static data for the given plugin. 40 * Return static data for the given plugin.
43 */ 41 */
44 virtual piper_vamp::PluginStaticData getPluginStaticData(QString identifier) { 42 virtual piper_vamp::PluginStaticData getPluginStaticData(QString ident) = 0;
45 return instance()->getPluginStaticData(identifier); 43
46 }
47
48 /** 44 /**
49 * Instantiate (load) and return pointer to the plugin with the 45 * Instantiate (load) and return pointer to the plugin with the
50 * given identifier, at the given sample rate. We don't set 46 * given identifier, at the given sample rate. We don't set
51 * blockSize or channels on this -- they're negotiated and handled 47 * blockSize or channels on this -- they're negotiated and handled
52 * via initialize() on the plugin itself after loading. 48 * via initialize() on the plugin itself after loading.
53 */ 49 */
54 virtual Vamp::Plugin *instantiatePlugin(QString identifier, 50 virtual Vamp::Plugin *instantiatePlugin(QString identifier,
55 sv_samplerate_t inputSampleRate) { 51 sv_samplerate_t inputSampleRate) = 0;
56 return instance()->instantiatePlugin(identifier, inputSampleRate); 52
57 }
58
59 /** 53 /**
60 * Get category metadata about a plugin (without instantiating it). 54 * Get category metadata about a plugin (without instantiating it).
61 */ 55 */
62 virtual QString getPluginCategory(QString identifier) { 56 virtual QString getPluginCategory(QString identifier) = 0;
63 return instance()->getPluginCategory(identifier); 57
64 } 58 /**
59 * Get the full file path (including both directory and filename)
60 * of the library file that provides a given plugin
61 * identifier. Note getPluginIdentifiers() must have been called
62 * before this has access to the necessary information.
63 */
64 virtual QString getPluginLibraryPath(QString identifier) = 0;
65 }; 65 };
66 66
67 #endif 67 #endif