summaryrefslogtreecommitdiffstats
path: root/src/analyzer
diff options
context:
space:
mode:
authorDaniel Schürmann <daschuer@mixxx.org>2021-03-05 08:36:48 +0100
committerDaniel Schürmann <daschuer@mixxx.org>2021-03-05 08:36:48 +0100
commit58fffd2014b030af81d077ff68f8c8636ddd0c2e (patch)
treea4c010fc11a5fca96b8ffaef9fab2c88bfa43d75 /src/analyzer
parentdd6cc40613f174f53e3f53e64a47a2d38aeef9d4 (diff)
parentf166f80243a49b33658933a620cef513a0311900 (diff)
Merge remote-tracking branch 'upstream/2.3' into ironbeats
Diffstat (limited to 'src/analyzer')
-rw-r--r--src/analyzer/analyzerbeats.cpp28
-rw-r--r--src/analyzer/analyzerbeats.h4
2 files changed, 15 insertions, 17 deletions
diff --git a/src/analyzer/analyzerbeats.cpp b/src/analyzer/analyzerbeats.cpp
index 8a812c7124..a182f3a1f6 100644
--- a/src/analyzer/analyzerbeats.cpp
+++ b/src/analyzer/analyzerbeats.cpp
@@ -43,7 +43,7 @@ AnalyzerBeats::AnalyzerBeats(UserSettingsPointer pConfig, bool enforceBpmDetecti
m_iCurrentSample(0) {
}
-bool AnalyzerBeats::initialize(TrackPointer tio, int sampleRate, int totalSamples) {
+bool AnalyzerBeats::initialize(TrackPointer pTrack, int sampleRate, int totalSamples) {
if (totalSamples == 0) {
return false;
}
@@ -55,7 +55,7 @@ bool AnalyzerBeats::initialize(TrackPointer tio, int sampleRate, int totalSample
return false;
}
- bool bpmLock = tio->isBpmLocked();
+ bool bpmLock = pTrack->isBpmLocked();
if (bpmLock) {
qDebug() << "Track is BpmLocked: Beat calculation will not start";
return false;
@@ -97,8 +97,7 @@ bool AnalyzerBeats::initialize(TrackPointer tio, int sampleRate, int totalSample
m_iCurrentSample = 0;
// if we can load a stored track don't reanalyze it
- bool bShouldAnalyze = shouldAnalyze(tio);
-
+ bool bShouldAnalyze = shouldAnalyze(pTrack);
DEBUG_ASSERT(!m_pPlugin);
if (bShouldAnalyze) {
@@ -127,8 +126,8 @@ bool AnalyzerBeats::initialize(TrackPointer tio, int sampleRate, int totalSample
return bShouldAnalyze;
}
-bool AnalyzerBeats::shouldAnalyze(TrackPointer tio) const {
- bool bpmLock = tio->isBpmLocked();
+bool AnalyzerBeats::shouldAnalyze(TrackPointer pTrack) const {
+ bool bpmLock = pTrack->isBpmLocked();
if (bpmLock) {
qDebug() << "Track is BpmLocked: Beat calculation will not start";
return false;
@@ -141,7 +140,7 @@ bool AnalyzerBeats::shouldAnalyze(TrackPointer tio) const {
// If the track already has a Beats object then we need to decide whether to
// analyze this track or not.
- mixxx::BeatsPointer pBeats = tio->getBeats();
+ const mixxx::BeatsPointer pBeats = pTrack->getBeats();
if (!pBeats) {
return true;
}
@@ -205,7 +204,7 @@ void AnalyzerBeats::cleanup() {
m_pPlugin.reset();
}
-void AnalyzerBeats::storeResults(TrackPointer tio) {
+void AnalyzerBeats::storeResults(TrackPointer pTrack) {
VERIFY_OR_DEBUG_ASSERT(m_pPlugin) {
return;
}
@@ -221,7 +220,6 @@ void AnalyzerBeats::storeResults(TrackPointer tio) {
QHash<QString, QString> extraVersionInfo = getExtraVersionInfo(
m_pluginId, m_bPreferencesFastAnalysis);
pBeats = BeatFactory::makePreferredBeats(
- *tio,
beats,
extraVersionInfo,
m_bPreferencesFixedTempo,
@@ -231,21 +229,21 @@ void AnalyzerBeats::storeResults(TrackPointer tio) {
} else {
float bpm = m_pPlugin->getBpm();
qDebug() << "AnalyzerBeats plugin detected constant BPM: " << bpm;
- pBeats = BeatFactory::makeBeatGrid(*tio, bpm, 0.0f);
+ pBeats = BeatFactory::makeBeatGrid(m_iSampleRate, bpm, 0.0f);
}
- mixxx::BeatsPointer pCurrentBeats = tio->getBeats();
+ mixxx::BeatsPointer pCurrentBeats = pTrack->getBeats();
// If the track has no beats object then set our newly generated one
// regardless of beat lock.
if (!pCurrentBeats) {
- tio->setBeats(pBeats);
+ pTrack->setBeats(pBeats);
return;
}
// If the track received the beat lock while we were analyzing it then we
// abort setting it.
- if (tio->isBpmLocked()) {
+ if (pTrack->isBpmLocked()) {
qDebug() << "Track was BPM-locked as we were analyzing it. Aborting analysis.";
return;
}
@@ -258,7 +256,7 @@ void AnalyzerBeats::storeResults(TrackPointer tio) {
qDebug() << "Replacing 0-BPM beatgrid with a" << pBeats->getBpm()
<< "beatgrid.";
}
- tio->setBeats(pBeats);
+ pTrack->setBeats(pBeats);
return;
}
@@ -267,7 +265,7 @@ void AnalyzerBeats::storeResults(TrackPointer tio) {
double currentFirstBeat = pCurrentBeats->findNextBeat(0);
double newFirstBeat = pBeats->findNextBeat(0);
if (currentFirstBeat == 0.0 && newFirstBeat > 0) {
- pCurrentBeats->translate(newFirstBeat);
+ pTrack->setBeats(pCurrentBeats->translate(newFirstBeat));
}
}
diff --git a/src/analyzer/analyzerbeats.h b/src/analyzer/analyzerbeats.h
index 9ccc248948..5b997bd2a9 100644
--- a/src/analyzer/analyzerbeats.h
+++ b/src/analyzer/analyzerbeats.h
@@ -26,13 +26,13 @@ class AnalyzerBeats : public Analyzer {
static QList<mixxx::AnalyzerPluginInfo> availablePlugins();
static mixxx::AnalyzerPluginInfo defaultPlugin();
- bool initialize(TrackPointer tio, int sampleRate, int totalSamples) override;
+ bool initialize(TrackPointer pTrack, int sampleRate, int totalSamples) override;
bool processSamples(const CSAMPLE *pIn, const int iLen) override;
void storeResults(TrackPointer tio) override;
void cleanup() override;
private:
- bool shouldAnalyze(TrackPointer tio) const;
+ bool shouldAnalyze(TrackPointer pTrack) const;
static QHash<QString, QString> getExtraVersionInfo(
const QString& pluginId, bool bPreferencesFastAnalysis);