summaryrefslogtreecommitdiffstats
path: root/src/engine/controls/loopingcontrol.cpp
diff options
context:
space:
mode:
authorDaniel Schürmann <daschuer@mixxx.org>2020-04-13 12:39:06 +0200
committerDaniel Schürmann <daschuer@mixxx.org>2020-04-21 02:30:08 +0200
commit0faf8f377803db50917026c4284cf1a165bfbf77 (patch)
tree44f0b967c348b97a45a16ee4bd9a9975ce5bb6e7 /src/engine/controls/loopingcontrol.cpp
parent64ff4f40327768b5db660b4d959594d4edad75fe (diff)
LoopingControl: override trackBeatsUpdated()
Diffstat (limited to 'src/engine/controls/loopingcontrol.cpp')
-rw-r--r--src/engine/controls/loopingcontrol.cpp29
1 files changed, 9 insertions, 20 deletions
diff --git a/src/engine/controls/loopingcontrol.cpp b/src/engine/controls/loopingcontrol.cpp
index 98de547da5..42757b7fc1 100644
--- a/src/engine/controls/loopingcontrol.cpp
+++ b/src/engine/controls/loopingcontrol.cpp
@@ -872,19 +872,18 @@ bool LoopingControl::isLoopingEnabled() {
}
void LoopingControl::trackLoaded(TrackPointer pNewTrack) {
- if (m_pTrack) {
- disconnect(m_pTrack.get(), &Track::beatsUpdated,
- this, &LoopingControl::slotUpdatedTrackBeats);
+ m_pTrack = pNewTrack;
+ BeatsPointer pBeats;
+ if (pNewTrack) {
+ pBeats = pNewTrack->getBeats();
}
+ trackBeatsUpdated(pBeats);
+}
+void LoopingControl::trackBeatsUpdated(BeatsPointer pBeats) {
clearActiveBeatLoop();
-
- if (pNewTrack) {
- m_pTrack = pNewTrack;
- m_pBeats = m_pTrack->getBeats();
- connect(m_pTrack.get(), &Track::beatsUpdated,
- this, &LoopingControl::slotUpdatedTrackBeats);
-
+ m_pBeats = pBeats;
+ if (m_pBeats) {
LoopSamples loopSamples = m_loopSamples.getValue();
if (loopSamples.start != kNoTrigger && loopSamples.end != kNoTrigger) {
double loaded_loop_size = findBeatloopSizeForLoop(
@@ -893,16 +892,6 @@ void LoopingControl::trackLoaded(TrackPointer pNewTrack) {
m_pCOBeatLoopSize->setAndConfirm(loaded_loop_size);
}
}
- } else {
- m_pTrack.reset();
- m_pBeats.clear();
- }
-}
-
-void LoopingControl::slotUpdatedTrackBeats() {
- TrackPointer pTrack = m_pTrack;
- if (pTrack) {
- m_pBeats = pTrack->getBeats();
}
}