Mercurial > hg > svcore
annotate plugin/FeatureExtractionPluginFactory.h @ 128:f47f4c7c158c
* Add FFT data server class to provide a file cache mapping for each
required set of FFT parameters and source model. Make use of it in
feature extraction plugin transform, though not in other places yet.
* Add zero-pad option to spectrogram layer and remove window shape option
from the property box. To be revised.
author | Chris Cannam |
---|---|
date | Mon, 26 Jun 2006 16:12:11 +0000 |
parents | c30728d5625c |
children | 735556300e10 |
rev | line source |
---|---|
Chris@49 | 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ |
Chris@0 | 2 |
Chris@0 | 3 /* |
Chris@52 | 4 Sonic Visualiser |
Chris@52 | 5 An audio file viewer and annotation editor. |
Chris@52 | 6 Centre for Digital Music, Queen Mary, University of London. |
Chris@52 | 7 This file copyright 2006 Chris Cannam. |
Chris@0 | 8 |
Chris@52 | 9 This program is free software; you can redistribute it and/or |
Chris@52 | 10 modify it under the terms of the GNU General Public License as |
Chris@52 | 11 published by the Free Software Foundation; either version 2 of the |
Chris@52 | 12 License, or (at your option) any later version. See the file |
Chris@52 | 13 COPYING included with this distribution for more information. |
Chris@0 | 14 */ |
Chris@0 | 15 |
Chris@0 | 16 #ifndef _FEATURE_EXTRACTION_PLUGIN_FACTORY_H_ |
Chris@0 | 17 #define _FEATURE_EXTRACTION_PLUGIN_FACTORY_H_ |
Chris@0 | 18 |
Chris@0 | 19 #include <QString> |
Chris@0 | 20 #include <vector> |
Chris@0 | 21 |
Chris@66 | 22 namespace Vamp { class Plugin; } |
Chris@0 | 23 |
Chris@0 | 24 class FeatureExtractionPluginFactory |
Chris@0 | 25 { |
Chris@0 | 26 public: |
Chris@0 | 27 static FeatureExtractionPluginFactory *instance(QString pluginType); |
Chris@0 | 28 static FeatureExtractionPluginFactory *instanceFor(QString identifier); |
Chris@0 | 29 static std::vector<QString> getAllPluginIdentifiers(); |
Chris@0 | 30 |
Chris@66 | 31 virtual std::vector<QString> getPluginPath(); |
Chris@66 | 32 |
Chris@66 | 33 virtual std::vector<QString> getPluginIdentifiers(); |
Chris@66 | 34 |
Chris@66 | 35 virtual QString findPluginFile(QString soname, QString inDir = ""); |
Chris@0 | 36 |
Chris@0 | 37 // We don't set blockSize or channels on this -- they're |
Chris@0 | 38 // negotiated and handled via initialize() on the plugin |
Chris@66 | 39 virtual Vamp::Plugin *instantiatePlugin(QString identifier, |
Chris@66 | 40 float inputSampleRate); |
Chris@0 | 41 |
Chris@0 | 42 protected: |
Chris@117 | 43 std::vector<QString> m_pluginPath; |
Chris@0 | 44 }; |
Chris@0 | 45 |
Chris@0 | 46 #endif |