From 81dcd2f844d6a5fe37d7f1f84a052031cea39bd9 Mon Sep 17 00:00:00 2001 From: Dominic Clark Date: Wed, 7 Oct 2020 13:37:08 +0100 Subject: [PATCH] Don't reload sample from disk when reversing (#5701) --- src/core/SampleBuffer.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/core/SampleBuffer.cpp b/src/core/SampleBuffer.cpp index 368600752f0..ffe631ca44b 100644 --- a/src/core/SampleBuffer.cpp +++ b/src/core/SampleBuffer.cpp @@ -24,6 +24,8 @@ #include "SampleBuffer.h" +#include + #include #include #include @@ -1411,8 +1413,13 @@ void SampleBuffer::setAmplification( float _a ) void SampleBuffer::setReversed( bool _on ) { + Engine::mixer()->requestChangeInModel(); + m_varLock.lockForWrite(); + if (m_reversed != _on) { std::reverse(m_data, m_data + m_frames); } m_reversed = _on; - update( true ); + m_varLock.unlock(); + Engine::mixer()->doneChangeInModel(); + emit sampleUpdated(); }