comparison 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
comparison
equal deleted inserted replaced
13:b7b5eddfd2c7 14:7ab5ed737788
15 15
16 #include "Analyser.h" 16 #include "Analyser.h"
17 17
18 #include "transform/TransformFactory.h" 18 #include "transform/TransformFactory.h"
19 #include "transform/ModelTransformer.h" 19 #include "transform/ModelTransformer.h"
20 #include "transform/FeatureExtractionModelTransformer.h"
20 #include "framework/Document.h" 21 #include "framework/Document.h"
21 #include "data/model/WaveFileModel.h" 22 #include "data/model/WaveFileModel.h"
22 #include "view/Pane.h" 23 #include "view/Pane.h"
23 #include "view/PaneStack.h" 24 #include "view/PaneStack.h"
24 #include "layer/Layer.h" 25 #include "layer/Layer.h"
25 #include "layer/TimeValueLayer.h" 26 #include "layer/TimeValueLayer.h"
26 #include "layer/NoteLayer.h" 27 #include "layer/NoteLayer.h"
27 #include "layer/FlexiNoteLayer.h" 28 #include "layer/FlexiNoteLayer.h"
28 #include "layer/ColourDatabase.h" 29 #include "layer/ColourDatabase.h"
30 #include "layer/LayerFactory.h" // GF: added so we can access the FlexiNotes enum value.
29 31
30 Analyser::Analyser() : 32 Analyser::Analyser() :
31 m_document(0), 33 m_document(0),
32 m_fileModel(0), 34 m_fileModel(0),
33 m_pane(0) 35 m_pane(0)
44 { 46 {
45 m_document = doc; 47 m_document = doc;
46 m_fileModel = model; 48 m_fileModel = model;
47 m_pane = pane; 49 m_pane = pane;
48 50
49 TransformId f0 = "vamp:yintony:yintony:f0"; 51 // TransformId f0 = "vamp:yintony:yintony:f0";
52 TransformId f0 = "vamp:cepstral-pitchtracker:cepstral-pitchtracker:f0";
50 TransformId notes = "vamp:cepstral-pitchtracker:cepstral-pitchtracker:notes"; 53 TransformId notes = "vamp:cepstral-pitchtracker:cepstral-pitchtracker:notes";
51 54
52 // We don't want a waveform in the main pane. We must have a 55 // We don't want a waveform in the main pane. We must have a
53 // main-model layer of some sort, but the layers created by 56 // main-model layer of some sort, but the layers created by
54 // transforms are derived layers, so we'll create a time ruler for 57 // transforms are derived layers, so we'll create a time ruler for
72 } 75 }
73 76
74 layer = addLayerFor(notes); 77 layer = addLayerFor(notes);
75 78
76 if (layer) { 79 if (layer) {
77 NoteLayer *nl = qobject_cast<NoteLayer *>(layer); 80 FlexiNoteLayer *nl = qobject_cast<FlexiNoteLayer *>(layer);
78 if (nl) { 81 if (nl) {
82 // GF: delete this later !
83 std::cerr << "NOTE: layer type cast successful...." << std::endl;
79 nl->setBaseColour(ColourDatabase::getInstance()-> 84 nl->setBaseColour(ColourDatabase::getInstance()->
80 getColourIndex(QString("Bright Blue"))); 85 getColourIndex(QString("Bright Blue")));
81 } 86 }
82 } 87 }
83 88
99 104
100 transform.setStepSize(512); 105 transform.setStepSize(512);
101 transform.setBlockSize(2048); 106 transform.setBlockSize(2048);
102 107
103 ModelTransformer::Input input(m_fileModel, -1); 108 ModelTransformer::Input input(m_fileModel, -1);
109
110 FeatureExtractionModelTransformer::PreferredOutputModel preferredModel;
111
112 // preferredModel = FeatureExtractionModelTransformer::NoteOutputModel;
113 preferredModel = FeatureExtractionModelTransformer::FlexiNoteOutputModel;
114
115 // preferredLayer = LayerFactory::Notes ;
116 preferredLayer = LayerFactory::FlexiNotes ;
117 std::cerr << "NOTE: Trying to create layer type(" << preferredLayer << ")" << std::endl;
104 118
105 Layer *layer; 119 Layer *layer;
106 layer = m_document->createDerivedLayer(transform, m_fileModel); 120 layer = m_document->createDerivedLayer(transform, m_fileModel, preferredLayer, preferredModel);
121
107 if (layer) { 122 if (layer) {
108 m_document->addLayerToView(m_pane, layer); 123 m_document->addLayerToView(m_pane, layer);
109 } 124 } else {
125 std::cerr << "ERROR: Cound not create layer type(" << preferredLayer << ")" << std::endl;
126 }
110 127
111 return layer; 128 return layer;
112 } 129 }
113 130