summaryrefslogtreecommitdiffstats
path: root/src/analyzer
diff options
context:
space:
mode:
authorJan Holthuis <jholthuis@mixxx.org>2021-07-01 16:36:56 +0200
committerJan Holthuis <jholthuis@mixxx.org>2021-07-01 17:19:25 +0200
commitaf40d4f447268ce1500b6ae84f81c379a8fce6c4 (patch)
tree82b000c89dab5aabc40b8acbdc65a77a16985560 /src/analyzer
parent0191a50db0d2b77760c41c90b7d4ad98c0d0ea4a (diff)
Beats: Use frame positions for beatmap/beatgrid construction
Diffstat (limited to 'src/analyzer')
-rw-r--r--src/analyzer/analyzerbeats.cpp4
-rw-r--r--src/analyzer/plugins/analyzerplugin.h5
-rw-r--r--src/analyzer/plugins/analyzerqueenmarybeats.cpp2
-rw-r--r--src/analyzer/plugins/analyzerqueenmarybeats.h4
4 files changed, 8 insertions, 7 deletions
diff --git a/src/analyzer/analyzerbeats.cpp b/src/analyzer/analyzerbeats.cpp
index 4317d616be..14c91c2566 100644
--- a/src/analyzer/analyzerbeats.cpp
+++ b/src/analyzer/analyzerbeats.cpp
@@ -219,7 +219,7 @@ void AnalyzerBeats::storeResults(TrackPointer pTrack) {
mixxx::BeatsPointer pBeats;
if (m_pPlugin->supportsBeatTracking()) {
- QVector<double> beats = m_pPlugin->getBeats();
+ QVector<mixxx::audio::FramePos> beats = m_pPlugin->getBeats();
QHash<QString, QString> extraVersionInfo = getExtraVersionInfo(
m_pluginId, m_bPreferencesFastAnalysis);
pBeats = BeatFactory::makePreferredBeats(
@@ -232,7 +232,7 @@ void AnalyzerBeats::storeResults(TrackPointer pTrack) {
} else {
float bpm = m_pPlugin->getBpm();
qDebug() << "AnalyzerBeats plugin detected constant BPM: " << bpm;
- pBeats = BeatFactory::makeBeatGrid(m_sampleRate, bpm, 0.0f);
+ pBeats = BeatFactory::makeBeatGrid(m_sampleRate, bpm, mixxx::audio::kStartFramePos);
}
pTrack->trySetBeats(pBeats);
diff --git a/src/analyzer/plugins/analyzerplugin.h b/src/analyzer/plugins/analyzerplugin.h
index 18298a98a8..cc6ec54b84 100644
--- a/src/analyzer/plugins/analyzerplugin.h
+++ b/src/analyzer/plugins/analyzerplugin.h
@@ -2,6 +2,7 @@
#include <QString>
+#include "audio/frame.h"
#include "track/beats.h"
#include "track/keys.h"
#include "util/types.h"
@@ -71,8 +72,8 @@ class AnalyzerBeatsPlugin : public AnalyzerPlugin {
virtual float getBpm() const {
return 0.0f;
}
- virtual QVector<double> getBeats() const {
- return QVector<double>();
+ virtual QVector<mixxx::audio::FramePos> getBeats() const {
+ return {};
}
};
diff --git a/src/analyzer/plugins/analyzerqueenmarybeats.cpp b/src/analyzer/plugins/analyzerqueenmarybeats.cpp
index 47ba8a1347..03c89ea19f 100644
--- a/src/analyzer/plugins/analyzerqueenmarybeats.cpp
+++ b/src/analyzer/plugins/analyzerqueenmarybeats.cpp
@@ -107,7 +107,7 @@ bool AnalyzerQueenMaryBeats::finalize() {
for (size_t i = 0; i < beats.size(); ++i) {
// we add the halve m_stepSize here, because the beat
// is detected between the two samples.
- double result = (beats.at(i) * m_stepSize) + m_stepSize / 2;
+ const auto result = mixxx::audio::FramePos((beats.at(i) * m_stepSize) + m_stepSize / 2);
m_resultBeats.push_back(result);
}
diff --git a/src/analyzer/plugins/analyzerqueenmarybeats.h b/src/analyzer/plugins/analyzerqueenmarybeats.h
index 5dc70ae85c..46b1cae6d5 100644
--- a/src/analyzer/plugins/analyzerqueenmarybeats.h
+++ b/src/analyzer/plugins/analyzerqueenmarybeats.h
@@ -40,7 +40,7 @@ class AnalyzerQueenMaryBeats : public AnalyzerBeatsPlugin {
return true;
}
- QVector<double> getBeats() const override {
+ QVector<mixxx::audio::FramePos> getBeats() const override {
return m_resultBeats;
}
@@ -51,7 +51,7 @@ class AnalyzerQueenMaryBeats : public AnalyzerBeatsPlugin {
int m_windowSize;
int m_stepSize;
std::vector<double> m_detectionResults;
- QVector<double> m_resultBeats;
+ QVector<mixxx::audio::FramePos> m_resultBeats;
};
} // namespace mixxx