From 58ba68476b4881cf33a86bef451ae28f4afc1cfb Mon Sep 17 00:00:00 2001 From: ronso0 Date: Thu, 13 Aug 2026 18:36:29 +0200 Subject: [PATCH] don't reset `beatloop_size` to 1/32 when loop doesn't match any of the pre-defined sizes --- src/engine/controls/loopingcontrol.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/engine/controls/loopingcontrol.cpp b/src/engine/controls/loopingcontrol.cpp index 3213f58de3fd..9b98ffe65af2 100644 --- a/src/engine/controls/loopingcontrol.cpp +++ b/src/engine/controls/loopingcontrol.cpp @@ -703,8 +703,14 @@ void LoopingControl::setLoop(mixxx::audio::FramePos startPosition, } // Don't allow loop size widget setting to trigger creation of another loop. + double loaded_loop_size = findBeatloopSizeForLoop(startPosition, endPosition); + if (loaded_loop_size == -1) { + // Loop size doesn't match any of the pre-defined sizes, + // keep the current size + return; + } m_pCOBeatLoopSize->blockSignals(true); - m_pCOBeatLoopSize->setAndConfirm(findBeatloopSizeForLoop(startPosition, endPosition)); + m_pCOBeatLoopSize->setAndConfirm(loaded_loop_size); m_pCOBeatLoopSize->blockSignals(false); }