From c0fc56eaea272a37bc82ef81fd97cc7d49bd7db5 Mon Sep 17 00:00:00 2001 From: Dave French Date: Wed, 7 Jan 2015 20:08:18 +0000 Subject: [PATCH 1/2] Proposed fix 888 Bar, Beat and Tick should follow dragged timeline --- src/gui/widgets/TimeDisplayWidget.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/gui/widgets/TimeDisplayWidget.cpp b/src/gui/widgets/TimeDisplayWidget.cpp index d2afe9240..01b447d92 100644 --- a/src/gui/widgets/TimeDisplayWidget.cpp +++ b/src/gui/widgets/TimeDisplayWidget.cpp @@ -106,12 +106,13 @@ void TimeDisplayWidget::updateTime() break; case BarsTicks: - m_majorLCD.setValue( s->getTacts() + 1 ); - m_minorLCD.setValue( ( s->getTicks() % s->ticksPerTact() ) / - ( s->ticksPerTact() / s->getTimeSigModel().getNumerator() ) +1 ); -; - m_milliSecondsLCD.setValue( ( s->getTicks() % s->ticksPerTact() ) % - ( s->ticksPerTact() / s->getTimeSigModel().getNumerator() ) ); + int tick; + tick = ( s->getMilliseconds() * s->getTempo() * 48 ) / 60000 ; + m_majorLCD.setValue( (int)(tick / s->ticksPerTact() ) + 1); + m_minorLCD.setValue( ( tick % s->ticksPerTact() ) / + ( s->ticksPerTact() / s->getTimeSigModel().getNumerator() ) +1 ); + m_milliSecondsLCD.setValue( ( tick % s->ticksPerTact() ) % + ( s->ticksPerTact() / s->getTimeSigModel().getNumerator() ) ); break; default: break; From 736c44ab8d6ef9cd7a3174a040f5b8dd0aba397e Mon Sep 17 00:00:00 2001 From: Dave French Date: Thu, 8 Jan 2015 08:37:07 +0000 Subject: [PATCH 2/2] 888 changed 48 to DefaultTicksPerTact/4 --- src/gui/widgets/TimeDisplayWidget.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/widgets/TimeDisplayWidget.cpp b/src/gui/widgets/TimeDisplayWidget.cpp index 01b447d92..981af4b43 100644 --- a/src/gui/widgets/TimeDisplayWidget.cpp +++ b/src/gui/widgets/TimeDisplayWidget.cpp @@ -107,7 +107,7 @@ void TimeDisplayWidget::updateTime() case BarsTicks: int tick; - tick = ( s->getMilliseconds() * s->getTempo() * 48 ) / 60000 ; + tick = ( s->getMilliseconds() * s->getTempo() * (DefaultTicksPerTact / 4 ) ) / 60000 ; m_majorLCD.setValue( (int)(tick / s->ticksPerTact() ) + 1); m_minorLCD.setValue( ( tick % s->ticksPerTact() ) / ( s->ticksPerTact() / s->getTimeSigModel().getNumerator() ) +1 );