From b51079e921c31f2570a8d07d3100a67ad4584123 Mon Sep 17 00:00:00 2001 From: Hyunjin Song Date: Tue, 24 Mar 2020 10:36:50 +0900 Subject: [PATCH] Use proper synchronization methods on some instrument track operations --- src/tracks/InstrumentTrack.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/tracks/InstrumentTrack.cpp b/src/tracks/InstrumentTrack.cpp index 3f0c59b7d..7caf8e2fc 100644 --- a/src/tracks/InstrumentTrack.cpp +++ b/src/tracks/InstrumentTrack.cpp @@ -445,7 +445,7 @@ void InstrumentTrack::silenceAllNotes( bool removeIPH ) } m_midiNotesMutex.unlock(); - lock(); + Engine::mixer()->requestChangeInModel(); // invalidate all NotePlayHandles and PresetPreviewHandles linked to this track m_processHandles.clear(); @@ -455,7 +455,7 @@ void InstrumentTrack::silenceAllNotes( bool removeIPH ) flags |= PlayHandle::TypeInstrumentPlayHandle; } Engine::mixer()->removePlayHandlesOfTypes( this, flags ); - unlock(); + Engine::mixer()->doneChangeInModel(); } @@ -544,11 +544,13 @@ void InstrumentTrack::setName( const QString & _new_name ) void InstrumentTrack::updateBaseNote() { + Engine::mixer()->requestChangeInModel(); for( NotePlayHandleList::Iterator it = m_processHandles.begin(); it != m_processHandles.end(); ++it ) { ( *it )->setFrequencyUpdate(); } + Engine::mixer()->doneChangeInModel(); }