From a9f0a533a0b85f62a6e3a70f2c4fe6004117f438 Mon Sep 17 00:00:00 2001 From: consolegrl <5942029+consolegrl@users.noreply.github.com> Date: Fri, 25 Aug 2023 21:16:34 -0400 Subject: [PATCH] fixes #6759: Tempo Sync Knob - Context menu string don't update on custom tempo (#6827) * fixed #6759: Context menu string doesn't update The TempoSyncKnobModel didn't emit any signal when the a SyncMode::Custom was recaclulated. Also it looks like someone broke the TempoSyncKnowModel bc SyncMode had been renamed to TempoSyncMode and the build was screaming. * fixed #6759: Knob custom tempo The TempoSyncKnobModel didn't emit any signal when the a SyncMode::Custom was recalculated. Also it looks like someone broke the TempoSyncKnowModel because SyncMode had been renamed to TempoSyncMode and the build was screaming. Recommit, fixed silly mistake where the signal would be emitted twice on mode change to Custom. * Update src/core/TempoSyncKnobModel.cpp Co-authored-by: saker * Update src/core/TempoSyncKnobModel.cpp Co-authored-by: saker * Use function pointers for connect TempoSyncKnob.cpp * Silly fp mistake fixed in TempoSyncKnob.cpp * Unfixed second macro call for now: TempoSyncKnob.cpp --------- Co-authored-by: saker --- src/core/TempoSyncKnobModel.cpp | 4 ++++ src/gui/widgets/TempoSyncKnob.cpp | 3 +-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/core/TempoSyncKnobModel.cpp b/src/core/TempoSyncKnobModel.cpp index e89716ab2..7f707478f 100644 --- a/src/core/TempoSyncKnobModel.cpp +++ b/src/core/TempoSyncKnobModel.cpp @@ -117,6 +117,10 @@ void TempoSyncKnobModel::calculateTempoSyncTime( bpm_t _bpm ) emit syncModeChanged( m_tempoSyncMode ); m_tempoLastSyncMode = m_tempoSyncMode; } + else if (m_tempoSyncMode == SyncMode::Custom) + { + emit syncModeChanged(m_tempoSyncMode); + } } diff --git a/src/gui/widgets/TempoSyncKnob.cpp b/src/gui/widgets/TempoSyncKnob.cpp index b58e61cf4..473cee28c 100644 --- a/src/gui/widgets/TempoSyncKnob.cpp +++ b/src/gui/widgets/TempoSyncKnob.cpp @@ -75,8 +75,7 @@ void TempoSyncKnob::modelChanged() { m_custom->setModel( &model()->m_custom ); } - connect( model(), SIGNAL(syncModeChanged(lmms::TempoSyncKnobModel::TempoSyncMode)), - this, SLOT(updateDescAndIcon())); + connect(model(), &TempoSyncKnobModel::syncModeChanged, this, &TempoSyncKnob::updateDescAndIcon); connect( this, SIGNAL(sliderMoved(float)), model(), SLOT(disableSync())); updateDescAndIcon();