From e29de773b3982aa6ec26eadaafe0747846e9b7df Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Wed, 1 May 2013 21:51:37 +0200 Subject: [PATCH] InstrumentTrack: fix freeze when forwarding MIDI events to instrument In commit a3abcdb2e0ac91887c5ef7b4299ab8113994625c we introduced multitimbral MIDI support. However the new code path causes the mixer not being unlocked at exit and thus causes a freeze of LMMS. Thanks to nuio for pointing out this issue and providing a patch. Closes #532. --- src/tracks/InstrumentTrack.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/tracks/InstrumentTrack.cpp b/src/tracks/InstrumentTrack.cpp index 5dcac3f11..ce7a444a4 100644 --- a/src/tracks/InstrumentTrack.cpp +++ b/src/tracks/InstrumentTrack.cpp @@ -2,7 +2,7 @@ * InstrumentTrack.cpp - implementation of instrument-track-class * (window + data-structures) * - * Copyright (c) 2004-2012 Tobias Doerffel + * Copyright (c) 2004-2013 Tobias Doerffel * * This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net * @@ -230,6 +230,7 @@ void InstrumentTrack::processInEvent( const midiEvent & _me, midiPort()->realOutputChannel() < 0 */ ) { m_instrument->handleMidiEvent( _me, _time ); + engine::getMixer()->unlock(); return; }