Mercurial > hg > tony
changeset 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 |
files | .hgsubstate src/Analyser.cpp src/Analyser.h |
diffstat | 3 files changed, 30 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgsubstate Tue Mar 26 20:15:38 2013 +0000 +++ b/.hgsubstate Sat Apr 13 13:39:17 2013 +0100 @@ -1,3 +1,3 @@ -40a0fa9af6b4b9782a78b2c7b6829492e0d1a593 svapp -cb587575bc0d15c54b48172b488290dd0bc8f711 svcore -49afde2dd7048a9ed3fe2e9544fc8f21d2911a88 svgui +776e1aae635a468d6b2bcb5b21d2cb63e22faeac svapp +5295bdb588400e0b2d1a64604b57dfdecfcc0720 svcore +1336439dc05523f28073bbe2e443a1cebef3bbaf svgui
--- 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; }
--- a/src/Analyser.h Tue Mar 26 20:15:38 2013 +0000 +++ b/src/Analyser.h Sat Apr 13 13:39:17 2013 +0100 @@ -19,12 +19,15 @@ #include <QObject> #include "transform/Transform.h" +#include "layer/LayerFactory.h" // GF: added so we can access the FlexiNotes enum value. + class WaveFileModel; class Pane; class PaneStack; class Document; class Layer; +class LayerFactory; class Analyser : public QObject { @@ -43,6 +46,8 @@ Pane *m_pane; Layer *addLayerFor(TransformId); + LayerFactory::LayerType preferredLayer; + }; #endif