summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/analyzer/analyzerbeats.cpp2
-rw-r--r--src/engine/controls/bpmcontrol.cpp14
-rw-r--r--src/library/dao/trackdao.cpp8
-rw-r--r--src/library/dlgtrackinfo.cpp2
-rw-r--r--src/library/rekordbox/rekordboxfeature.cpp2
-rw-r--r--src/test/beatstranslatetest.cpp4
-rw-r--r--src/test/enginesynctest.cpp172
-rw-r--r--src/track/track.cpp9
-rw-r--r--src/track/track.h3
-rw-r--r--src/widget/wtrackmenu.cpp4
10 files changed, 115 insertions, 105 deletions
diff --git a/src/analyzer/analyzerbeats.cpp b/src/analyzer/analyzerbeats.cpp
index 6f01c2dbf6..0f0bf17e72 100644
--- a/src/analyzer/analyzerbeats.cpp
+++ b/src/analyzer/analyzerbeats.cpp
@@ -256,7 +256,7 @@ void AnalyzerBeats::storeResults(TrackPointer pTrack) {
pBeats = BeatFactory::makeBeatGrid(m_iSampleRate, bpm, 0.0f);
}
- pTrack->trySetBeats(pBeats, false);
+ pTrack->trySetBeats(pBeats);
}
// static
diff --git a/src/engine/controls/bpmcontrol.cpp b/src/engine/controls/bpmcontrol.cpp
index 67612b5778..2bb58317d9 100644
--- a/src/engine/controls/bpmcontrol.cpp
+++ b/src/engine/controls/bpmcontrol.cpp
@@ -172,7 +172,7 @@ void BpmControl::slotAdjustBeatsFaster(double v) {
if (pBeats && (pBeats->getCapabilities() & mixxx::Beats::BEATSCAP_SETBPM)) {
double bpm = pBeats->getBpm();
double adjustedBpm = bpm + kBpmAdjustStep;
- pTrack->trySetBeats(pBeats->setBpm(adjustedBpm), false);
+ pTrack->trySetBeats(pBeats->setBpm(adjustedBpm));
}
}
@@ -188,7 +188,7 @@ void BpmControl::slotAdjustBeatsSlower(double v) {
if (pBeats && (pBeats->getCapabilities() & mixxx::Beats::BEATSCAP_SETBPM)) {
double bpm = pBeats->getBpm();
double adjustedBpm = math_max(kBpmAdjustMin, bpm - kBpmAdjustStep);
- pTrack->trySetBeats(pBeats->setBpm(adjustedBpm), false);
+ pTrack->trySetBeats(pBeats->setBpm(adjustedBpm));
}
}
@@ -204,7 +204,7 @@ void BpmControl::slotTranslateBeatsEarlier(double v) {
if (pBeats &&
(pBeats->getCapabilities() & mixxx::Beats::BEATSCAP_TRANSLATE)) {
const double translate_dist = getSampleOfTrack().rate * -.01;
- pTrack->trySetBeats(pBeats->translate(translate_dist), false);
+ pTrack->trySetBeats(pBeats->translate(translate_dist));
}
}
@@ -221,7 +221,7 @@ void BpmControl::slotTranslateBeatsLater(double v) {
(pBeats->getCapabilities() & mixxx::Beats::BEATSCAP_TRANSLATE)) {
// TODO(rryan): Track::getSampleRate is possibly inaccurate!
const double translate_dist = getSampleOfTrack().rate * .01;
- pTrack->trySetBeats(pBeats->translate(translate_dist), false);
+ pTrack->trySetBeats(pBeats->translate(translate_dist));
}
}
@@ -255,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;
- pTrack->trySetBeats(pBeats->setBpm(averageBpm), false);
+ pTrack->trySetBeats(pBeats->setBpm(averageBpm));
}
void BpmControl::slotControlBeatSyncPhase(double value) {
@@ -1020,7 +1020,7 @@ void BpmControl::slotBeatsTranslate(double v) {
if (delta % 2 != 0) {
delta--;
}
- pTrack->trySetBeats(pBeats->translate(delta), false);
+ pTrack->trySetBeats(pBeats->translate(delta));
}
}
@@ -1039,7 +1039,7 @@ void BpmControl::slotBeatsTranslateMatchAlignment(double v) {
m_dUserOffset.setValue(0.0);
double offset = getPhaseOffset(getSampleOfTrack().current);
- pTrack->trySetBeats(pBeats->translate(-offset), false);
+ pTrack->trySetBeats(pBeats->translate(-offset));
}
}
diff --git a/src/library/dao/trackdao.cpp b/src/library/dao/trackdao.cpp
index 681e1a4a03..0528825a1e 100644
--- a/src/library/dao/trackdao.cpp
+++ b/src/library/dao/trackdao.cpp
@@ -1090,11 +1090,15 @@ bool setTrackBeats(const QSqlRecord& record, const int column,
const mixxx::BeatsPointer pBeats = BeatFactory::loadBeatsFromByteArray(
pTrack->getSampleRate(), beatsVersion, beatsSubVersion, beatsBlob);
if (pBeats) {
- pTrack->trySetBeats(pBeats, bpmLocked);
+ if (bpmLocked) {
+ pTrack->trySetAndLockBeats(pBeats);
+ } else {
+ pTrack->trySetBeats(pBeats);
+ }
} else {
// Load a temorary beat grid without offset that will be replaced by the analyzer.
const auto pBeats = BeatFactory::makeBeatGrid(pTrack->getSampleRate(), bpm, 0.0);
- pTrack->trySetBeats(pBeats, false);
+ pTrack->trySetBeats(pBeats);
}
return false;
}
diff --git a/src/library/dlgtrackinfo.cpp b/src/library/dlgtrackinfo.cpp
index 2e953e4381..eb77924aaf 100644
--- a/src/library/dlgtrackinfo.cpp
+++ b/src/library/dlgtrackinfo.cpp
@@ -396,7 +396,7 @@ void DlgTrackInfo::saveTrack() {
m_pLoadedTrack->setTrackNumber(txtTrackNumber->text());
m_pLoadedTrack->setComment(txtComment->toPlainText());
- m_pLoadedTrack->trySetBeats(m_pBeatsClone, false);
+ m_pLoadedTrack->trySetBeats(m_pBeatsClone);
reloadTrackBeats(*m_pLoadedTrack);
// If the user is editing the key and hits enter to close DlgTrackInfo, the
diff --git a/src/library/rekordbox/rekordboxfeature.cpp b/src/library/rekordbox/rekordboxfeature.cpp
index 80a52bb99b..f9bd652170 100644
--- a/src/library/rekordbox/rekordboxfeature.cpp
+++ b/src/library/rekordbox/rekordboxfeature.cpp
@@ -870,7 +870,7 @@ void readAnalyze(TrackPointer track,
static_cast<SINT>(sampleRate),
mixxx::rekordboxconstants::beatsSubversion,
beats);
- track->trySetBeats(pBeats, false);
+ track->trySetBeats(pBeats);
} break;
case rekordbox_anlz_t::SECTION_TAGS_CUES: {
if (ignoreCues) {
diff --git a/src/test/beatstranslatetest.cpp b/src/test/beatstranslatetest.cpp
index a5f13e0517..dbbdefdb8c 100644
--- a/src/test/beatstranslatetest.cpp
+++ b/src/test/beatstranslatetest.cpp
@@ -11,12 +11,12 @@ TEST_F(BeatsTranslateTest, SimpleTranslateMatch) {
const double firstBeat = 0.0;
auto grid1 = mixxx::BeatGrid::makeBeatGrid(
m_pTrack1->getSampleRate(), QString(), bpm, firstBeat);
- m_pTrack1->trySetBeats(grid1, false);
+ m_pTrack1->trySetBeats(grid1);
ASSERT_DOUBLE_EQ(firstBeat, grid1->findClosestBeat(0));
auto grid2 = mixxx::BeatGrid::makeBeatGrid(
m_pTrack2->getSampleRate(), QString(), bpm, firstBeat);
- m_pTrack2->trySetBeats(grid2, false);
+ m_pTrack2->trySetBeats(grid2);
ASSERT_DOUBLE_EQ(firstBeat, grid2->findClosestBeat(0));
// Seek deck 1 forward a bit.
diff --git a/src/test/enginesynctest.cpp b/src/test/enginesynctest.cpp
index 4216af58b3..038393fb73 100644
--- a/src/test/enginesynctest.cpp
+++ b/src/test/enginesynctest.cpp
@@ -194,9 +194,9 @@ TEST_F(EngineSyncTest, ExplicitMasterPersists) {
// If we set an explicit master, enabling sync or pressing play on other decks
// doesn't cause the master to move around.
mixxx::BeatsPointer pBeats1 = BeatFactory::makeBeatGrid(m_pTrack1->getSampleRate(), 120, 0.0);
- m_pTrack1->trySetBeats(pBeats1, false);
+ m_pTrack1->trySetBeats(pBeats1);
mixxx::BeatsPointer pBeats2 = BeatFactory::makeBeatGrid(m_pTrack2->getSampleRate(), 124, 0.0);
- m_pTrack2->trySetBeats(pBeats2, false);
+ m_pTrack2->trySetBeats(pBeats2);
auto pButtonMasterSync1 =
std::make_unique<ControlProxy>(m_sGroup1, "sync_mode");
@@ -226,11 +226,11 @@ TEST_F(EngineSyncTest, ExplicitMasterPersists) {
TEST_F(EngineSyncTest, SetMasterWhilePlaying) {
// Make sure we don't get two master lights if we change masters while playing.
mixxx::BeatsPointer pBeats1 = BeatFactory::makeBeatGrid(m_pTrack1->getSampleRate(), 120, 0.0);
- m_pTrack1->trySetBeats(pBeats1, false);
+ m_pTrack1->trySetBeats(pBeats1);
mixxx::BeatsPointer pBeats2 = BeatFactory::makeBeatGrid(m_pTrack2->getSampleRate(), 124, 0.0);
- m_pTrack2->trySetBeats(pBeats2, false);
+ m_pTrack2->trySetBeats(pBeats2);
mixxx::BeatsPointer pBeats3 = BeatFactory::makeBeatGrid(m_pTrack3->getSampleRate(), 128, 0.0);
- m_pTrack3->trySetBeats(pBeats3, false);
+ m_pTrack3->trySetBeats(pBeats3);
auto pButtonMasterSync1 =
std::make_unique<ControlProxy>(m_sGroup1, "sync_mode");
@@ -260,7 +260,7 @@ TEST_F(EngineSyncTest, SetMasterWhilePlaying) {
TEST_F(EngineSyncTest, SetEnabledBecomesMaster) {
// If we set the first channel with a valid tempo to follower, it should be master.
mixxx::BeatsPointer pBeats1 = BeatFactory::makeBeatGrid(m_pTrack1->getSampleRate(), 80, 0.0);
- m_pTrack1->trySetBeats(pBeats1, false);
+ m_pTrack1->trySetBeats(pBeats1);
auto pButtonMasterSync1 =
std::make_unique<ControlProxy>(m_sGroup1, "sync_mode");
pButtonMasterSync1->slotSet(SYNC_FOLLOWER);
@@ -287,10 +287,10 @@ TEST_F(EngineSyncTest, DisableInternalMasterWhilePlaying) {
// Make sure both decks are playing.
mixxx::BeatsPointer pBeats1 = BeatFactory::makeBeatGrid(m_pTrack1->getSampleRate(), 80, 0.0);
- m_pTrack1->trySetBeats(pBeats1, false);
+ m_pTrack1->trySetBeats(pBeats1);
ControlObject::getControl(ConfigKey(m_sGroup1, "play"))->set(1.0);
mixxx::BeatsPointer pBeats2 = BeatFactory::makeBeatGrid(m_pTrack2->getSampleRate(), 80, 0.0);
- m_pTrack2->trySetBeats(pBeats2, false);
+ m_pTrack2->trySetBeats(pBeats2);
ControlObject::getControl(ConfigKey(m_sGroup2, "play"))->set(1.0);
ProcessBuffer();
@@ -306,13 +306,13 @@ TEST_F(EngineSyncTest, DisableInternalMasterWhilePlaying) {
TEST_F(EngineSyncTest, DisableSyncOnMaster) {
// Channel 1 follower, channel 2 master.
mixxx::BeatsPointer pBeats1 = BeatFactory::makeBeatGrid(m_pTrack1->getSampleRate(), 130, 0.0);
- m_pTrack1->trySetBeats(pBeats1, false);
+ m_pTrack1->trySetBeats(pBeats1);
auto pButtonSyncMode1 =
std::make_unique<ControlProxy>(m_sGroup1, "sync_mode");
pButtonSyncMode1->slotSet(SYNC_FOLLOWER);
mixxx::BeatsPointer pBeats2 = BeatFactory::makeBeatGrid(m_pTrack2->getSampleRate(), 130, 0.0);
- m_pTrack2->trySetBeats(pBeats2, false);
+ m_pTrack2->trySetBeats(pBeats2);
auto pButtonSyncMaster2 =
std::make_unique<ControlProxy>(m_sGroup2, "sync_master");
pButtonSyncMaster2->slotSet(1.0);
@@ -344,7 +344,7 @@ TEST_F(EngineSyncTest, InternalMasterSetFollowerSliderMoves) {
// Set the file bpm of channel 1 to 80 bpm.
mixxx::BeatsPointer pBeats1 = BeatFactory::makeBeatGrid(m_pTrack1->getSampleRate(), 80, 0.0);
- m_pTrack1->trySetBeats(pBeats1, false);
+ m_pTrack1->trySetBeats(pBeats1);
auto pButtonMasterSync1 =
std::make_unique<ControlProxy>(m_sGroup1, "sync_mode");
@@ -362,7 +362,7 @@ TEST_F(EngineSyncTest, AnySyncDeckSliderStays) {
// master BPM if a new deck enables sync.
mixxx::BeatsPointer pBeats1 = BeatFactory::makeBeatGrid(m_pTrack1->getSampleRate(), 80, 0.0);
- m_pTrack1->trySetBeats(pBeats1, false);
+ m_pTrack1->trySetBeats(pBeats1);
auto pButtonSyncEnabled1 =
std::make_unique<ControlProxy>(m_sGroup1, "sync_enabled");
pButtonSyncEnabled1->set(1.0);
@@ -373,7 +373,7 @@ TEST_F(EngineSyncTest, AnySyncDeckSliderStays) {
->get());
mixxx::BeatsPointer pBeats2 = BeatFactory::makeBeatGrid(m_pTrack2->getSampleRate(), 100, 0.0);
- m_pTrack2->trySetBeats(pBeats2, false);
+ m_pTrack2->trySetBeats(pBeats2);
auto pButtonSyncEnabled2 =
std::make_unique<ControlProxy>(m_sGroup2, "sync_enabled");
pButtonSyncEnabled2->set(1.0);
@@ -397,11 +397,11 @@ TEST_F(EngineSyncTest, InternalClockFollowsFirstPlayingDeck) {
// Set up decks so they can be playing, and start deck 1.
mixxx::BeatsPointer pBeats1 = BeatFactory::makeBeatGrid(m_pTrack1->getSampleRate(), 100, 0.0);
- m_pTrack1->trySetBeats(pBeats1, false);
+ m_pTrack1->trySetBeats(pBeats1);
ControlObject::set(ConfigKey(m_sGroup1, "rate"), getRateSliderValue(1.0));
ControlObject::set(ConfigKey(m_sGroup1, "play"), 1.0);
mixxx::BeatsPointer pBeats2 = BeatFactory::makeBeatGrid(m_pTrack2->getSampleRate(), 130, 0.0);
- m_pTrack2->trySetBeats(pBeats2, false);
+ m_pTrack2->trySetBeats(pBeats2);
ControlObject::set(ConfigKey(m_sGroup2, "rate"), getRateSliderValue(1.0));
ControlObject::set(ConfigKey(m_sGroup2, "play"), 0.0);
ProcessBuffer();
@@ -467,10 +467,10 @@ TEST_F(EngineSyncTest, SetExplicitMasterByLights) {
// Set the file bpm of channel 1 to 160bpm.
mixxx::BeatsPointer pBeats1 = BeatFactory::makeBeatGrid(m_pTrack1->getSampleRate(), 160, 0.0);
- m_pTrack1->trySetBeats(pBeats1, false);
+ m_pTrack1->trySetBeats(pBeats1);
// Set the file bpm of channel 2 to 150bpm.
mixxx::BeatsPointer pBeats2 = BeatFactory::makeBeatGrid(m_pTrack2->getSampleRate(), 150, 0.0);
- m_pTrack2->trySetBeats(pBeats2, false);
+ m_pTrack2->trySetBeats(pBeats2);
// Set channel 1 to be explicit master.
pButtonSyncMaster1->slotSet(1.0);
@@ -553,7 +553,7 @@ TEST_F(EngineSyncTest, RateChangeTest) {
// Set the file bpm of channel 1 to 160bpm.
mixxx::BeatsPointer pBeats1 = BeatFactory::makeBeatGrid(m_pTrack1->getSampleRate(), 160, 0.0);
- m_pTrack1->trySetBeats(pBeats1, false);
+ m_pTrack1->trySetBeats(pBeats1);
EXPECT_DOUBLE_EQ(
160.0, ControlObject::get(ConfigKey(m_sGroup1, "file_bpm")));
ProcessBuffer();
@@ -572,7 +572,7 @@ TEST_F(EngineSyncTest, RateChangeTest) {
// Set the file bpm of channel 2 to 120bpm.
mixxx::BeatsPointer pBeats2 = BeatFactory::makeBeatGrid(m_pTrack2->getSampleRate(), 120, 0.0);
- m_pTrack2->trySetBeats(pBeats2, false);
+ m_pTrack2->trySetBeats(pBeats2);
EXPECT_DOUBLE_EQ(
120.0, ControlObject::get(ConfigKey(m_sGroup2, "file_bpm")));
@@ -594,13 +594,13 @@ TEST_F(EngineSyncTest, RateChangeTestWeirdOrder) {
// Set the file bpm of channel 1 to 160bpm.
mixxx::BeatsPointer pBeats1 = BeatFactory::makeBeatGrid(m_pTrack1->getSampleRate(), 160, 0.0);
- m_pTrack1->trySetBeats(pBeats1, false);
+ m_pTrack1->trySetBeats(pBeats1);
EXPECT_DOUBLE_EQ(
160.0, ControlObject::get(ConfigKey(m_sInternalClockGroup, "bpm")));
// Set the file bpm of channel 2 to 120bpm.
mixxx::BeatsPointer pBeats2 = BeatFactory::makeBeatGrid(m_pTrack2->getSampleRate(), 120, 0.0);
- m_pTrack2->trySetBeats(pBeats2, false);
+ m_pTrack2->trySetBeats(pBeats2);
// Set the rate slider of channel 1 to 1.2.
ControlObject::set(ConfigKey(m_sGroup1, "rate"), getRateSliderValue(1.2));
@@ -618,13 +618,13 @@ TEST_F(EngineSyncTest, RateChangeTestWeirdOrder) {
TEST_F(EngineSyncTest, RateChangeTestOrder3) {
// Set the file bpm of channel 1 to 160bpm.
mixxx::BeatsPointer pBeats1 = BeatFactory::makeBeatGrid(m_pTrack1->getSampleRate(), 160, 0.0);
- m_pTrack1->trySetBeats(pBeats1, false);
+ m_pTrack1->trySetBeats(pBeats1);
EXPECT_DOUBLE_EQ(
160.0, ControlObject::get(ConfigKey(m_sGroup1, "file_bpm")));
// Set the file bpm of channel 2 to 120bpm.
mixxx::BeatsPointer pBeats2 = BeatFactory::makeBeatGrid(m_pTrack2->getSampleRate(), 120, 0.0);
- m_pTrack2->trySetBeats(pBeats2, false);
+ m_pTrack2->trySetBeats(pBeats2);
EXPECT_DOUBLE_EQ(
120.0, ControlObject::get(ConfigKey(m_sGroup2, "file_bpm")));
@@ -662,11 +662,11 @@ TEST_F(EngineSyncTest, FollowerRateChange) {
// Set the file bpm of channel 1 to 160bpm.
mixxx::BeatsPointer pBeats1 = BeatFactory::makeBeatGrid(m_pTrack1->getSampleRate(), 160, 0.0);
- m_pTrack1->trySetBeats(pBeats1, false);
+ m_pTrack1->trySetBeats(pBeats1);
// Set the file bpm of channel 2 to 120bpm.
mixxx::BeatsPointer pBeats2 = BeatFactory::makeBeatGrid(m_pTrack2->getSampleRate(), 120, 0.0);
- m_pTrack2->trySetBeats(pBeats2, false);
+ m_pTrack2->trySetBeats(pBeats2);
// Set the rate slider of channel 1 to 1.2.
ControlObject::set(ConfigKey(m_sGroup1, "rate"), getRateSliderValue(1.2));
@@ -708,13 +708,13 @@ TEST_F(EngineSyncTest, InternalRateChangeTest) {
// Set the file bpm of channel 1 to 160bpm.
mixxx::BeatsPointer pBeats1 = BeatFactory::makeBeatGrid(m_pTrack1->getSampleRate(), 160, 0.0);
- m_pTrack1->trySetBeats(pBeats1, false);
+ m_pTrack1->trySetBeats(pBeats1);
EXPECT_DOUBLE_EQ(160.0,
ControlObject::getControl(ConfigKey(m_sGroup1, "file_bpm"))->get());
// Set the file bpm of channel 2 to 120bpm.
mixxx::BeatsPointer pBeats2 = BeatFactory::makeBeatGrid(m_pTrack2->getSampleRate(), 120, 0.0);
- m_pTrack2->trySetBeats(pBeats2, false);
+ m_pTrack2->trySetBeats(pBeats2);
EXPECT_DOUBLE_EQ(120.0,
ControlObject::getControl(ConfigKey(m_sGroup2, "file_bpm"))->get());
@@ -762,9 +762,9 @@ TEST_F(EngineSyncTest, InternalRateChangeTest) {
TEST_F(EngineSyncTest, MasterStopSliderCheck) {
// If the master is playing, and stop is pushed, the sliders should stay the same.
mixxx::BeatsPointer pBeats1 = BeatFactory::makeBeatGrid(m_pTrack1->getSampleRate(), 120, 0.0);
- m_pTrack1->trySetBeats(pBeats1, false);
+ m_pTrack1->trySetBeats(pBeats1);
mixxx::BeatsPointer pBeats2 = BeatFactory::makeBeatGrid(m_pTrack2->getSampleRate(), 128, 0.0);
- m_pTrack2->trySetBeats(pBeats2, false);
+ m_pTrack2->trySetBeats(pBeats2);
auto pButtonMasterSync1 =
std::make_unique<ControlProxy>(m_sGroup1, "sync_mode");
@@ -806,7 +806,7 @@ TEST_F(EngineSyncTest, EnableOneDeckInitsMaster) {
// Set up the deck to play.
mixxx::BeatsPointer pBeats1 = BeatFactory::makeBeatGrid(m_pTrack1->getSampleRate(), 130, 0.0);
- m_pTrack1->trySetBeats(pBeats1, false);
+ m_pTrack1->trySetBeats(pBeats1);
ControlObject::getControl(ConfigKey(m_sGroup1, "rate"))
->set(getRateSliderValue(1.0));
ControlObject::getControl(ConfigKey(m_sGroup1, "beat_distance"))->set(0.2);
@@ -833,7 +833,7 @@ TEST_F(EngineSyncTest, EnableOneDeckInitsMaster) {
// Enable second deck, bpm and beat distance should still match original setting.
mixxx::BeatsPointer pBeats2 = BeatFactory::makeBeatGrid(m_pTrack2->getSampleRate(), 140, 0.0);
- m_pTrack2->trySetBeats(pBeats2, false);
+ m_pTrack2->trySetBeats(pBeats2);
ControlObject::getControl(ConfigKey(m_sGroup2, "rate"))
->set(getRateSliderValue(1.0));
ControlObject::getControl(ConfigKey(m_sGroup2, "beat_distance"))->set(0.2);
@@ -860,7 +860,7 @@ TEST_F(EngineSyncTest, EnableOneDeckInitializesMaster) {
// Enabling sync on a deck causes it to be master, and sets bpm and clock.
// Set the deck to play.
mixxx::BeatsPointer pBeats1 = BeatFactory::makeBeatGrid(m_pTrack1->getSampleRate(), 130, 0.0);
- m_pTrack1->trySetBeats(pBeats1, false);
+ m_pTrack1->trySetBeats(pBeats1);
ControlObject::getControl(ConfigKey(m_sGroup1, "rate"))
->set(getRateSliderValue(1.0));
ControlObject::getControl(ConfigKey(m_sGroup1, "beat_distance"))->set(0.2);
@@ -1049,7 +1049,7 @@ TEST_F(EngineSyncTest, EnableOneDeckSliderUpdates) {
std::make_unique<ControlProxy>(m_sGroup1, "sync_enabled");
mixxx::BeatsPointer pBeats1 = BeatFactory::makeBeatGrid(m_pTrack1->getSampleRate(), 130, 0.0);
- m_pTrack1->trySetBeats(pBeats1, false);
+ m_pTrack1->trySetBeats(pBeats1);
ControlObject::getControl(ConfigKey(m_sGroup1, "rate"))
->set(getRateSliderValue(1.0));
@@ -1076,11 +1076,11 @@ TEST_F(EngineSyncTest, SyncToNonSyncDeck) {
std::make_unique<ControlProxy>(m_sGroup2, "sync_enabled");
mixxx::BeatsPointer pBeats1 = BeatFactory::makeBeatGrid(m_pTrack1->getSampleRate(), 130, 0.0);
- m_pTrack1->trySetBeats(pBeats1, false);
+ m_pTrack1->trySetBeats(pBeats1);
ProcessBuffer();
ControlObject::set(ConfigKey(m_sGroup1, "rate"), getRateSliderValue(1.0));
mixxx::BeatsPointer pBeats2 = BeatFactory::makeBeatGrid(m_pTrack2->getSampleRate(), 100, 0.0);
- m_pTrack2->trySetBeats(pBeats2, false);
+ m_pTrack2->trySetBeats(pBeats2);
ControlObject::getControl(ConfigKey(m_sGroup2, "rate"))
->set(getRateSliderValue(1.0));
@@ -1159,11 +1159,11 @@ TEST_F(EngineSyncTest, MomentarySyncDependsOnPlayingStates) {
// Set up decks so they can be playing, and start deck 1.
mixxx::BeatsPointer pBeats1 = BeatFactory::makeBeatGrid(m_pTrack1->getSampleRate(), 100, 0.0);
- m_pTrack1->trySetBeats(pBeats1, false);
+ m_pTrack1->trySetBeats(pBeats1);
ControlObject::set(ConfigKey(m_sGroup1, "rate"), getRateSliderValue(1.0));
ControlObject::set(ConfigKey(m_sGroup1, "play"), 1.0);
mixxx::BeatsPointer pBeats2 = BeatFactory::makeBeatGrid(m_pTrack2->getSampleRate(), 130, 0.0);
- m_pTrack2->trySetBeats(pBeats2, false);
+ m_pTrack2->trySetBeats(pBeats2);
ControlObject::set(ConfigKey(m_sGroup2, "rate"), getRateSliderValue(1.0));
ControlObject::set(ConfigKey(m_sGroup2, "play"), 1.0);
ProcessBuffer();
@@ -1232,7 +1232,7 @@ TEST_F(EngineSyncTest, EjectTrackSyncRemains) {
auto pButtonEject1 = std::make_unique<ControlProxy>(m_sGroup1, "eject");
mixxx::BeatsPointer pBeats1 = BeatFactory::makeBeatGrid(m_pTrack1->getSampleRate(), 120, 0.0);
- m_pTrack1->trySetBeats(pBeats1, false);
+ m_pTrack1->trySetBeats(pBeats1);
pButtonSyncEnabled1->set(1.0);
ProcessBuffer();
@@ -1257,7 +1257,7 @@ TEST_F(EngineSyncTest, EjectTrackSyncRemains) {
EXPECT_DOUBLE_EQ(128.0,
ControlObject::getControl(ConfigKey(m_sGroup1, "bpm"))->get());
mixxx::BeatsPointer pBeats2 = BeatFactory::makeBeatGrid(m_pTrack2->getSampleRate(), 135, 0.0);
- m_pTrack2->trySetBeats(pBeats2, false);
+ m_pTrack2->trySetBeats(pBeats2);
pButtonSyncEnabled2->set(1.0);
ProcessBuffer();
@@ -1266,7 +1266,7 @@ TEST_F(EngineSyncTest, EjectTrackSyncRemains) {
ASSERT_TRUE(isFollower(m_sGroup2));
pButtonEject1->set(1.0);
- m_pTrack1->trySetBeats(mixxx::BeatsPointer(), false);
+ m_pTrack1->trySetBeats(mixxx::BeatsPointer());
ProcessBuffer();
ASSERT_TRUE(isFollower(m_sInternalClockGroup));
@@ -1277,21 +1277,21 @@ TEST_F(EngineSyncTest, EjectTrackSyncRemains) {
TEST_F(EngineSyncTest, FileBpmChangesDontAffectMaster) {
// If filebpm changes, don't treat it like a rate change.
mixxx::BeatsPointer pBeats1 = BeatFactory::makeBeatGrid(m_pTrack1->getSampleRate(), 100, 0.0);
- m_pTrack1->trySetBeats(pBeats1, false);
+ m_pTrack1->trySetBeats(pBeats1);
auto pButtonSyncEnabled1 =
std::make_unique<ControlProxy>(m_sGroup1, "sync_enabled");
pButtonSyncEnabled1->set(1.0);
ProcessBuffer();
mixxx::BeatsPointer pBeats2 = BeatFactory::makeBeatGrid(m_pTrack2->getSampleRate(), 120, 0.0);
- m_pTrack2->trySetBeats(pBeats2, false);
+ m_pTrack2->trySetBeats(pBeats2);
auto pButtonSyncEnabled2 =
std::make_unique<ControlProxy>(m_sGroup2, "sync_enabled");
pButtonSyncEnabled2->set(1.0);
ProcessBuffer();
pBeats1 = BeatFactory::makeBeatGrid(m_pTrack1->getSampleRate(), 160, 0.0);
- m_pTrack1->trySetBeats(pBeats1, false);
+ m_pTrack1->trySetBeats(pBeats1);
EXPECT_DOUBLE_EQ(
100.0, ControlObject::get(ConfigKey(m_sInternalClockGroup, "bpm")));
}
@@ -1303,7 +1303,7 @@ TEST_F(EngineSyncTest, ExplicitMasterPostProcessed) {
std::make_unique<ControlProxy>(m_sGroup1, "sync_mode");
pButtonMasterSync1->slotSet(SYNC_MASTER_EXPLICIT);
mixxx::BeatsPointer pBeats1 = BeatFactory::makeBeatGrid(m_pTrack1->getSampleRate(), 160, 0.0);
- m_pTrack1->trySetBeats(pBeats1, false);
+ m_pTrack1->trySetBeats(pBeats1);
ProcessBuffer();
ControlObject::getControl(ConfigKey(m_sGroup1, "play"))->set(1.0);
ProcessBuffer();
@@ -1317,7 +1317,7 @@ TEST_F(EngineSyncTest, ZeroBPMRateAdjustIgnored) {
// If a track isn't loaded (0 bpm), but the deck has sync enabled,
// don't pay attention to rate changes.
mixxx::BeatsPointer pBeats1 = BeatFactory::makeBeatGrid(m_pTrack1->getSampleRate(), 0, 0.0);
- m_pTrack1->trySetBeats(pBeats1, false);
+ m_pTrack1->trySetBeats(pBeats1);
auto pButtonSyncEnabled1 =
std::make_unique<ControlProxy>(m_sGroup1, "sync_enabled");
pButtonSyncEnabled1->set(1.0);
@@ -1326,7 +1326,7 @@ TEST_F(EngineSyncTest, ZeroBPMRateAdjustIgnored) {
ProcessBuffer();
mixxx::BeatsPointer pBeats2 = BeatFactory::makeBeatGrid(m_pTrack2->getSampleRate(), 120, 0.0);
- m_pTrack2->trySetBeats(pBeats2, false);
+ m_pTrack2->trySetBeats(pBeats2);
auto pButtonSyncEnabled2 =
std::make_unique<ControlProxy>(m_sGroup2, "sync_enabled");
pButtonSyncEnabled2->set(1.0);
@@ -1362,9 +1362,9 @@ TEST_F(EngineSyncTest, ZeroLatencyRateChangeNoQuant) {
// Confirm that a rate change in an explicit master is instantly communicated
// to followers.
mixxx::BeatsPointer pBeats1 = BeatFactory::makeBeatGrid(m_pTrack1->getSampleRate(), 128, 0.0);
- m_pTrack1->trySetBeats(pBeats1, false);
+ m_pTrack1->trySetBeats(pBeats1);
mixxx::BeatsPointer pBeats2 = BeatFactory::makeBeatGrid(m_pTrack2->getSampleRate(), 160, 0.0);
- m_pTrack2->trySetBeats(pBeats2, false);
+ m_pTrack2->trySetBeats(pBeats2);
// Make Channel2 master to weed out any channel ordering issues.
ControlObject::getControl(ConfigKey(m_sGroup2, "sync_mode"))
@@ -1410,9 +1410,9 @@ TEST_F(EngineSyncTest, ZeroLatencyRateChangeQuant) {
// Confirm that a rate change in an explicit master is instantly communicated
// to followers.
mixxx::BeatsPointer pBeats1 = BeatFactory::makeBeatGrid(m_pTrack1->getSampleRate(), 128, 0.0);
- m_pTrack1->trySetBeats(pBeats1, false);
+ m_pTrack1->trySetBeats(pBeats1);
mixxx::BeatsPointer pBeats2 = BeatFactory::makeBeatGrid(m_pTrack2->getSampleRate(), 160, 0.0);
- m_pTrack2->trySetBeats(pBeats2, false);
+ m_pTrack2->trySetBeats(pBeats2);
ControlObject::getControl(ConfigKey(m_sGroup1, "quantize"))->set(1.0);
ControlObject::getControl(ConfigKey(m_sGroup2, "quantize"))->set(1.0);
@@ -1461,9 +1461,9 @@ TEST_F(EngineSyncTest, ZeroLatencyRateDiffQuant) {
// Confirm that a rate change in an explicit master is instantly communicated
// to followers.
mixxx::BeatsPointer pBeats1 = BeatFactory::makeBeatGrid(m_pTrack1->getSampleRate(), 128, 0.0);
- m_pTrack1->trySetBeats(pBeats1, false);
+ m_pTrack1->trySetBeats(pBeats1);
mixxx::BeatsPointer pBeats2 = BeatFactory::makeBeatGrid(m_pTrack2->getSampleRate(), 160, 0.0);
- m_pTrack2->trySetBeats(pBeats2, false);
+ m_pTrack2->trySetBeats(pBeats2);
ControlObject::getControl(ConfigKey(m_sGroup2, "quantize"))->set(1.0);
@@ -1513,9 +1513,9 @@ TEST_F(EngineSyncTest, ZeroLatencyRateDiffQuant) {
// This test exercises https://bugs.launchpad.net/mixxx/+bug/1884324
TEST_F(EngineSyncTest, ActivatingSyncDoesNotCauseDrifting) {
mixxx::BeatsPointer pBeats1 = BeatFactory::makeBeatGrid(m_pTrack1->getSampleRate(), 150, 0.0);
- m_pTrack1->trySetBeats(pBeats1, false);
+ m_pTrack1->trySetBeats(pBeats1);
mixxx::BeatsPointer pBeats2 = BeatFactory::makeBeatGrid(m_pTrack2->getSampleRate(), 150, 0.0);
- m_pTrack2->trySetBeats(pBeats2, false);
+ m_pTrack2->trySetBeats(pBeats2);
ControlObject::getControl(ConfigKey(m_sGroup1, "quantize"))->set(0.0);
ControlObject::getControl(ConfigKey(m_sGroup2, "quantize"))->set(1.0);
@@ -1557,9 +1557,9 @@ TEST_F(EngineSyncTest, ActivatingSyncDoesNotCauseDrifting) {
TEST_F(EngineSyncTest, HalfDoubleBpmTest) {
mixxx::BeatsPointer pBeats1 = BeatFactory::makeBeatGrid(m_pTrack1->getSampleRate(), 70, 0.0);
- m_pTrack1->trySetBeats(pBeats1, false);
+ m_pTrack1->trySetBeats(pBeats1);
mixxx::BeatsPointer pBeats2 = BeatFactory::makeBeatGrid(m_pTrack2->getSampleRate(), 140, 0.0);
- m_pTrack2->trySetBeats(pBeats2, false);
+ m_pTrack2->trySetBeats(pBeats2);
ControlObject::getControl(ConfigKey(m_sGroup1, "quantize"))->set(1.0);
ControlObject::getControl(ConfigKey(m_sGroup2, "quantize"))->set(1.0);
@@ -1650,9 +1650,9 @@ TEST_F(EngineSyncTest, HalfDoubleThenPlay) {
// If a deck plays that had its multiplier set, we need to reset the
// internal clock.
mixxx::BeatsPointer pBeats1 = BeatFactory::makeBeatGrid(m_pTrack1->getSampleRate(), 80, 0.0);
- m_pTrack1->trySetBeats(pBeats1, false);
+ m_pTrack1->trySetBeats(pBeats1);
mixxx::BeatsPointer pBeats2 = BeatFactory::makeBeatGrid(m_pTrack2->getSampleRate(), 175, 0.0);
- m_pTrack2->trySetBeats(pBeats2, false);
+ m_pTrack2->trySetBeats(pBeats2);
ControlObject::getControl(ConfigKey(m_sGroup1, "rate"))
->set(getRateSliderValue(1.0));
@@ -1753,9 +1753,9 @@ TEST_F(EngineSyncTest, HalfDoubleThenPlay) {
TEST_F(EngineSyncTest, HalfDoubleInternalClockTest) {
// If we set the file_bpm CO's directly, the correct signals aren't fired.
mixxx::BeatsPointer pBeats1 = BeatFactory::makeBeatGrid(m_pTrack1->getSampleRate(), 70, 0.0);
- m_pTrack1->trySetBeats(pBeats1, false);
+ m_pTrack1->trySetBeats(pBeats1);
mixxx::BeatsPointer pBeats2 = BeatFactory::makeBeatGrid(m_pTrack2->getSampleRate(), 140, 0.0);
- m_pTrack2->trySetBeats(pBeats2, false);
+ m_pTrack2->trySetBeats(pBeats2);
ControlObject::getControl(ConfigKey(m_sGroup1, "quantize"))->set(1.0);
ControlObject::getControl(ConfigKey(m_sGroup2, "quantize"))->set(1.0);
@@ -1791,13 +1791,13 @@ TEST_F(EngineSyncTest, HalfDoubleConsistency) {
QVector<double> beats1 =
createBeatVector(startOffsetFrames, numBeats, beatLengthFrames);
auto pBeats1 = mixxx::BeatMap::makeBeatMap(m_pTrack1->getSampleRate(), QString(), beats1);
- m_pTrack1->trySetBeats(pBeats1, false);
+ m_pTrack1->trySetBeats(pBeats1);
beatLengthFrames = 60.0 * 44100 / 145.0;
QVector<double> beats2 =
createBeatVector(startOffsetFrames, numBeats, beatLengthFrames);
auto pBeats2 = mixxx::BeatMap::makeBeatMap(m_pTrack2->getSampleRate(), QString(), beats2);
- m_pTrack2->trySetBeats(pBeats2, false);
+ m_pTrack2->trySetBeats(pBeats2);
ControlObject::getControl(ConfigKey(m_sGroup1, "play"))->set(1.0);
ControlObject::getControl(ConfigKey(m_sGroup2, "sync_enabled"))->set(1);
@@ -1824,7 +1824,7 @@ TEST_F(EngineSyncTest, HalfDoubleConsistency) {
TEST_F(EngineSyncTest, SetFileBpmUpdatesLocalBpm) {
ControlObject::getControl(ConfigKey(m_sGroup1, "beat_distance"))->set(0.2);
mixxx::BeatsPointer pBeats1 = BeatFactory::makeBeatGrid(m_pTrack1->getSampleRate(), 130, 0.0);
- m_pTrack1->trySetBeats(pBeats1, false);
+ m_pTrack1->trySetBeats(pBeats1);
ASSERT_EQ(
130.0, m_pEngineSync->getSyncableForGroup(m_sGroup1)->getBaseBpm());
}
@@ -1836,14 +1836,14 @@ TEST_F(EngineSyncTest, SyncPhaseToPlayingNonSyncDeck) {
auto pButtonSyncEnabled1 =
std::make_unique<ControlProxy>(m_sGroup1, "sync_enabled");
mixxx::BeatsPointer pBeats1 = BeatFactory::makeBeatGrid(m_pTrack1->getSampleRate(), 130, 0.0);
- m_pTrack1->trySetBeats(pBeats1, false);
+ m_pTrack1->trySetBeats(pBeats1);
ControlObject::getControl(ConfigKey(m_sGroup1, "quantize"))->set(1.0);
auto pButtonSyncEnabled2 =
std::make_unique<ControlProxy>(m_sGroup2, "sync_enabled");
ControlObject::set(ConfigKey(m_sGroup2, "rate_ratio"), 1.0);
mixxx::BeatsPointer pBeats2 = BeatFactory::makeBeatGrid(m_pTrack2->getSampleRate(), 100, 0.0);
- m_pTrack2->trySetBeats(pBeats2, false);
+ m_pTrack2->trySetBeats(pBeats2);
// Set the sync deck playing with nothing else active.
// Next Deck becomes master and the Master clock is set to 100 BPM
@@ -1926,7 +1926,7 @@ TEST_F(EngineSyncTest, SyncPhaseToPlayingNonSyncDeck) {
ControlObject::set(ConfigKey(m_sGroup3, "beat_distance"), 0.6);
ControlObject::set(ConfigKey(m_sGroup2, "rate_ratio"), 1.0);
mixxx::BeatsPointer pBeats3 = BeatFactory::makeBeatGrid(m_pTrack3->getSampleRate(), 140, 0.0);
- m_pTrack3->trySetBeats(pBeats3, false);
+ m_pTrack3->trySetBeats(pBeats3);
// This will sync to the first deck here and not the second (lp1784185)
pButtonSyncEnabled3->set(1.0);
ProcessBuffer();
@@ -1967,9 +1967,9 @@ TEST_F(EngineSyncTest, UserTweakBeatDistance) {
// is used to reseed the master beat distance, make sure the user offset
// is reset.
mixxx::BeatsPointer pBeats1 = BeatFactory::makeBeatGrid(m_pTrack1->getSampleRate(), 128, 0.0);
- m_pTrack1->trySetBeats(pBeats1, false);
+ m_pTrack1->trySetBeats(pBeats1);
mixxx::BeatsPointer pBeats2 = BeatFactory::makeBeatGrid(m_pTrack2->getSampleRate(), 128, 0.0);
- m_pTrack2->trySetBeats(pBeats2, false);
+ m_pTrack2->trySetBeats(pBeats2);
ControlObject::getControl(ConfigKey(m_sGroup1, "quantize"))->set(1.0);
ControlObject::getControl(ConfigKey(m_sGroup2, "quantize"))->set(1.0);
@@ -2021,9 +2021,9 @@ TEST_F(EngineSyncTest, UserTweakPreservedInSeek) {
const double kDivisibleBpm = 44100.0 / 344.0;
mixxx::BeatsPointer pBeats1 = BeatFactory::makeBeatGrid(
m_pTrack1->getSampleRate(), kDivisibleBpm, 0.0);
- m_pTrack1->trySetBeats(pBeats1, false);
+ m_pTrack1->trySetBeats(pBeats1);
mixxx::BeatsPointer pBeats2 = BeatFactory::makeBeatGrid(m_pTrack2->getSampleRate(), 130, 0.0);
- m_pTrack2->trySetBeats(pBeats2, false);
+ m_pTrack2->trySetBeats(pBeats2);
ControlObject::getControl(ConfigKey(m_sGroup2, "sync_enabled"))->set(1);
ControlObject::getControl(ConfigKey(m_sGroup1, "sync_enabled"))->set(1);
@@ -2095,12 +2095,12 @@ TEST_F(EngineSyncTest, UserTweakPreservedInSeek) {
TEST_F(EngineSyncTest, MasterBpmNeverZero) {
mixxx::BeatsPointer pBeats1 = BeatFactory::makeBeatGrid(m_pTrack1->getSampleRate(), 128, 0.0);
- m_pTrack1->trySetBeats(pBeats1, false);
+ m_pTrack1->trySetBeats(pBeats1);
auto pButtonSyncEnabled1 = std::make_unique<ControlProxy>(m_sGroup1, "sync_enabled");
pButtonSyncEnabled1->set(1.0);
- m_pTrack1->trySetBeats(mixxx::BeatsPointer(), false);
+ m_pTrack1->trySetBeats(mixxx::BeatsPointer());
EXPECT_EQ(128.0,
ControlObject::getControl(ConfigKey(m_sInternalClockGroup, "bpm"))->get());
}
@@ -2110,7 +2110,7 @@ TEST_F(EngineSyncTest, ZeroBpmNaturalRate) {
// doesn't end up something crazy when sync is enabled..
// Maybe the beatgrid ended up at zero also.
mixxx::BeatsPointer pBeats1 = BeatFactory::makeBeatGrid(m_pTrack1->getSampleRate(), 0.0, 0.0);
- m_pTrack1->trySetBeats(pBeats1, false);
+ m_pTrack1->trySetBeats(pBeats1);
auto pButtonSyncEnabled1 = std::make_unique<ControlProxy>(m_sGroup1, "sync_enabled");
pButtonSyncEnabled1->set(1.0);
@@ -2129,11 +2129,11 @@ TEST_F(EngineSyncTest, QuantizeImpliesSyncPhase) {
auto pButtonBeatsyncPhase1 = std::make_unique<ControlProxy>(m_sGroup1, "beatsync_phase");
mixxx::BeatsPointer pBeats1 = BeatFactory::makeBeatGrid(m_pTrack1->getSampleRate(), 130, 0.0);
- m_pTrack1->trySetBeats(pBeats1, false);
+ m_pTrack1->trySetBeats(pBeats1);
ControlObject::set(ConfigKey(m_sGroup2, "rate"), getRateSliderValue(1.0));
mixxx::BeatsPointer pBeats2 = BeatFactory::makeBeatGrid(m_pTrack2->getSampleRate(), 100, 0.0);
- m_pTrack2->trySetBeats(pBeats2, false);
+ m_pTrack2->trySetBeats(pBeats2);
ControlObject::set(ConfigKey(m_sGroup1, "play"), 1.0);
ControlObject::set(ConfigKey(m_sGroup2, "play"), 1.0);
@@ -2222,7 +2222,7 @@ TEST_F(EngineSyncTest, SeekStayInPhase) {
ControlObject::set(ConfigKey(m_sGroup1, "quantize"), 1.0);
mixxx::BeatsPointer pBeats1 = BeatFactory::makeBeatGrid(m_pTrack1->getSampleRate(), 130, 0.0);
- m_pTrack1->trySetBeats(pBeats1, false);
+ m_pTrack1->trySetBeats(pBeats1);
ControlObject::set(ConfigKey(m_sGroup1, "play"), 1.0);
ProcessBuffer();
@@ -2243,7 +2243,7 @@ TEST_F(EngineSyncTest, SeekStayInPhase) {
ProcessBuffer();
mixxx::BeatsPointer pBeats2 = BeatFactory::makeBeatGrid(m_pTrack1->getSampleRate(), 130, 0.0);
- m_pTrack2->trySetBeats(pBeats2, false);
+ m_pTrack2->trySetBeats(pBeats2);
ControlObject::set(ConfigKey(m_sGroup1, "play"), 1.0);
ProcessBuffer();
@@ -2265,8 +2265,8 @@ TEST_F(EngineSyncTest, SeekStayInPhase) {
TEST_F(EngineSyncTest, SyncWithoutBeatgrid) {
// this tests bug lp1783020, notresetting rate when other deck has no beatgrid
mixxx::BeatsPointer pBeats1 = BeatFactory::makeBeatGrid(m_pTrack1->getSampleRate(), 128, 0.0);
- m_pTrack1->trySetBeats(pBeats1, false);
- m_pTrack2->trySetBeats(mixxx::BeatsPointer(), false);
+ m_pTrack1->trySetBeats(pBeats1);
+ m_pTrack2->trySetBeats(mixxx::BeatsPointer());
ControlObject::set(ConfigKey(m_sGroup1, "rate"), 0.5);
@@ -2284,12 +2284,12 @@ TEST_F(EngineSyncTest, SyncWithoutBeatgrid) {
TEST_F(EngineSyncTest, QuantizeHotCueActivate) {
mixxx::BeatsPointer pBeats1 = BeatFactory::makeBeatGrid(m_pTrack1->getSampleRate(), 130, 0.0);
- m_pTrack1->trySetBeats(pBeats1, false);
+ m_pTrack1->trySetBeats(pBeats1);
auto pHotCue2Activate = std::make_unique<ControlProxy>(m_sGroup2, "hotcue_1_activate");
mixxx::BeatsPointer pBeats2 = BeatFactory::makeBeatGrid(m_pTrack2->getSampleRate(), 100, 0.0);
- m_pTrack2->trySetBeats(pBeats2, false);
+ m_pTrack2->trySetBea