diff options
author | Daniel Schürmann <daschuer@mixxx.org> | 2021-03-05 08:36:48 +0100 |
---|---|---|
committer | Daniel Schürmann <daschuer@mixxx.org> | 2021-03-05 08:36:48 +0100 |
commit | 58fffd2014b030af81d077ff68f8c8636ddd0c2e (patch) | |
tree | a4c010fc11a5fca96b8ffaef9fab2c88bfa43d75 /src/analyzer | |
parent | dd6cc40613f174f53e3f53e64a47a2d38aeef9d4 (diff) | |
parent | f166f80243a49b33658933a620cef513a0311900 (diff) |
Merge remote-tracking branch 'upstream/2.3' into ironbeats
Diffstat (limited to 'src/analyzer')
-rw-r--r-- | src/analyzer/analyzerbeats.cpp | 28 | ||||
-rw-r--r-- | src/analyzer/analyzerbeats.h | 4 |
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); |