diff options
author | Daniel Schürmann <daschuer@mixxx.org> | 2021-02-22 17:53:02 +0100 |
---|---|---|
committer | Daniel Schürmann <daschuer@mixxx.org> | 2021-03-02 09:54:40 +0100 |
commit | d7678f199913bc21488cc063663f9f09dc28ecbb (patch) | |
tree | b09898a64100b01689d49a2ce086cdeac0825307 /src/engine | |
parent | 439a9edd1d0c7d28b0f05263e9b6281eccc5ff46 (diff) |
make setBpm() const
Diffstat (limited to 'src/engine')
-rw-r--r-- | src/engine/controls/bpmcontrol.cpp | 35 |
1 files changed, 26 insertions, 9 deletions
diff --git a/src/engine/controls/bpmcontrol.cpp b/src/engine/controls/bpmcontrol.cpp index bcb570366c..a5be71cae0 100644 --- a/src/engine/controls/bpmcontrol.cpp +++ b/src/engine/controls/bpmcontrol.cpp @@ -161,20 +161,34 @@ double BpmControl::getBpm() const { } void BpmControl::slotAdjustBeatsFaster(double v) { - mixxx::BeatsPointer pBeats = m_pBeats; - if (v > 0 && pBeats && (pBeats->getCapabilities() & mixxx::Beats::BEATSCAP_SETBPM)) { + if (v <= 0) { + return; + } + TrackPointer pTrack = getEngineBuffer()->getLoadedTrack(); + if (!pTrack) { + return; + } + mixxx::BeatsPointer pBeats = pTrack->getBeats(); + if (pBeats && (pBeats->getCapabilities() & mixxx::Beats::BEATSCAP_SETBPM)) { double bpm = pBeats->getBpm(); double adjustedBpm = bpm + kBpmAdjustStep; - pBeats->setBpm(adjustedBpm); + pTrack->setBeats(pBeats->setBpm(adjustedBpm)); } } void BpmControl::slotAdjustBeatsSlower(double v) { - mixxx::BeatsPointer pBeats = m_pBeats; - if (v > 0 && pBeats && (pBeats->getCapabilities() & mixxx::Beats::BEATSCAP_SETBPM)) { + if (v <= 0) { + return; + } + TrackPointer pTrack = getEngineBuffer()->getLoadedTrack(); + if (!pTrack) { + return; + } + mixxx::BeatsPointer pBeats = pTrack->getBeats(); + if (pBeats && (pBeats->getCapabilities() & mixxx::Beats::BEATSCAP_SETBPM)) { double bpm = pBeats->getBpm(); double adjustedBpm = math_max(kBpmAdjustMin, bpm - kBpmAdjustStep); - pBeats->setBpm(adjustedBpm); + pTrack->setBeats(pBeats->setBpm(adjustedBpm)); } } @@ -225,11 +239,14 @@ void BpmControl::slotTapFilter(double averageLength, int numSamples) { return; } - mixxx::BeatsPointer pBeats = m_pBeats; + TrackPointer pTrack = getEngineBuffer()->getLoadedTrack(); + if (!pTrack) { + return; + } + mixxx::BeatsPointer pBeats = pTrack->getBeats(); if (!pBeats) { return; } - double rateRatio = m_pRateRatio->get(); if (rateRatio == 0.0) { return; @@ -238,7 +255,7 @@ void BpmControl::slotTapFilter(double averageLength, int numSamples) { // (60 seconds per minute) * (1000 milliseconds per second) / (X millis per // beat) = Y beats/minute double averageBpm = 60.0 * 1000.0 / averageLength / rateRatio; - pBeats->setBpm(averageBpm); + pTrack->setBeats(pBeats->setBpm(averageBpm)); } void BpmControl::slotControlBeatSyncPhase(double value) { |