Mercurial > hg > tony
diff src/Analyser.cpp @ 14:7ab5ed737788 tonioni
fixed flexi note layer and propagated model selection to analyser
author | gyorgyf |
---|---|
date | Sat, 13 Apr 2013 13:39:17 +0100 |
parents | b7b5eddfd2c7 |
children | 50ab01b77262 |
line wrap: on
line diff
--- a/src/Analyser.cpp Tue Mar 26 20:15:38 2013 +0000 +++ b/src/Analyser.cpp Sat Apr 13 13:39:17 2013 +0100 @@ -17,6 +17,7 @@ #include "transform/TransformFactory.h" #include "transform/ModelTransformer.h" +#include "transform/FeatureExtractionModelTransformer.h" #include "framework/Document.h" #include "data/model/WaveFileModel.h" #include "view/Pane.h" @@ -26,6 +27,7 @@ #include "layer/NoteLayer.h" #include "layer/FlexiNoteLayer.h" #include "layer/ColourDatabase.h" +#include "layer/LayerFactory.h" // GF: added so we can access the FlexiNotes enum value. Analyser::Analyser() : m_document(0), @@ -46,7 +48,8 @@ m_fileModel = model; m_pane = pane; - TransformId f0 = "vamp:yintony:yintony:f0"; + // TransformId f0 = "vamp:yintony:yintony:f0"; + TransformId f0 = "vamp:cepstral-pitchtracker:cepstral-pitchtracker:f0"; TransformId notes = "vamp:cepstral-pitchtracker:cepstral-pitchtracker:notes"; // We don't want a waveform in the main pane. We must have a @@ -74,8 +77,10 @@ layer = addLayerFor(notes); if (layer) { - NoteLayer *nl = qobject_cast<NoteLayer *>(layer); + FlexiNoteLayer *nl = qobject_cast<FlexiNoteLayer *>(layer); if (nl) { + // GF: delete this later ! + std::cerr << "NOTE: layer type cast successful...." << std::endl; nl->setBaseColour(ColourDatabase::getInstance()-> getColourIndex(QString("Bright Blue"))); } @@ -101,12 +106,24 @@ transform.setBlockSize(2048); ModelTransformer::Input input(m_fileModel, -1); + + FeatureExtractionModelTransformer::PreferredOutputModel preferredModel; + + // preferredModel = FeatureExtractionModelTransformer::NoteOutputModel; + preferredModel = FeatureExtractionModelTransformer::FlexiNoteOutputModel; + + // preferredLayer = LayerFactory::Notes ; + preferredLayer = LayerFactory::FlexiNotes ; + std::cerr << "NOTE: Trying to create layer type(" << preferredLayer << ")" << std::endl; Layer *layer; - layer = m_document->createDerivedLayer(transform, m_fileModel); + layer = m_document->createDerivedLayer(transform, m_fileModel, preferredLayer, preferredModel); + if (layer) { - m_document->addLayerToView(m_pane, layer); - } + m_document->addLayerToView(m_pane, layer); + } else { + std::cerr << "ERROR: Cound not create layer type(" << preferredLayer << ")" << std::endl; + } return layer; }