diff options
author | Daniel Schürmann <daschuer@mixxx.org> | 2019-07-19 23:10:45 +0200 |
---|---|---|
committer | Daniel Schürmann <daschuer@mixxx.org> | 2019-07-19 23:10:45 +0200 |
commit | 02b8ec6c910de7c97758e3c75f9c3fff1435ee9a (patch) | |
tree | fc390bc4ad60d9b8781bfc73c57725c02e86497e /src/engine/enginebuffer.cpp | |
parent | 006beef4d9339188cb9b70ec74108986ece8f584 (diff) | |
parent | 1b07569ab7eacd73d0c325e4e644bc74eba3ef08 (diff) |
Merge remote-tracking branch 'upstream/2.2'
Diffstat (limited to 'src/engine/enginebuffer.cpp')
-rw-r--r-- | src/engine/enginebuffer.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/engine/enginebuffer.cpp b/src/engine/enginebuffer.cpp index 36e5409d19..030c150b7f 100644 --- a/src/engine/enginebuffer.cpp +++ b/src/engine/enginebuffer.cpp @@ -430,7 +430,7 @@ void EngineBuffer::seekCloneBuffer(EngineBuffer* pOtherBuffer) { // WARNING: This method is not thread safe and must not be called from outside // the engine callback! -void EngineBuffer::setNewPlaypos(double newpos, bool adjustingPhase) { +void EngineBuffer::setNewPlaypos(double newpos) { //qDebug() << m_group << "engine new pos " << newpos; m_filepos_play = newpos; @@ -449,7 +449,7 @@ void EngineBuffer::setNewPlaypos(double newpos, bool adjustingPhase) { // Must hold the engineLock while using m_engineControls for (const auto& pControl: qAsConst(m_engineControls)) { - pControl->notifySeek(m_filepos_play, adjustingPhase); + pControl->notifySeek(m_filepos_play); } verifyPlay(); // verify or update play button and indicator @@ -1138,14 +1138,12 @@ void EngineBuffer::processSeek(bool paused) { seekType |= SEEK_PHASE; } - bool adjustingPhase = false; switch (seekType) { case SEEK_NONE: return; case SEEK_PHASE: // only adjust phase position = m_filepos_play; - adjustingPhase = true; break; case SEEK_STANDARD: if (m_pQuantize->toBool()) { @@ -1164,10 +1162,12 @@ void EngineBuffer::processSeek(bool paused) { } if (!paused && (seekType & SEEK_PHASE)) { - position = m_pBpmControl->getNearestPositionInPhase(position, true, true); + double requestedPosition = position; + double syncPosition = m_pBpmControl->getNearestPositionInPhase(position, true, true); + position = m_pLoopingControl->getSyncPositionInsideLoop(requestedPosition, syncPosition); } if (position != m_filepos_play) { - setNewPlaypos(position, adjustingPhase); + setNewPlaypos(position); } } |