Mercurial > hg > tony
changeset 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 | 925fa585e9e4 |
children | f7b2978d1d65 |
files | .hgsubstate src/Analyser.cpp src/MainWindow.cpp |
diffstat | 3 files changed, 21 insertions(+), 19 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgsubstate Wed Jan 08 13:42:12 2014 +0000 +++ b/.hgsubstate Wed Jan 08 17:48:09 2014 +0000 @@ -2,4 +2,4 @@ 3c5adc4a864fa75e5b1e67c260b77541aaa4f1f6 sv-dependency-builds 65b75e23bbd5f36fcc1bbc9073bbc12bddd34a78 svapp fe4772d113863a1654531f025e58dcf68e44922b svcore -1c4bbf8952bc1437752f9b7eb6fc1401329a8131 svgui +def489f5ce92bc62d0b16af676566087248f219a svgui
--- a/src/Analyser.cpp Wed Jan 08 13:42:12 2014 +0000 +++ b/src/Analyser.cpp Wed Jan 08 17:48:09 2014 +0000 @@ -26,6 +26,7 @@ #include "layer/TimeValueLayer.h" #include "layer/NoteLayer.h" #include "layer/FlexiNoteLayer.h" +#include "layer/WaveformLayer.h" #include "layer/ColourDatabase.h" #include "layer/LayerFactory.h" @@ -69,15 +70,26 @@ QString f0out = "smoothedpitchtrack"; QString noteout = "notes"; - // We don't want a waveform in the main pane. We must have a - // main-model layer of some sort, but the layers created by - // transforms are derived layers, so we'll create a time ruler for - // the main-model layer. It could subsequently be hidden if we - // didn't want it + // We need at least one main-model layer (time ruler, waveform or + // what have you). It could be hidden if we don't want to see it + // but it must exist. m_document->addLayerToView (m_pane, m_document->createMainModelLayer(LayerFactory::TimeRuler)); + // This waveform layer is just a shadow, light grey and taking up + // little space at the bottom + + WaveformLayer *waveform = qobject_cast<WaveformLayer *> + (m_document->createMainModelLayer(LayerFactory::Waveform)); + + waveform->setMiddleLineHeight(0.9); + waveform->setShowMeans(false); // too small & pale for this + waveform->setBaseColour + (ColourDatabase::getInstance()->getColourIndex(tr("Grey"))); + + m_document->addLayerToView(m_pane, waveform); + Transforms transforms; TransformFactory *tf = TransformFactory::getInstance();
--- a/src/MainWindow.cpp Wed Jan 08 13:42:12 2014 +0000 +++ b/src/MainWindow.cpp Wed Jan 08 17:48:09 2014 +0000 @@ -107,6 +107,7 @@ cdb->addColour(Qt::darkGreen, tr("Green")); cdb->addColour(QColor(200, 50, 255), tr("Purple")); cdb->addColour(QColor(255, 150, 50), tr("Orange")); + cdb->addColour(QColor(180, 180, 180), tr("Grey")); cdb->setUseDarkBackground(cdb->addColour(Qt::white, tr("White")), true); cdb->setUseDarkBackground(cdb->addColour(Qt::red, tr("Bright Red")), true); cdb->setUseDarkBackground(cdb->addColour(QColor(30, 150, 255), tr("Bright Blue")), true); @@ -155,8 +156,8 @@ scroll->setFrameShape(QFrame::NoFrame); // We have a pane stack: it comes with the territory. However, we - // have a fixed and known number of panes in it (e.g. 1) -- it - // isn't variable + // have a fixed and known number of panes in it -- it isn't + // variable m_paneStack->setLayoutStyle(PaneStack::NoPropertyStacks); scroll->setWidget(m_paneStack); @@ -1499,17 +1500,6 @@ Pane *pane = m_paneStack->getCurrentPane(); if (!pane) { pane = m_paneStack->addPane(); - - //!!! ugly. a waveform "shadow layer" might be nicer - Pane *p2 = m_paneStack->addPane(); - p2->setFixedHeight(60); - m_document->addLayerToView - (p2, - m_document->createMainModelLayer(LayerFactory::TimeRuler)); - m_document->addLayerToView - (p2, - m_document->createMainModelLayer(LayerFactory::Waveform)); - m_paneStack->sizePanesEqually(); } if (pane) { m_analyser->newFileLoaded