Mercurial > hg > svcore
view transform/FeatureExtractionPluginTransform.h @ 38:a6b2128eed56
* Continue MainWindow refactoring by making MainWindow actually use the new
Document class -- still somewhat unstable
* Fix crash in spectrogram layer
* Rename tonalestimator to TonalEstimator and add to project file
author | Chris Cannam |
---|---|
date | Fri, 03 Mar 2006 16:56:20 +0000 |
parents | d86891498eef |
children | 39ae3dee27b9 |
line wrap: on
line source
/* -*- c-basic-offset: 4 -*- vi:set ts=8 sts=4 sw=4: */ /* A waveform viewer and audio annotation editor. Chris Cannam, Queen Mary University of London, 2005-2006 This is experimental software. Not for distribution. */ #ifndef _FEATURE_EXTRACTION_PLUGIN_TRANSFORM_H_ #define _FEATURE_EXTRACTION_PLUGIN_TRANSFORM_H_ #include "Transform.h" #include "FeatureExtractionPlugin.h" class DenseTimeValueModel; class FeatureExtractionPluginTransform : public Transform { public: FeatureExtractionPluginTransform(Model *inputModel, QString plugin, QString outputName = ""); virtual ~FeatureExtractionPluginTransform(); protected: virtual void run(); FeatureExtractionPlugin *m_plugin; FeatureExtractionPlugin::OutputDescriptor *m_descriptor; int m_outputFeatureNo; void addFeature(size_t blockFrame, const FeatureExtractionPlugin::Feature &feature); void setCompletion(int); // just casts DenseTimeValueModel *getInput(); template <typename ModelClass> ModelClass *getOutput() { ModelClass *mc = dynamic_cast<ModelClass *>(m_output); if (!mc) { std::cerr << "FeatureExtractionPluginTransform::getOutput: Output model not conformable" << std::endl; } return mc; } }; #endif