summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Schürmann <daschuer@mixxx.org>2020-10-01 18:02:24 +0200
committerGitHub <noreply@github.com>2020-10-01 18:02:24 +0200
commit6704a1ad9ee56b6c5ae8071d27e1332cbb7be51a (patch)
tree109f75da4f25c18d7e802050680da034c4f671d9
parent7158758af4e48123cddb4215325fa112b1d57e73 (diff)
parent92f2b651e878c0ec863788c49ba931622008c9fa (diff)
Merge pull request #3143 from ronso0/pref-beatgrid-alpha
Waveform: apply configured beatgrid opacity after start
-rw-r--r--src/preferences/dialog/dlgprefwaveform.cpp5
-rw-r--r--src/waveform/renderers/waveformrenderbeat.cpp2
-rw-r--r--src/waveform/renderers/waveformwidgetrenderer.h2
-rw-r--r--src/waveform/waveformwidgetfactory.cpp28
-rw-r--r--src/waveform/waveformwidgetfactory.h2
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;