Mercurial > hg > svcore
diff plugin/FeatureExtractionPluginFactory.h @ 1527:710e6250a401 zoom
Merge from default branch
author | Chris Cannam |
---|---|
date | Mon, 17 Sep 2018 13:51:14 +0100 |
parents | 91bb68146dfc |
children | 5f8fbbde08ff |
line wrap: on
line diff
--- a/plugin/FeatureExtractionPluginFactory.h Mon Dec 12 15:18:52 2016 +0000 +++ b/plugin/FeatureExtractionPluginFactory.h Mon Sep 17 13:51:14 2018 +0100 @@ -34,17 +34,13 @@ /** * Return all installed plugin identifiers. */ - virtual std::vector<QString> getPluginIdentifiers(QString &errorMessage) { - return instance()->getPluginIdentifiers(errorMessage); - } - + virtual std::vector<QString> getPluginIdentifiers(QString &errorMsg) = 0; + /** * Return static data for the given plugin. */ - virtual piper_vamp::PluginStaticData getPluginStaticData(QString identifier) { - return instance()->getPluginStaticData(identifier); - } - + virtual piper_vamp::PluginStaticData getPluginStaticData(QString ident) = 0; + /** * Instantiate (load) and return pointer to the plugin with the * given identifier, at the given sample rate. We don't set @@ -52,16 +48,20 @@ * via initialize() on the plugin itself after loading. */ virtual Vamp::Plugin *instantiatePlugin(QString identifier, - sv_samplerate_t inputSampleRate) { - return instance()->instantiatePlugin(identifier, inputSampleRate); - } - + sv_samplerate_t inputSampleRate) = 0; + /** * Get category metadata about a plugin (without instantiating it). */ - virtual QString getPluginCategory(QString identifier) { - return instance()->getPluginCategory(identifier); - } + virtual QString getPluginCategory(QString identifier) = 0; + + /** + * Get the full file path (including both directory and filename) + * of the library file that provides a given plugin + * identifier. Note getPluginIdentifiers() must have been called + * before this has access to the necessary information. + */ + virtual QString getPluginLibraryPath(QString identifier) = 0; }; #endif