From 6cb1da2377debb83dbc86d321268460007b2b0e2 Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Wed, 29 Sep 2021 11:31:00 +0200 Subject: Beats: Add missing const qualifiers --- src/track/beatgrid.cpp | 8 ++------ src/track/beatgrid.h | 2 +- src/track/beatmap.cpp | 2 +- src/track/beatmap.h | 2 +- src/track/beats.h | 4 ++-- 5 files changed, 7 insertions(+), 11 deletions(-) diff --git a/src/track/beatgrid.cpp b/src/track/beatgrid.cpp index e931eb6a36..beeed6b968 100644 --- a/src/track/beatgrid.cpp +++ b/src/track/beatgrid.cpp @@ -248,11 +248,7 @@ mixxx::Bpm BeatGrid::getBpm() const { mixxx::Bpm BeatGrid::getBpmAroundPosition(audio::FramePos position, int n) const { Q_UNUSED(position); Q_UNUSED(n); - - if (!isValid()) { - return {}; - } - return bpm(); + return getBpm(); } BeatsPointer BeatGrid::translate(audio::FrameDiff_t offset) const { @@ -306,7 +302,7 @@ BeatsPointer BeatGrid::scale(BpmScale scale) const { return BeatsPointer(new BeatGrid(*this, grid, beatLengthFrames)); } -BeatsPointer BeatGrid::setBpm(mixxx::Bpm bpm) { +BeatsPointer BeatGrid::setBpm(mixxx::Bpm bpm) const { VERIFY_OR_DEBUG_ASSERT(bpm.isValid()) { return nullptr; } diff --git a/src/track/beatgrid.h b/src/track/beatgrid.h index 0aa7a3b7aa..5b3374c40e 100644 --- a/src/track/beatgrid.h +++ b/src/track/beatgrid.h @@ -64,7 +64,7 @@ class BeatGrid final : public Beats { BeatsPointer translate(audio::FrameDiff_t offset) const override; BeatsPointer scale(BpmScale scale) const override; - BeatsPointer setBpm(mixxx::Bpm bpm) override; + BeatsPointer setBpm(mixxx::Bpm bpm) const override; private: BeatGrid( diff --git a/src/track/beatmap.cpp b/src/track/beatmap.cpp index d91e21cf43..5c47c6d731 100644 --- a/src/track/beatmap.cpp +++ b/src/track/beatmap.cpp @@ -595,7 +595,7 @@ BeatsPointer BeatMap::scale(BpmScale scale) const { return BeatsPointer(new BeatMap(*this, beats, bpm)); } -BeatsPointer BeatMap::setBpm(mixxx::Bpm bpm) { +BeatsPointer BeatMap::setBpm(mixxx::Bpm bpm) const { if (!isValid()) { return {}; } diff --git a/src/track/beatmap.h b/src/track/beatmap.h index f394e67210..6ada9fd907 100644 --- a/src/track/beatmap.h +++ b/src/track/beatmap.h @@ -67,7 +67,7 @@ class BeatMap final : public Beats { BeatsPointer translate(audio::FrameDiff_t offset) const override; BeatsPointer scale(BpmScale scale) const override; - BeatsPointer setBpm(mixxx::Bpm bpm) override; + BeatsPointer setBpm(mixxx::Bpm bpm) const override; private: BeatMap(audio::SampleRate sampleRate, diff --git a/src/track/beats.h b/src/track/beats.h index 54afb8fb98..11109cbfb3 100644 --- a/src/track/beats.h +++ b/src/track/beats.h @@ -15,7 +15,7 @@ namespace mixxx { class Beats; -typedef std::shared_ptr BeatsPointer; +typedef std::shared_ptr BeatsPointer; class BeatIterator { public: @@ -166,7 +166,7 @@ class Beats { virtual BeatsPointer scale(BpmScale scale) const = 0; /// Adjust the beats so the global average BPM matches `bpm`. - virtual BeatsPointer setBpm(mixxx::Bpm bpm) = 0; + virtual BeatsPointer setBpm(mixxx::Bpm bpm) const = 0; protected: virtual bool isValid() const = 0; -- cgit v1.2.3 From 1bbee5f886065df8dc99dd2b4f9ab9532dd80b7d Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Wed, 29 Sep 2021 12:15:04 +0200 Subject: Beats: Delete obsolete comments --- src/track/beatgrid.cpp | 2 -- src/track/beatmap.cpp | 1 - 2 files changed, 3 deletions(-) diff --git a/src/track/beatgrid.cpp b/src/track/beatgrid.cpp index beeed6b968..90d123a773 100644 --- a/src/track/beatgrid.cpp +++ b/src/track/beatgrid.cpp @@ -54,8 +54,6 @@ BeatGrid::BeatGrid( m_sampleRate(sampleRate), m_grid(grid), m_beatLengthFrames(beatLengthFrames) { - // BeatGrid should live in the same thread as the track it is associated - // with. } BeatGrid::BeatGrid(const BeatGrid& other, diff --git a/src/track/beatmap.cpp b/src/track/beatmap.cpp index 5c47c6d731..0c65091391 100644 --- a/src/track/beatmap.cpp +++ b/src/track/beatmap.cpp @@ -524,7 +524,6 @@ mixxx::Bpm BeatMap::getBpmAroundPosition(audio::FramePos position, int n) const } BeatsPointer BeatMap::translate(audio::FrameDiff_t offset) const { - // Converting to frame offset if (!isValid()) { return BeatsPointer(new BeatMap(*this)); } -- cgit v1.2.3 From df574b1a38c585862352c1ecde00eb724ba1f7c0 Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Wed, 29 Sep 2021 11:31:56 +0200 Subject: Beats: Use std::enable_shared_from_this --- src/track/beatgrid.cpp | 6 +++--- src/track/beatmap.cpp | 6 +++--- src/track/beats.h | 9 ++++++++- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/src/track/beatgrid.cpp b/src/track/beatgrid.cpp index 90d123a773..48de26c2b4 100644 --- a/src/track/beatgrid.cpp +++ b/src/track/beatgrid.cpp @@ -251,7 +251,7 @@ mixxx::Bpm BeatGrid::getBpmAroundPosition(audio::FramePos position, int n) const BeatsPointer BeatGrid::translate(audio::FrameDiff_t offset) const { if (!isValid()) { - return BeatsPointer(new BeatGrid(*this)); + return clone(); } mixxx::track::io::BeatGrid grid = m_grid; const audio::FramePos newFirstBeatPosition = firstBeatPosition() + offset; @@ -287,11 +287,11 @@ BeatsPointer BeatGrid::scale(BpmScale scale) const { break; default: DEBUG_ASSERT(!"scale value invalid"); - return BeatsPointer(new BeatGrid(*this)); + return clone(); } if (!bpm.isValid()) { - return BeatsPointer(new BeatGrid(*this)); + return clone(); } bpm = BeatUtils::roundBpmWithinRange(bpm - kBpmScaleRounding, bpm, bpm + kBpmScaleRounding); diff --git a/src/track/beatmap.cpp b/src/track/beatmap.cpp index 0c65091391..4b5989d718 100644 --- a/src/track/beatmap.cpp +++ b/src/track/beatmap.cpp @@ -525,7 +525,7 @@ mixxx::Bpm BeatMap::getBpmAroundPosition(audio::FramePos position, int n) const BeatsPointer BeatMap::translate(audio::FrameDiff_t offset) const { if (!isValid()) { - return BeatsPointer(new BeatMap(*this)); + return clone(); } BeatList beats = m_beats; @@ -548,7 +548,7 @@ BeatsPointer BeatMap::translate(audio::FrameDiff_t offset) const { BeatsPointer BeatMap::scale(BpmScale scale) const { if (!isValid() || m_beats.isEmpty()) { - return BeatsPointer(new BeatMap(*this)); + return clone(); } BeatList beats = m_beats; @@ -587,7 +587,7 @@ BeatsPointer BeatMap::scale(BpmScale scale) const { break; default: DEBUG_ASSERT(!"scale value invalid"); - return BeatsPointer(new BeatMap(*this)); + return clone(); } mixxx::Bpm bpm = calculateNominalBpm(beats, m_sampleRate); diff --git a/src/track/beats.h b/src/track/beats.h index 11109cbfb3..56e9387fe2 100644 --- a/src/track/beats.h +++ b/src/track/beats.h @@ -27,10 +27,17 @@ class BeatIterator { /// Beats is the base class for BPM and beat management classes. It provides a /// specification of all methods a beat-manager class must provide, as well as /// a capability model for representing optional features. -class Beats { +/// +/// All instances of this class are supposed to be managed by std::shared_ptr! +class Beats : private std::enable_shared_from_this { public: virtual ~Beats() = default; + BeatsPointer clone() const { + // All instances are immutable and can be shared safely + return shared_from_this(); + } + static mixxx::BeatsPointer fromByteArray( mixxx::audio::SampleRate sampleRate, const QString& beatsVersion, -- cgit v1.2.3 From beaf5250357d5fc0da1f40f2bdd21c3ca62ba283 Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Wed, 29 Sep 2021 11:38:38 +0200 Subject: Beats: Use std::make_shared --- src/track/beatgrid.cpp | 35 +++++++++++++++++++++-------------- src/track/beatgrid.h | 17 ++++++++++++++--- src/track/beatmap.cpp | 26 +++++++++++++++----------- src/track/beatmap.h | 21 ++++++++++++++++----- src/track/beats.h | 11 +++++++++++ 5 files changed, 77 insertions(+), 33 deletions(-) diff --git a/src/track/beatgrid.cpp b/src/track/beatgrid.cpp index 48de26c2b4..a63006511f 100644 --- a/src/track/beatgrid.cpp +++ b/src/track/beatgrid.cpp @@ -46,6 +46,7 @@ class BeatGridIterator : public BeatIterator { }; BeatGrid::BeatGrid( + MakeSharedTag, audio::SampleRate sampleRate, const QString& subVersion, const mixxx::track::io::BeatGrid& grid, @@ -56,17 +57,18 @@ BeatGrid::BeatGrid( m_beatLengthFrames(beatLengthFrames) { } -BeatGrid::BeatGrid(const BeatGrid& other, +BeatGrid::BeatGrid( + MakeSharedTag, + const BeatGrid& other, const mixxx::track::io::BeatGrid& grid, audio::FrameDiff_t beatLengthFrames) - : m_subVersion(other.m_subVersion), - m_sampleRate(other.m_sampleRate), - m_grid(grid), - m_beatLengthFrames(beatLengthFrames) { + : BeatGrid({}, other.m_sampleRate, other.m_subVersion, grid, beatLengthFrames) { } -BeatGrid::BeatGrid(const BeatGrid& other) - : BeatGrid(other, other.m_grid, other.m_beatLengthFrames) { +BeatGrid::BeatGrid( + MakeSharedTag, + const BeatGrid& other) + : BeatGrid({}, other, other.m_grid, other.m_beatLengthFrames) { } // static @@ -96,7 +98,8 @@ BeatsPointer BeatGrid::makeBeatGrid( // Calculate beat length as sample offsets const audio::FrameDiff_t beatLengthFrames = 60.0 * sampleRate / bpm.value(); - return BeatsPointer(new BeatGrid(sampleRate, subVersion, grid, beatLengthFrames)); + return std::make_shared( + MakeSharedTag{}, sampleRate, subVersion, grid, beatLengthFrames); } // static @@ -107,12 +110,16 @@ BeatsPointer BeatGrid::fromByteArray( mixxx::track::io::BeatGrid grid; if (grid.ParseFromArray(byteArray.constData(), byteArray.length())) { const audio::FrameDiff_t beatLengthFrames = (60.0 * sampleRate / grid.bpm().bpm()); - return BeatsPointer(new BeatGrid(sampleRate, subVersion, grid, beatLengthFrames)); + return std::make_shared(MakeSharedTag{}, + sampleRate, + subVersion, + grid, + beatLengthFrames); } // Legacy fallback for BeatGrid-1.0 if (byteArray.size() != sizeof(BeatGridData)) { - return BeatsPointer(new BeatGrid(sampleRate, QString(), grid, 0)); + return std::make_shared(MakeSharedTag{}, sampleRate, QString(), grid, 0); } const BeatGridData* blob = reinterpret_cast(byteArray.constData()); const auto firstBeat = mixxx::audio::FramePos(blob->firstBeat); @@ -259,7 +266,7 @@ BeatsPointer BeatGrid::translate(audio::FrameDiff_t offset) const { static_cast( newFirstBeatPosition.toLowerFrameBoundary().value())); - return BeatsPointer(new BeatGrid(*this, grid, m_beatLengthFrames)); + return std::make_shared(MakeSharedTag{}, *this, grid, m_beatLengthFrames); } BeatsPointer BeatGrid::scale(BpmScale scale) const { @@ -297,17 +304,17 @@ BeatsPointer BeatGrid::scale(BpmScale scale) const { bpm = BeatUtils::roundBpmWithinRange(bpm - kBpmScaleRounding, bpm, bpm + kBpmScaleRounding); grid.mutable_bpm()->set_bpm(bpm.value()); const mixxx::audio::FrameDiff_t beatLengthFrames = (60.0 * m_sampleRate / bpm.value()); - return BeatsPointer(new BeatGrid(*this, grid, beatLengthFrames)); + return std::make_shared(MakeSharedTag{}, *this, grid, beatLengthFrames); } BeatsPointer BeatGrid::setBpm(mixxx::Bpm bpm) const { VERIFY_OR_DEBUG_ASSERT(bpm.isValid()) { - return nullptr; + return clone(); } mixxx::track::io::BeatGrid grid = m_grid; grid.mutable_bpm()->set_bpm(bpm.value()); const mixxx::audio::FrameDiff_t beatLengthFrames = (60.0 * m_sampleRate / bpm.value()); - return BeatsPointer(new BeatGrid(*this, grid, beatLengthFrames)); + return std::make_shared(MakeSharedTag{}, *this, grid, beatLengthFrames); } } // namespace mixxx diff --git a/src/track/beatgrid.h b/src/track/beatgrid.h index 5b3374c40e..a2e5b117b1 100644 --- a/src/track/beatgrid.h +++ b/src/track/beatgrid.h @@ -66,16 +66,27 @@ class BeatGrid final : public Beats { BeatsPointer scale(BpmScale scale) const override; BeatsPointer setBpm(mixxx::Bpm bpm) const override; - private: + //////////////////////////////////////////////////////////////////////////// + // Hidden constructors + //////////////////////////////////////////////////////////////////////////// + BeatGrid( + MakeSharedTag, audio::SampleRate sampleRate, const QString& subVersion, const mixxx::track::io::BeatGrid& grid, double beatLength); // Constructor to update the beat grid - BeatGrid(const BeatGrid& other, const mixxx::track::io::BeatGrid& grid, double beatLength); - BeatGrid(const BeatGrid& other); + BeatGrid( + MakeSharedTag, + const BeatGrid& other, + const mixxx::track::io::BeatGrid& grid, + double beatLength); + BeatGrid( + MakeSharedTag, + const BeatGrid& other); + private: audio::FramePos firstBeatPosition() const; mixxx::Bpm bpm() const; diff --git a/src/track/beatmap.cpp b/src/track/beatmap.cpp index 4b5989d718..5f80ddf435 100644 --- a/src/track/beatmap.cpp +++ b/src/track/beatmap.cpp @@ -178,6 +178,7 @@ class BeatMapIterator : public BeatIterator { }; BeatMap::BeatMap( + MakeSharedTag, audio::SampleRate sampleRate, const QString& subVersion, BeatList beats, @@ -188,15 +189,18 @@ BeatMap::BeatMap( m_beats(std::move(beats)) { } -BeatMap::BeatMap(const BeatMap& other, BeatList beats, mixxx::Bpm nominalBpm) - : m_subVersion(other.m_subVersion), - m_sampleRate(other.m_sampleRate), - m_nominalBpm(nominalBpm), - m_beats(std::move(beats)) { +BeatMap::BeatMap( + MakeSharedTag, + const BeatMap& other, + BeatList beats, + mixxx::Bpm nominalBpm) + : BeatMap({}, other.m_sampleRate, other.m_subVersion, std::move(beats), nominalBpm) { } -BeatMap::BeatMap(const BeatMap& other) - : BeatMap(other, other.m_beats, other.m_nominalBpm) { +BeatMap::BeatMap( + MakeSharedTag, + const BeatMap& other) + : BeatMap({}, other, other.m_beats, other.m_nominalBpm) { } // static @@ -218,7 +222,7 @@ BeatsPointer BeatMap::fromByteArray( qDebug() << "ERROR: Could not parse BeatMap from QByteArray of size" << byteArray.size(); } - return BeatsPointer(new BeatMap(sampleRate, subVersion, beatList, nominalBpm)); + return std::make_shared(MakeSharedTag{}, sampleRate, subVersion, beatList, nominalBpm); } // static @@ -250,7 +254,7 @@ BeatsPointer BeatMap::makeBeatMap( previousBeatPos = beatPos; } const auto nominalBpm = calculateNominalBpm(beatList, sampleRate); - return BeatsPointer(new BeatMap(sampleRate, subVersion, beatList, nominalBpm)); + return std::make_shared(MakeSharedTag{}, sampleRate, subVersion, beatList, nominalBpm); } QByteArray BeatMap::toByteArray() const { @@ -543,7 +547,7 @@ BeatsPointer BeatMap::translate(audio::FrameDiff_t offset) const { } } - return BeatsPointer(new BeatMap(*this, beats, m_nominalBpm)); + return std::make_shared(MakeSharedTag{}, *this, beats, m_nominalBpm); } BeatsPointer BeatMap::scale(BpmScale scale) const { @@ -591,7 +595,7 @@ BeatsPointer BeatMap::scale(BpmScale scale) const { } mixxx::Bpm bpm = calculateNominalBpm(beats, m_sampleRate); - return BeatsPointer(new BeatMap(*this, beats, bpm)); + return std::make_shared(MakeSharedTag{}, *this, beats, bpm); } BeatsPointer BeatMap::setBpm(mixxx::Bpm bpm) const { diff --git a/src/track/beatmap.h b/src/track/beatmap.h index 6ada9fd907..1ad9232dcc 100644 --- a/src/track/beatmap.h +++ b/src/track/beatmap.h @@ -20,7 +20,6 @@ namespace mixxx { class BeatMap final : public Beats { public: - ~BeatMap() override = default; static BeatsPointer fromByteArray( @@ -69,15 +68,27 @@ class BeatMap final : public Beats { BeatsPointer scale(BpmScale scale) const override; BeatsPointer setBpm(mixxx::Bpm bpm) const override; - private: - BeatMap(audio::SampleRate sampleRate, + //////////////////////////////////////////////////////////////////////////// + // Hidden constructors + //////////////////////////////////////////////////////////////////////////// + + BeatMap( + MakeSharedTag, + audio::SampleRate sampleRate, const QString& subVersion, BeatList beats, mixxx::Bpm nominalBpm); // Constructor to update the beat map - BeatMap(const BeatMap& other, BeatList beats, mixxx::Bpm nominalBpm); - BeatMap(const BeatMap& other); + BeatMap( + MakeSharedTag, + const BeatMap& other, + BeatList beats, + mixxx::Bpm nominalBpm); + BeatMap( + MakeSharedTag, + const BeatMap& other); + private: bool isValid() const override; const QString m_subVersion; diff --git a/src/track/beats.h b/src/track/beats.h index 56e9387fe2..4add4a3578 100644 --- a/src/track/beats.h +++ b/src/track/beats.h @@ -176,7 +176,18 @@ class Beats : private std::enable_shared_from_this { virtual BeatsPointer setBpm(mixxx::Bpm bpm) const = 0; protected: + /// Type tag for making public constructors of derived classes inaccessible. + /// + /// The constructors must be public for using std::make_shared(). + struct MakeSharedTag {}; + + Beats() = default; + virtual bool isValid() const = 0; + + private: + Beats(const Beats&) = delete; + Beats(Beats&&) = delete; }; } // namespace mixxx -- cgit v1.2.3 From 27be2267d2d58bc30cbde3b185662513e8bf74fb Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Wed, 29 Sep 2021 12:24:33 +0200 Subject: Beats: Unify behavior of scale()/translate() operations Do not return a nullptr to avoid unintended crashes! --- src/track/beatgrid.cpp | 8 +++++++- src/track/beatmap.cpp | 6 +++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/track/beatgrid.cpp b/src/track/beatgrid.cpp index a63006511f..09b0c0eafd 100644 --- a/src/track/beatgrid.cpp +++ b/src/track/beatgrid.cpp @@ -257,9 +257,10 @@ mixxx::Bpm BeatGrid::getBpmAroundPosition(audio::FramePos position, int n) const } BeatsPointer BeatGrid::translate(audio::FrameDiff_t offset) const { - if (!isValid()) { + VERIFY_OR_DEBUG_ASSERT(isValid()) { return clone(); } + mixxx::track::io::BeatGrid grid = m_grid; const audio::FramePos newFirstBeatPosition = firstBeatPosition() + offset; grid.mutable_first_beat()->set_frame_position( @@ -270,6 +271,10 @@ BeatsPointer BeatGrid::translate(audio::FrameDiff_t offset) const { } BeatsPointer BeatGrid::scale(BpmScale scale) const { + VERIFY_OR_DEBUG_ASSERT(isValid()) { + return clone(); + } + mixxx::track::io::BeatGrid grid = m_grid; auto bpm = mixxx::Bpm(grid.bpm().bpm()); @@ -311,6 +316,7 @@ BeatsPointer BeatGrid::setBpm(mixxx::Bpm bpm) const { VERIFY_OR_DEBUG_ASSERT(bpm.isValid()) { return clone(); } + mixxx::track::io::BeatGrid grid = m_grid; grid.mutable_bpm()->set_bpm(bpm.value()); const mixxx::audio::FrameDiff_t beatLengthFrames = (60.0 * m_sampleRate / bpm.value()); diff --git a/src/track/beatmap.cpp b/src/track/beatmap.cpp index 5f80ddf435..fbf6ef493e 100644 --- a/src/track/beatmap.cpp +++ b/src/track/beatmap.cpp @@ -551,7 +551,7 @@ BeatsPointer BeatMap::translate(audio::FrameDiff_t offset) const { } BeatsPointer BeatMap::scale(BpmScale scale) const { - if (!isValid() || m_beats.isEmpty()) { + VERIFY_OR_DEBUG_ASSERT(isValid()) { return clone(); } @@ -599,8 +599,8 @@ BeatsPointer BeatMap::scale(BpmScale scale) const { } BeatsPointer BeatMap::setBpm(mixxx::Bpm bpm) const { - if (!isValid()) { - return {}; + VERIFY_OR_DEBUG_ASSERT(bpm.isValid()) { + return clone(); } const auto firstBeatPosition = mixxx::audio::FramePos(m_beats.first().frame_position()); -- cgit v1.2.3 From 91b5d8c16d33fd5417c53001e36511f5764ad510 Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Fri, 1 Oct 2021 01:34:08 +0200 Subject: Beats: Add redundant type name --- src/track/beatgrid.cpp | 9 +++++++-- src/track/beatmap.cpp | 9 +++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/track/beatgrid.cpp b/src/track/beatgrid.cpp index 09b0c0eafd..2da516c643 100644 --- a/src/track/beatgrid.cpp +++ b/src/track/beatgrid.cpp @@ -62,13 +62,18 @@ BeatGrid::BeatGrid( const BeatGrid& other, const mixxx::track::io::BeatGrid& grid, audio::FrameDiff_t beatLengthFrames) - : BeatGrid({}, other.m_sampleRate, other.m_subVersion, grid, beatLengthFrames) { + : BeatGrid( + MakeSharedTag{}, + other.m_sampleRate, + other.m_subVersion, + grid, + beatLengthFrames) { } BeatGrid::BeatGrid( MakeSharedTag, const BeatGrid& other) - : BeatGrid({}, other, other.m_grid, other.m_beatLengthFrames) { + : BeatGrid(MakeSharedTag{}, other, other.m_grid, other.m_beatLengthFrames) { } // static diff --git a/src/track/beatmap.cpp b/src/track/beatmap.cpp index fbf6ef493e..e32b057f04 100644 --- a/src/track/beatmap.cpp +++ b/src/track/beatmap.cpp @@ -194,13 +194,18 @@ BeatMap::BeatMap( const BeatMap& other, BeatList beats, mixxx::Bpm nominalBpm) - : BeatMap({}, other.m_sampleRate, other.m_subVersion, std::move(beats), nominalBpm) { + : BeatMap( + MakeSharedTag{}, + other.m_sampleRate, + other.m_subVersion, + std::move(beats), + nominalBpm) { } BeatMap::BeatMap( MakeSharedTag, const BeatMap& other) - : BeatMap({}, other, other.m_beats, other.m_nominalBpm) { + : BeatMap(MakeSharedTag{}, other, other.m_beats, other.m_nominalBpm) { } // static -- cgit v1.2.3 From 90d362b0329234490beeee9d9ebb9eab2082a781 Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Fri, 1 Oct 2021 01:35:44 +0200 Subject: Beats: Rename clone() function --- src/track/beatgrid.cpp | 10 +++++----- src/track/beatmap.cpp | 8 ++++---- src/track/beats.h | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/track/beatgrid.cpp b/src/track/beatgrid.cpp index 2da516c643..c52f30b19e 100644 --- a/src/track/beatgrid.cpp +++ b/src/track/beatgrid.cpp @@ -263,7 +263,7 @@ mixxx::Bpm BeatGrid::getBpmAroundPosition(audio::FramePos position, int n) const BeatsPointer BeatGrid::translate(audio::FrameDiff_t offset) const { VERIFY_OR_DEBUG_ASSERT(isValid()) { - return clone(); + return clonePointer(); } mixxx::track::io::BeatGrid grid = m_grid; @@ -277,7 +277,7 @@ BeatsPointer BeatGrid::translate(audio::FrameDiff_t offset) const { BeatsPointer BeatGrid::scale(BpmScale scale) const { VERIFY_OR_DEBUG_ASSERT(isValid()) { - return clone(); + return clonePointer(); } mixxx::track::io::BeatGrid grid = m_grid; @@ -304,11 +304,11 @@ BeatsPointer BeatGrid::scale(BpmScale scale) const { break; default: DEBUG_ASSERT(!"scale value invalid"); - return clone(); + return clonePointer(); } if (!bpm.isValid()) { - return clone(); + return clonePointer(); } bpm = BeatUtils::roundBpmWithinRange(bpm - kBpmScaleRounding, bpm, bpm + kBpmScaleRounding); @@ -319,7 +319,7 @@ BeatsPointer BeatGrid::scale(BpmScale scale) const { BeatsPointer BeatGrid::setBpm(mixxx::Bpm bpm) const { VERIFY_OR_DEBUG_ASSERT(bpm.isValid()) { - return clone(); + return clonePointer(); } mixxx::track::io::BeatGrid grid = m_grid; diff --git a/src/track/beatmap.cpp b/src/track/beatmap.cpp index e32b057f04..3a51a9f040 100644 --- a/src/track/beatmap.cpp +++ b/src/track/beatmap.cpp @@ -534,7 +534,7 @@ mixxx::Bpm BeatMap::getBpmAroundPosition(audio::FramePos position, int n) const BeatsPointer BeatMap::translate(audio::FrameDiff_t offset) const { if (!isValid()) { - return clone(); + return clonePointer(); } BeatList beats = m_beats; @@ -557,7 +557,7 @@ BeatsPointer BeatMap::translate(audio::FrameDiff_t offset) const { BeatsPointer BeatMap::scale(BpmScale scale) const { VERIFY_OR_DEBUG_ASSERT(isValid()) { - return clone(); + return clonePointer(); } BeatList beats = m_beats; @@ -596,7 +596,7 @@ BeatsPointer BeatMap::scale(BpmScale scale) const { break; default: DEBUG_ASSERT(!"scale value invalid"); - return clone(); + return clonePointer(); } mixxx::Bpm bpm = calculateNominalBpm(beats, m_sampleRate); @@ -605,7 +605,7 @@ BeatsPointer BeatMap::scale(BpmScale scale) const { BeatsPointer BeatMap::setBpm(mixxx::Bpm bpm) const { VERIFY_OR_DEBUG_ASSERT(bpm.isValid()) { - return clone(); + return clonePointer(); } const auto firstBeatPosition = mixxx::audio::FramePos(m_beats.first().frame_position()); diff --git a/src/track/beats.h b/src/track/beats.h index 4add4a3578..085edcb52a 100644 --- a/src/track/beats.h +++ b/src/track/beats.h @@ -33,7 +33,7 @@ class Beats : private std::enable_shared_from_this { public: virtual ~Beats() = default; - BeatsPointer clone() const { + BeatsPointer clonePointer() const { // All instances are immutable and can be shared safely return shared_from_this(); } -- cgit v1.2.3