summaryrefslogtreecommitdiffstats
path: root/src/track/beatmap.cpp
diff options
context:
space:
mode:
authorDaniel Schürmann <daschuer@mixxx.org>2016-03-13 09:57:43 +0100
committerDaniel Schürmann <daschuer@mixxx.org>2016-03-13 09:57:43 +0100
commite68cc26a8965ceed03f4d071d0ceb33dbd01bc6f (patch)
tree23f101015f469026d346f09393a76ba1f72bfe01 /src/track/beatmap.cpp
parentc6405255d7118efaeb71ef110cf456d200b28f91 (diff)
parent94e9c0c93d985119ffb6403d774882c02c4ce6a4 (diff)
Merge remote-tracking branch 'upstream/master' into scalebeatmap
Conflicts: src/library/dlgtrackinfo.cpp src/library/dlgtrackinfo.h src/track/beatgrid.cpp src/track/beatgrid.h src/track/beatmap.cpp src/track/beatmap.h src/track/beats.h
Diffstat (limited to 'src/track/beatmap.cpp')
-rw-r--r--src/track/beatmap.cpp26
1 files changed, 13 insertions, 13 deletions
diff --git a/src/track/beatmap.cpp b/src/track/beatmap.cpp
index 44a7097034..8d8193869a 100644
--- a/src/track/beatmap.cpp
+++ b/src/track/beatmap.cpp
@@ -63,8 +63,8 @@ BeatMap::BeatMap(TrackPointer pTrack, int iSampleRate,
: QObject(),
m_mutex(QMutex::Recursive) {
initialize(pTrack, iSampleRate);
- if (pByteArray != NULL) {
- readByteArray(pByteArray);
+ if (nullptr != pByteArray) {
+ readByteArray(*pByteArray);
}
}
@@ -104,7 +104,7 @@ BeatMap::BeatMap (const BeatMap& other)
BeatMap::~BeatMap() {
}
-QByteArray* BeatMap::toByteArray() const {
+QByteArray BeatMap::toByteArray() const {
QMutexLocker locker(&m_mutex);
// No guarantees BeatLists are made of a data type which located adjacent
// items in adjacent memory locations.
@@ -116,8 +116,7 @@ QByteArray* BeatMap::toByteArray() const {
std::string output;
map.SerializeToString(&output);
- QByteArray* pByteArray = new QByteArray(output.data(), output.length());
- return pByteArray;
+ return QByteArray(output.data(), output.length());
}
BeatsPointer BeatMap::clone() const {
@@ -126,18 +125,19 @@ BeatsPointer BeatMap::clone() const {
return other;
}
-void BeatMap::readByteArray(const QByteArray* pByteArray) {
+bool BeatMap::readByteArray(const QByteArray& byteArray) {
mixxx::track::io::BeatMap map;
- if (!map.ParseFromArray(pByteArray->constData(), pByteArray->size())) {
+ if (!map.ParseFromArray(byteArray.constData(), byteArray.size())) {
qDebug() << "ERROR: Could not parse BeatMap from QByteArray of size"
- << pByteArray->size();
- return;
+ << byteArray.size();
+ return false;
}
for (int i = 0; i < map.beat_size(); ++i) {
const Beat& beat = map.beat(i);
m_beats.append(beat);
}
onBeatlistChanged();
+ return true;
}
void BeatMap::createFromBeatVector(const QVector<double>& beats) {
@@ -379,12 +379,12 @@ bool BeatMap::findPrevNextBeats(double dSamples,
return *dpPrevBeatSamples != -1 && *dpNextBeatSamples != -1;
}
-BeatIterator* BeatMap::findBeats(double startSample, double stopSample) const {
+std::unique_ptr<BeatIterator> BeatMap::findBeats(double startSample, double stopSample) const {
QMutexLocker locker(&m_mutex);
//startSample and stopSample are sample offsets, converting them to
//frames
if (!isValid() || startSample > stopSample) {
- return NULL;
+ return std::unique_ptr<BeatIterator>();
}
Beat startBeat, stopBeat;
@@ -400,9 +400,9 @@ BeatIterator* BeatMap::findBeats(double startSample, double stopSample) const {
stopBeat, BeatLessThan);
if (curBeat >= lastBeat) {
- return NULL;
+ return std::unique_ptr<BeatIterator>();
}
- return new BeatMapIterator(curBeat, lastBeat);
+ return std::make_unique<BeatMapIterator>(curBeat, lastBeat);
}
bool BeatMap::hasBeatInRange(double startSample, double stopSample) const {