From 777554da68a7cefb752a2c9797836a6395afee0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Sch=C3=BCrmann?= Date: Tue, 10 Nov 2020 06:57:22 +0100 Subject: Remove lock from the engine thread. After #3268 it is no longer necessary. --- src/engine/cuecontrol.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/engine') diff --git a/src/engine/cuecontrol.cpp b/src/engine/cuecontrol.cpp index c493ae667a..9b256067d2 100644 --- a/src/engine/cuecontrol.cpp +++ b/src/engine/cuecontrol.cpp @@ -854,10 +854,10 @@ void CueControl::playStutter(double v) { } } +// This is also called from the engine thread. No locking allowed. bool CueControl::updateIndicatorsAndModifyPlay(bool newPlay, bool oldPlay, bool playPossible) { //qDebug() << "updateIndicatorsAndModifyPlay" << newPlay << playPossible // << m_iCurrentlyPreviewingHotcues << m_bPreviewing; - QMutexLocker lock(&m_mutex); double cueMode = m_pCueMode->get(); if ((cueMode == CUE_MODE_DENON || cueMode == CUE_MODE_NUMARK) && newPlay && !oldPlay && playPossible && -- cgit v1.2.3 From f50f6765db35357cd0c4060a46f67f486ce0bd69 Mon Sep 17 00:00:00 2001 From: Jan Holthuis Date: Thu, 12 Nov 2020 14:07:01 +0100 Subject: Fix a bunch of clazy-range-loop warnings --- src/engine/controls/cuecontrol.cpp | 4 ++-- src/engine/effects/engineeffectchain.cpp | 4 ++-- src/engine/effects/engineeffectrack.cpp | 4 ++-- src/engine/sidechain/enginenetworkstream.cpp | 4 ++-- src/engine/sync/enginesync.cpp | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) (limited to 'src/engine') diff --git a/src/engine/controls/cuecontrol.cpp b/src/engine/controls/cuecontrol.cpp index d8e48bd831..6b38a67325 100644 --- a/src/engine/controls/cuecontrol.cpp +++ b/src/engine/controls/cuecontrol.cpp @@ -344,7 +344,7 @@ void CueControl::trackLoaded(TrackPointer pNewTrack) { QMutexLocker lock(&m_mutex); if (m_pLoadedTrack) { disconnect(m_pLoadedTrack.get(), 0, this, 0); - for (const auto& pControl : m_hotcueControls) { + for (const auto& pControl : qAsConst(m_hotcueControls)) { detachCue(pControl); } @@ -905,7 +905,7 @@ void CueControl::hintReader(HintVector* pHintList) { // this is called from the engine thread // it is no locking required, because m_hotcueControl is filled during the // constructor and getPosition()->get() is a ControlObject - for (const auto& pControl: m_hotcueControls) { + for (const auto& pControl : qAsConst(m_hotcueControls)) { double position = pControl->getPosition(); if (position != Cue::kNoPosition) { cue_hint.frame = SampleUtil::floorPlayPosToFrame(position); diff --git a/src/engine/effects/engineeffectchain.cpp b/src/engine/effects/engineeffectchain.cpp index 2a8b5ac137..9fd5d8079a 100644 --- a/src/engine/effects/engineeffectchain.cpp +++ b/src/engine/effects/engineeffectchain.cpp @@ -212,7 +212,7 @@ void EngineEffectChain::deleteStatesForInputChannel(const ChannelHandle* inputCh for (auto&& outputChannelStatus : outputMap) { outputChannelStatus.enableState = EffectEnableState::Disabled; } - for (EngineEffect* pEffect : m_effects) { + for (EngineEffect* pEffect : qAsConst(m_effects)) { if (pEffect != nullptr) { pEffect->deleteStatesForInputChannel(inputChannel); } @@ -265,7 +265,7 @@ bool EngineEffectChain::process(const ChannelHandle& inputHandle, CSAMPLE* pIntermediateOutput; bool firstAddDryToWetEffectProcessed = false; - for (EngineEffect* pEffect: m_effects) { + for (EngineEffect* pEffect : qAsConst(m_effects)) { if (pEffect != nullptr) { // Select an unused intermediate buffer for the next output if (pIntermediateInput == m_buffer1.data()) { diff --git a/src/engine/effects/engineeffectrack.cpp b/src/engine/effects/engineeffectrack.cpp index f59ab97b52..7afe4ecb71 100644 --- a/src/engine/effects/engineeffectrack.cpp +++ b/src/engine/effects/engineeffectrack.cpp @@ -53,7 +53,7 @@ bool EngineEffectRack::process(const ChannelHandle& inputHandle, bool processingOccured = false; if (pIn == pOut) { // Effects are applied to the buffer in place - for (EngineEffectChain* pChain : m_chains) { + for (EngineEffectChain* pChain : qAsConst(m_chains)) { if (pChain != nullptr) { if (pChain->process(inputHandle, outputHandle, pIn, pOut, @@ -67,7 +67,7 @@ bool EngineEffectRack::process(const ChannelHandle& inputHandle, CSAMPLE* pIntermediateInput = pIn; CSAMPLE* pIntermediateOutput; - for (EngineEffectChain* pChain : m_chains) { + for (EngineEffectChain* pChain : qAsConst(m_chains)) { if (pChain != nullptr) { // Select an unused intermediate buffer for the next output if (pIntermediateInput == m_buffer1.data()) { diff --git a/src/engine/sidechain/enginenetworkstream.cpp b/src/engine/sidechain/enginenetworkstream.cpp index a3d406ee46..ea0b6eb586 100644 --- a/src/engine/sidechain/enginenetworkstream.cpp +++ b/src/engine/sidechain/enginenetworkstream.cpp @@ -78,7 +78,7 @@ void EngineNetworkStream::startStream(double sampleRate) { m_inputStreamStartTimeUs = getNetworkTimeUs(); m_inputStreamFramesWritten = 0; - for(NetworkOutputStreamWorkerPtr worker : m_outputWorkers) { + for (NetworkOutputStreamWorkerPtr worker : qAsConst(m_outputWorkers)) { if (worker.isNull()) { continue; } @@ -90,7 +90,7 @@ void EngineNetworkStream::startStream(double sampleRate) { void EngineNetworkStream::stopStream() { m_inputStreamStartTimeUs = -1; - for(NetworkOutputStreamWorkerPtr worker : m_outputWorkers) { + for (NetworkOutputStreamWorkerPtr worker : qAsConst(m_outputWorkers)) { if (worker.isNull()) { continue; } diff --git a/src/engine/sync/enginesync.cpp b/src/engine/sync/enginesync.cpp index 1691afb46b..62a7555abc 100644 --- a/src/engine/sync/enginesync.cpp +++ b/src/engine/sync/enginesync.cpp @@ -49,7 +49,7 @@ Syncable* EngineSync::pickMaster(Syncable* enabling_syncable) { int stopped_deck_count = 0; int playing_deck_count = 0; - for (const auto& pSyncable : m_syncables) { + for (const auto& pSyncable : qAsConst(m_syncables)) { if (pSyncable->getBaseBpm() <= 0.0) { continue; } @@ -477,7 +477,7 @@ Syncable* EngineSync::pickNonSyncSyncTarget(EngineChannel* pDontPick) const { bool EngineSync::otherSyncedPlaying(const QString& group) { bool othersInSync = false; - for (Syncable* theSyncable : m_syncables) { + for (Syncable* theSyncable : qAsConst(m_syncables)) { bool isSynchonized = theSyncable->isSynchronized(); if (theSyncable->getGroup() == group) { if (!isSynchonized) { -- cgit v1.2.3 From c75b686f74043979091f21bb4b6ed5d4d662b6a0 Mon Sep 17 00:00:00 2001 From: Jan Holthuis Date: Thu, 12 Nov 2020 20:04:18 +0100 Subject: Fix remaining -Wclazy-range-loop warnings using a local const var --- src/engine/controls/cuecontrol.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src/engine') diff --git a/src/engine/controls/cuecontrol.cpp b/src/engine/controls/cuecontrol.cpp index 6b38a67325..ab53d49e46 100644 --- a/src/engine/controls/cuecontrol.cpp +++ b/src/engine/controls/cuecontrol.cpp @@ -375,7 +375,8 @@ void CueControl::trackLoaded(TrackPointer pNewTrack) { Qt::DirectConnection); CuePointer pMainCue; - for (const CuePointer& pCue : m_pLoadedTrack->getCuePoints()) { + const QList cuePoints = m_pLoadedTrack->getCuePoints(); + for (const CuePointer& pCue : cuePoints) { if (pCue->getType() == mixxx::CueType::MainCue) { DEBUG_ASSERT(!pMainCue); pMainCue = pCue; @@ -478,10 +479,12 @@ void CueControl::loadCuesFromTrack() { QSet active_hotcues; CuePointer pLoadCue, pIntroCue, pOutroCue; - if (!m_pLoadedTrack) + if (!m_pLoadedTrack) { return; + } - for (const CuePointer& pCue: m_pLoadedTrack->getCuePoints()) { + const QList cues = m_pLoadedTrack->getCuePoints(); + for (const auto& pCue : cues) { switch (pCue->getType()) { case mixxx::CueType::MainCue: DEBUG_ASSERT(!pLoadCue); // There should be only one MainCue cue -- cgit v1.2.3