annotate plugin/FeatureExtractionPluginFactory.h @ 14:b101cc2ae1ab

* Introduce potentially-separate read and write ring buffers, so we can swap in a new set when something changes -- thus allowing us to respond quickly when something changes during playback, without losing the long buffers * Some fixes for display & editing
author Chris Cannam
date Fri, 27 Jan 2006 18:04:07 +0000
parents d86891498eef
children 39ae3dee27b9
rev   line source
Chris@0 1 /* -*- c-basic-offset: 4 -*- vi:set ts=8 sts=4 sw=4: */
Chris@0 2
Chris@0 3 /*
Chris@0 4 A waveform viewer and audio annotation editor.
Chris@2 5 Chris Cannam, Queen Mary University of London, 2005-2006
Chris@0 6
Chris@0 7 This is experimental software. Not for distribution.
Chris@0 8 */
Chris@0 9
Chris@0 10 #ifndef _FEATURE_EXTRACTION_PLUGIN_FACTORY_H_
Chris@0 11 #define _FEATURE_EXTRACTION_PLUGIN_FACTORY_H_
Chris@0 12
Chris@0 13 #include <QString>
Chris@0 14 #include <vector>
Chris@0 15
Chris@0 16 class FeatureExtractionPlugin;
Chris@0 17
Chris@0 18 class FeatureExtractionPluginFactory
Chris@0 19 {
Chris@0 20 public:
Chris@0 21 static FeatureExtractionPluginFactory *instance(QString pluginType);
Chris@0 22 static FeatureExtractionPluginFactory *instanceFor(QString identifier);
Chris@0 23 static std::vector<QString> getAllPluginIdentifiers();
Chris@0 24
Chris@0 25 std::vector<QString> getPluginIdentifiers();
Chris@0 26
Chris@0 27 // We don't set blockSize or channels on this -- they're
Chris@0 28 // negotiated and handled via initialize() on the plugin
Chris@0 29 virtual FeatureExtractionPlugin *instantiatePlugin(QString identifier,
Chris@0 30 float inputSampleRate);
Chris@0 31
Chris@0 32 protected:
Chris@0 33 };
Chris@0 34
Chris@0 35 #endif