diff options
author | Daniel Schürmann <daschuer@mixxx.org> | 2020-10-01 18:02:24 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-01 18:02:24 +0200 |
commit | 6704a1ad9ee56b6c5ae8071d27e1332cbb7be51a (patch) | |
tree | 109f75da4f25c18d7e802050680da034c4f671d9 | |
parent | 7158758af4e48123cddb4215325fa112b1d57e73 (diff) | |
parent | 92f2b651e878c0ec863788c49ba931622008c9fa (diff) |
Merge pull request #3143 from ronso0/pref-beatgrid-alpha
Waveform: apply configured beatgrid opacity after start
-rw-r--r-- | src/preferences/dialog/dlgprefwaveform.cpp | 5 | ||||
-rw-r--r-- | src/waveform/renderers/waveformrenderbeat.cpp | 2 | ||||
-rw-r--r-- | src/waveform/renderers/waveformwidgetrenderer.h | 2 | ||||
-rw-r--r-- | src/waveform/waveformwidgetfactory.cpp | 28 | ||||
-rw-r--r-- | src/waveform/waveformwidgetfactory.h | 2 |
5 files changed, 20 insertions, 19 deletions
diff --git a/src/preferences/dialog/dlgprefwaveform.cpp b/src/preferences/dialog/dlgprefwaveform.cpp index 1e5fa917d6..71df719765 100644 --- a/src/preferences/dialog/dlgprefwaveform.cpp +++ b/src/preferences/dialog/dlgprefwaveform.cpp @@ -39,6 +39,7 @@ DlgPrefWaveform::DlgPrefWaveform(QWidget* pParent, MixxxMainWindow* pMixxx, // slotUpdate can generate rebootMixxxView calls. // TODO(XXX): Improve this awkwardness. slotUpdate(); + connect(frameRateSpinBox, SIGNAL(valueChanged(int)), this, @@ -157,8 +158,8 @@ void DlgPrefWaveform::slotUpdate() { // Round zoom to int to get a default zoom index. defaultZoomComboBox->setCurrentIndex(static_cast<int>(factory->getDefaultZoom()) - 1); playMarkerPositionSlider->setValue(factory->getPlayMarkerPosition() * 100); - beatGridAlphaSpinBox->setValue(factory->beatGridAlpha()); - beatGridAlphaSlider->setValue(factory->beatGridAlpha()); + beatGridAlphaSpinBox->setValue(factory->getBeatGridAlpha()); + beatGridAlphaSlider->setValue(factory->getBeatGridAlpha()); // By default we set RGB woverview = "2" int overviewType = m_pConfig->getValue( diff --git a/src/waveform/renderers/waveformrenderbeat.cpp b/src/waveform/renderers/waveformrenderbeat.cpp index 45e73b3afa..ae18d45144 100644 --- a/src/waveform/renderers/waveformrenderbeat.cpp +++ b/src/waveform/renderers/waveformrenderbeat.cpp @@ -34,7 +34,7 @@ void WaveformRenderBeat::draw(QPainter* painter, QPaintEvent* /*event*/) { if (!trackBeats) return; - int alpha = m_waveformRenderer->beatGridAlpha(); + int alpha = m_waveformRenderer->getBeatGridAlpha(); if (alpha == 0) return; m_beatColor.setAlphaF(alpha/100.0); diff --git a/src/waveform/renderers/waveformwidgetrenderer.h b/src/waveform/renderers/waveformwidgetrenderer.h index 291fade09f..c5bf856162 100644 --- a/src/waveform/renderers/waveformwidgetrenderer.h +++ b/src/waveform/renderers/waveformwidgetrenderer.h @@ -81,7 +81,7 @@ class WaveformWidgetRenderer { double getGain() const { return m_gain;} int getTrackSamples() const { return m_trackSamples;} - int beatGridAlpha() const { return m_alphaBeatGrid; } + int getBeatGridAlpha() const { return m_alphaBeatGrid; } void resize(int width, int height, float devicePixelRatio); int getHeight() const { return m_height;} diff --git a/src/waveform/waveformwidgetfactory.cpp b/src/waveform/waveformwidgetfactory.cpp index 3d82356d1b..ef81cf0f7b 100644 --- a/src/waveform/waveformwidgetfactory.cpp +++ b/src/waveform/waveformwidgetfactory.cpp @@ -347,9 +347,9 @@ bool WaveformWidgetFactory::setConfig(UserSettingsPointer config) { } void WaveformWidgetFactory::destroyWidgets() { - for (std::size_t i = 0; i < m_waveformWidgetHolders.size(); i++) { - WaveformWidgetAbstract* pWidget = m_waveformWidgetHolders[i].m_waveformWidget;; - m_waveformWidgetHolders[i].m_waveformWidget = NULL; + for (auto& holder : m_waveformWidgetHolders) { + WaveformWidgetAbstract* pWidget = holder.m_waveformWidget; + holder.m_waveformWidget = NULL; delete pWidget; } m_waveformWidgetHolders.clear(); @@ -512,13 +512,13 @@ bool WaveformWidgetFactory::setWidgetTypeFromHandle(int handleIndex, bool force) //qDebug() << "recreate start"; //re-create/setup all waveform widgets - for (std::size_t i = 0; i < m_waveformWidgetHolders.size(); i++) { - WaveformWidgetHolder& holder = m_waveformWidgetHolders[i]; + for (auto& holder : m_waveformWidgetHolders) { WaveformWidgetAbstract* previousWidget = holder.m_waveformWidget; TrackPointer pTrack = previousWidget->getTrackInfo(); //previousWidget->hold(); double previousZoom = previousWidget->getZoomFactor(); double previousPlayMarkerPosition = previousWidget->getPlayMarkerPosition(); + double previousbeatgridAlpha = previousWidget->getBeatGridAlpha(); delete previousWidget; WWaveformViewer* viewer = holder.m_waveformViewer; WaveformWidgetAbstract* widget = createWaveformWidget(m_type, holder.m_waveformViewer); @@ -527,6 +527,7 @@ bool WaveformWidgetFactory::setWidgetTypeFromHandle(int handleIndex, bool force) viewer->setup(holder.m_skinNodeCache, holder.m_skinContextCache); viewer->setZoom(previousZoom); viewer->setPlayMarkerPosition(previousPlayMarkerPosition); + viewer->setDisplayBeatGridAlpha(previousbeatgridAlpha); // resize() doesn't seem to get called on the widget. I think Qt skips // it since the size didn't change. //viewer->resize(viewer->size()); @@ -548,8 +549,8 @@ void WaveformWidgetFactory::setDefaultZoom(double zoom) { m_config->set(ConfigKey("[Waveform]","DefaultZoom"), ConfigValue(m_defaultZoom)); } - for (std::size_t i = 0; i < m_waveformWidgetHolders.size(); i++) { - m_waveformWidgetHolders[i].m_waveformViewer->setZoom(m_defaultZoom); + for (const auto& holder : m_waveformWidgetHolders) { + holder.m_waveformViewer->setZoom(m_defaultZoom); } } @@ -564,8 +565,8 @@ void WaveformWidgetFactory::setZoomSync(bool sync) { } double refZoom = m_waveformWidgetHolders[0].m_waveformWidget->getZoomFactor(); - for (std::size_t i = 1; i < m_waveformWidgetHolders.size(); i++) { - m_waveformWidgetHolders[i].m_waveformViewer->setZoom(refZoom); + for (const auto& holder : m_waveformWidgetHolders) { + holder.m_waveformViewer->setZoom(refZoom); } } @@ -575,10 +576,9 @@ void WaveformWidgetFactory::setDisplayBeatGridAlpha(int alpha) { return; } - for (std::size_t i = 0; i < m_waveformWidgetHolders.size(); i++) { - m_waveformWidgetHolders[i].m_waveformWidget->setDisplayBeatGridAlpha(m_beatGridAlpha); + for (const auto& holder : m_waveformWidgetHolders) { + holder.m_waveformWidget->setDisplayBeatGridAlpha(m_beatGridAlpha); } - } void WaveformWidgetFactory::setVisualGain(FilterIndex index, double gain) { @@ -699,8 +699,8 @@ void WaveformWidgetFactory::swap() { if (m_type) { // no regular updates for an empty waveform // Show rendered buffer from last render() run //qDebug() << "swap() start" << m_vsyncThread->elapsed(); - for (std::size_t i = 0; i < m_waveformWidgetHolders.size(); i++) { - WaveformWidgetAbstract* pWaveformWidget = m_waveformWidgetHolders[i].m_waveformWidget; + for (const auto& holder : m_waveformWidgetHolders) { + WaveformWidgetAbstract* pWaveformWidget = holder.m_waveformWidget; // Don't swap invalid / invisible widgets or widgets with an // unexposed window. Prevents continuous log spew of diff --git a/src/waveform/waveformwidgetfactory.h b/src/waveform/waveformwidgetfactory.h index 3f8f18751a..6fc991b717 100644 --- a/src/waveform/waveformwidgetfactory.h +++ b/src/waveform/waveformwidgetfactory.h @@ -105,7 +105,7 @@ class WaveformWidgetFactory : public QObject, public Singleton<WaveformWidgetFac int isZoomSync() const { return m_zoomSync;} void setDisplayBeatGridAlpha(int alpha); - int beatGridAlpha() const { return m_beatGridAlpha; } + int getBeatGridAlpha() const { return m_beatGridAlpha; } void setVisualGain(FilterIndex index, double gain); double getVisualGain(FilterIndex index) const; |