comparison src/Analyser.cpp @ 120:8ed567d30e34

Use a "shadow layer" for waveform in main pane -- not sure this is an improvement actually, but it does give us options
author Chris Cannam
date Wed, 08 Jan 2014 17:48:09 +0000
parents 4db051a704b2
children 06f9caf5928d
comparison
equal deleted inserted replaced
119:925fa585e9e4 120:8ed567d30e34
24 #include "view/PaneStack.h" 24 #include "view/PaneStack.h"
25 #include "layer/Layer.h" 25 #include "layer/Layer.h"
26 #include "layer/TimeValueLayer.h" 26 #include "layer/TimeValueLayer.h"
27 #include "layer/NoteLayer.h" 27 #include "layer/NoteLayer.h"
28 #include "layer/FlexiNoteLayer.h" 28 #include "layer/FlexiNoteLayer.h"
29 #include "layer/WaveformLayer.h"
29 #include "layer/ColourDatabase.h" 30 #include "layer/ColourDatabase.h"
30 #include "layer/LayerFactory.h" 31 #include "layer/LayerFactory.h"
31 32
32 #include <QSettings> 33 #include <QSettings>
33 34
67 68
68 QString base = "vamp:pyin:pyin:"; 69 QString base = "vamp:pyin:pyin:";
69 QString f0out = "smoothedpitchtrack"; 70 QString f0out = "smoothedpitchtrack";
70 QString noteout = "notes"; 71 QString noteout = "notes";
71 72
72 // We don't want a waveform in the main pane. We must have a 73 // We need at least one main-model layer (time ruler, waveform or
73 // main-model layer of some sort, but the layers created by 74 // what have you). It could be hidden if we don't want to see it
74 // transforms are derived layers, so we'll create a time ruler for 75 // but it must exist.
75 // the main-model layer. It could subsequently be hidden if we
76 // didn't want it
77 76
78 m_document->addLayerToView 77 m_document->addLayerToView
79 (m_pane, m_document->createMainModelLayer(LayerFactory::TimeRuler)); 78 (m_pane, m_document->createMainModelLayer(LayerFactory::TimeRuler));
79
80 // This waveform layer is just a shadow, light grey and taking up
81 // little space at the bottom
82
83 WaveformLayer *waveform = qobject_cast<WaveformLayer *>
84 (m_document->createMainModelLayer(LayerFactory::Waveform));
85
86 waveform->setMiddleLineHeight(0.9);
87 waveform->setShowMeans(false); // too small & pale for this
88 waveform->setBaseColour
89 (ColourDatabase::getInstance()->getColourIndex(tr("Grey")));
90
91 m_document->addLayerToView(m_pane, waveform);
80 92
81 Transforms transforms; 93 Transforms transforms;
82 94
83 TransformFactory *tf = TransformFactory::getInstance(); 95 TransformFactory *tf = TransformFactory::getInstance();
84 if (!tf->haveTransform(base + f0out) || !tf->haveTransform(base + noteout)) { 96 if (!tf->haveTransform(base + f0out) || !tf->haveTransform(base + noteout)) {