Mercurial > hg > svgui
diff layer/WaveformLayer.cpp @ 1045:f535f6e5dbb0 alignment-simple
Merge in from SV 3.0-integration branches
author | Chris Cannam |
---|---|
date | Wed, 02 Mar 2016 17:25:27 +0000 |
parents | 2adca8f05583 |
children | c02c51ae5238 ee01a4062747 |
line wrap: on
line diff
--- a/layer/WaveformLayer.cpp Mon Jun 15 09:15:55 2015 +0100 +++ b/layer/WaveformLayer.cpp Wed Mar 02 17:25:27 2016 +0000 @@ -326,7 +326,7 @@ } int -WaveformLayer::getCompletion(View *) const +WaveformLayer::getCompletion(LayerGeometryProvider *) const { int completion = 100; if (!m_model || !m_model->isOK()) return completion; @@ -399,7 +399,7 @@ } bool -WaveformLayer::isLayerScrollable(const View *) const +WaveformLayer::isLayerScrollable(const LayerGeometryProvider *) const { return !m_autoNormalize; } @@ -408,7 +408,7 @@ -5, -3, -2, -1, -0.5, 0 }; bool -WaveformLayer::getSourceFramesForX(View *v, int x, int modelZoomLevel, +WaveformLayer::getSourceFramesForX(LayerGeometryProvider *v, int x, int modelZoomLevel, sv_frame_t &f0, sv_frame_t &f1) const { sv_frame_t viewFrame = v->getFrameForX(x); @@ -433,7 +433,7 @@ } float -WaveformLayer::getNormalizeGain(View *v, int channel) const +WaveformLayer::getNormalizeGain(LayerGeometryProvider *v, int channel) const { sv_frame_t startFrame = v->getStartFrame(); sv_frame_t endFrame = v->getEndFrame(); @@ -473,7 +473,7 @@ } void -WaveformLayer::paint(View *v, QPainter &viewPainter, QRect rect) const +WaveformLayer::paint(LayerGeometryProvider *v, QPainter &viewPainter, QRect rect) const { if (!m_model || !m_model->isOK()) { return; @@ -494,8 +494,8 @@ mergingChannels, mixingChannels); if (channels == 0) return; - int w = v->width(); - int h = v->height(); + int w = v->getPaintWidth(); + int h = v->getPaintHeight(); bool ready = m_model->isReady(); QPainter *paint; @@ -559,7 +559,7 @@ y1 = rect.bottom(); if (x0 > 0) --x0; - if (x1 < v->width()) ++x1; + if (x1 < w) ++x1; // Our zoom level may differ from that at which the underlying // model has its blocks. @@ -730,14 +730,17 @@ cerr << "WaveformLayer::paint: ERROR: i1 " << i1 << " > i0 " << i0 << " plus one (zoom = " << zoomLevel << ", model zoom = " << modelZoomLevel << ")" << endl; } - if (ranges && i0 < (int)ranges->size()) { + if (ranges && i0 < (sv_frame_t)ranges->size()) { - range = (*ranges)[i0]; + range = (*ranges)[size_t(i0)]; if (i1 > i0 && i1 < (int)ranges->size()) { - range.setMax(std::max(range.max(), (*ranges)[i1].max())); - range.setMin(std::min(range.min(), (*ranges)[i1].min())); - range.setAbsmean((range.absmean() + (*ranges)[i1].absmean()) / 2); + range.setMax(std::max(range.max(), + (*ranges)[size_t(i1)].max())); + range.setMin(std::min(range.min(), + (*ranges)[size_t(i1)].min())); + range.setAbsmean((range.absmean() + + (*ranges)[size_t(i1)].absmean()) / 2); } } else { @@ -751,30 +754,33 @@ if (mergingChannels) { - if (otherChannelRanges && i0 < (int)otherChannelRanges->size()) { + if (otherChannelRanges && i0 < (sv_frame_t)otherChannelRanges->size()) { range.setMax(fabsf(range.max())); - range.setMin(-fabsf((*otherChannelRanges)[i0].max())); + range.setMin(-fabsf((*otherChannelRanges)[size_t(i0)].max())); range.setAbsmean ((range.absmean() + - (*otherChannelRanges)[i0].absmean()) / 2); + (*otherChannelRanges)[size_t(i0)].absmean()) / 2); - if (i1 > i0 && i1 < (int)otherChannelRanges->size()) { + if (i1 > i0 && i1 < (sv_frame_t)otherChannelRanges->size()) { // let's not concern ourselves about the mean range.setMin (std::min (range.min(), - -fabsf((*otherChannelRanges)[i1].max()))); + -fabsf((*otherChannelRanges)[size_t(i1)].max()))); } } } else if (mixingChannels) { - if (otherChannelRanges && i0 < (int)otherChannelRanges->size()) { + if (otherChannelRanges && i0 < (sv_frame_t)otherChannelRanges->size()) { - range.setMax((range.max() + (*otherChannelRanges)[i0].max()) / 2); - range.setMin((range.min() + (*otherChannelRanges)[i0].min()) / 2); - range.setAbsmean((range.absmean() + (*otherChannelRanges)[i0].absmean()) / 2); + range.setMax((range.max() + + (*otherChannelRanges)[size_t(i0)].max()) / 2); + range.setMin((range.min() + + (*otherChannelRanges)[size_t(i0)].min()) / 2); + range.setAbsmean((range.absmean() + + (*otherChannelRanges)[size_t(i0)].absmean()) / 2); } } @@ -939,7 +945,7 @@ if (m_aggressive) { - if (ready && rect == v->rect()) { + if (ready && rect == v->getPaintRect()) { m_cacheValid = true; m_cacheZoomLevel = zoomLevel; } @@ -953,7 +959,7 @@ } QString -WaveformLayer::getFeatureDescription(View *v, QPoint &pos) const +WaveformLayer::getFeatureDescription(LayerGeometryProvider *v, QPoint &pos) const { int x = pos.x(); @@ -1036,7 +1042,7 @@ } int -WaveformLayer::getYForValue(const View *v, double value, int channel) const +WaveformLayer::getYForValue(const LayerGeometryProvider *v, double value, int channel) const { int channels = 0, minChannel = 0, maxChannel = 0; bool mergingChannels = false, mixingChannels = false; @@ -1046,7 +1052,7 @@ if (channels == 0) return 0; if (maxChannel < minChannel || channel < minChannel) return 0; - int h = v->height(); + int h = v->getPaintHeight(); int m = (h / channels) / 2; if ((m_scale == dBScale || m_scale == MeterScale) && @@ -1079,7 +1085,7 @@ } double -WaveformLayer::getValueForY(const View *v, int y, int &channel) const +WaveformLayer::getValueForY(const LayerGeometryProvider *v, int y, int &channel) const { int channels = 0, minChannel = 0, maxChannel = 0; bool mergingChannels = false, mixingChannels = false; @@ -1089,7 +1095,7 @@ if (channels == 0) return 0; if (maxChannel < minChannel) return 0; - int h = v->height(); + int h = v->getPaintHeight(); int m = (h / channels) / 2; if ((m_scale == dBScale || m_scale == MeterScale) && @@ -1125,7 +1131,7 @@ } bool -WaveformLayer::getYScaleValue(const View *v, int y, +WaveformLayer::getYScaleValue(const LayerGeometryProvider *v, int y, double &value, QString &unit) const { int channel; @@ -1151,7 +1157,7 @@ } bool -WaveformLayer::getYScaleDifference(const View *v, int y0, int y1, +WaveformLayer::getYScaleDifference(const LayerGeometryProvider *v, int y0, int y1, double &diff, QString &unit) const { int c0, c1; @@ -1189,7 +1195,7 @@ } int -WaveformLayer::getVerticalScaleWidth(View *, bool, QPainter &paint) const +WaveformLayer::getVerticalScaleWidth(LayerGeometryProvider *, bool, QPainter &paint) const { if (m_scale == LinearScale) { return paint.fontMetrics().width("0.0") + 13; @@ -1200,7 +1206,7 @@ } void -WaveformLayer::paintVerticalScale(View *v, bool, QPainter &paint, QRect rect) const +WaveformLayer::paintVerticalScale(LayerGeometryProvider *v, bool, QPainter &paint, QRect rect) const { if (!m_model || !m_model->isOK()) { return;