svcore
1.9
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 Chris Cannam.
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 _FEATURE_EXTRACTION_PLUGIN_FACTORY_H_
17
#define _FEATURE_EXTRACTION_PLUGIN_FACTORY_H_
18
19
#include <QString>
20
#include <vector>
21
#include <map>
22
23
#include <vamp-hostsdk/Plugin.h>
24
25
#include "
base/Debug.h
"
26
27
class
FeatureExtractionPluginFactory
28
{
29
public
:
30
virtual
~FeatureExtractionPluginFactory
() { }
31
32
static
FeatureExtractionPluginFactory
*
instance
(QString pluginType);
33
static
FeatureExtractionPluginFactory
*
instanceFor
(QString identifier);
34
static
std::vector<QString>
getAllPluginIdentifiers
();
35
36
virtual
std::vector<QString>
getPluginPath
();
37
38
virtual
std::vector<QString>
getPluginIdentifiers
();
39
40
virtual
QString
findPluginFile
(QString soname, QString inDir =
""
);
41
42
// We don't set blockSize or channels on this -- they're
43
// negotiated and handled via initialize() on the plugin
44
virtual
Vamp::Plugin *
instantiatePlugin
(QString identifier,
45
float
inputSampleRate);
46
50
virtual
QString
getPluginCategory
(QString identifier);
51
52
protected
:
53
std::vector<QString>
m_pluginPath
;
54
std::map<QString, QString>
m_taxonomy
;
55
56
friend
class
PluginDeletionNotifyAdapter
;
57
void
pluginDeleted
(Vamp::Plugin *);
58
std::map<Vamp::Plugin *, void *>
m_handleMap
;
59
60
void
generateTaxonomy
();
61
};
62
63
#endif
FeatureExtractionPluginFactory::instantiatePlugin
virtual Vamp::Plugin * instantiatePlugin(QString identifier, float inputSampleRate)
Definition:
FeatureExtractionPluginFactory.cpp:301
Debug.h
FeatureExtractionPluginFactory::m_pluginPath
std::vector< QString > m_pluginPath
Definition:
FeatureExtractionPluginFactory.h:53
FeatureExtractionPluginFactory::getPluginCategory
virtual QString getPluginCategory(QString identifier)
Get category metadata about a plugin (without instantiating it).
Definition:
FeatureExtractionPluginFactory.cpp:395
FeatureExtractionPluginFactory::generateTaxonomy
void generateTaxonomy()
Definition:
FeatureExtractionPluginFactory.cpp:401
FeatureExtractionPluginFactory::getPluginPath
virtual std::vector< QString > getPluginPath()
Definition:
FeatureExtractionPluginFactory.cpp:81
PluginDeletionNotifyAdapter
Definition:
FeatureExtractionPluginFactory.cpp:35
FeatureExtractionPluginFactory::instance
static FeatureExtractionPluginFactory * instance(QString pluginType)
Definition:
FeatureExtractionPluginFactory.cpp:59
FeatureExtractionPluginFactory
Definition:
FeatureExtractionPluginFactory.h:27
FeatureExtractionPluginFactory::~FeatureExtractionPluginFactory
virtual ~FeatureExtractionPluginFactory()
Definition:
FeatureExtractionPluginFactory.h:30
FeatureExtractionPluginFactory::pluginDeleted
void pluginDeleted(Vamp::Plugin *)
Definition:
FeatureExtractionPluginFactory.cpp:384
FeatureExtractionPluginFactory::m_taxonomy
std::map< QString, QString > m_taxonomy
Definition:
FeatureExtractionPluginFactory.h:54
FeatureExtractionPluginFactory::findPluginFile
virtual QString findPluginFile(QString soname, QString inDir="")
Definition:
FeatureExtractionPluginFactory.cpp:216
FeatureExtractionPluginFactory::getAllPluginIdentifiers
static std::vector< QString > getAllPluginIdentifiers()
Definition:
FeatureExtractionPluginFactory.cpp:91
FeatureExtractionPluginFactory::getPluginIdentifiers
virtual std::vector< QString > getPluginIdentifiers()
Definition:
FeatureExtractionPluginFactory.cpp:112
FeatureExtractionPluginFactory::instanceFor
static FeatureExtractionPluginFactory * instanceFor(QString identifier)
Definition:
FeatureExtractionPluginFactory.cpp:73
FeatureExtractionPluginFactory::m_handleMap
std::map< Vamp::Plugin *, void * > m_handleMap
Definition:
FeatureExtractionPluginFactory.h:58
plugin
FeatureExtractionPluginFactory.h
Generated by
1.8.15