FeatureExtractionPluginFactory.h
Go to the documentation of this file.
1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
2 
3 /*
4  Sonic Visualiser
5  An audio file viewer and annotation editor.
6  Centre for Digital Music, Queen Mary, University of London.
7  This file copyright 2006-2016 Chris Cannam and QMUL.
8 
9  This program is free software; you can redistribute it and/or
10  modify it under the terms of the GNU General Public License as
11  published by the Free Software Foundation; either version 2 of the
12  License, or (at your option) any later version. See the file
13  COPYING included with this distribution for more information.
14 */
15 
16 #ifndef SV_FEATURE_EXTRACTION_PLUGIN_FACTORY_H
17 #define SV_FEATURE_EXTRACTION_PLUGIN_FACTORY_H
18 
19 #include <vamp-hostsdk/Plugin.h>
20 
21 #include "vamp-support/PluginStaticData.h"
22 
23 #include "base/BaseTypes.h"
24 
25 #include <QString>
26 
27 #include <memory>
28 
30 {
31 public:
33 
35 
39  virtual std::vector<QString> getPluginIdentifiers(QString &errorMsg) = 0;
40 
44  virtual piper_vamp::PluginStaticData getPluginStaticData(QString ident) = 0;
45 
52  virtual std::shared_ptr<Vamp::Plugin> instantiatePlugin(QString identifier,
53  sv_samplerate_t inputSampleRate) = 0;
54 
58  virtual QString getPluginCategory(QString identifier) = 0;
59 
66  virtual QString getPluginLibraryPath(QString identifier) = 0;
67 };
68 
69 #endif
double sv_samplerate_t
Sample rate.
Definition: BaseTypes.h:51
virtual std::vector< QString > getPluginIdentifiers(QString &errorMsg)=0
Return all installed plugin identifiers.
virtual QString getPluginLibraryPath(QString identifier)=0
Get the full file path (including both directory and filename) of the library file that provides a gi...
virtual std::shared_ptr< Vamp::Plugin > instantiatePlugin(QString identifier, sv_samplerate_t inputSampleRate)=0
Instantiate (load) and return pointer to the plugin with the given identifier, at the given sample ra...
static FeatureExtractionPluginFactory * instance()
virtual QString getPluginCategory(QString identifier)=0
Get category metadata about a plugin (without instantiating it).
virtual piper_vamp::PluginStaticData getPluginStaticData(QString ident)=0
Return static data for the given plugin.