mirror of
https://github.com/LMMS/lmms.git
synced 2026-03-13 11:38:24 -04:00
VST Automation: lock prevention
src/core/RemotePlugin.cpp @ RemotePlugin::process Above function should be now more thread safe, but functionality remains. This prevent lmms locks, when automation is connected to lmms VST plugin wrappers controler / knob on Linux. On win32 build whenever is lmms wrapper parameter controler / knob amended. plugins/vst_base/VstPlugin.cpp @ VstPlugin::setParam plugins/vst_base/RemoteVstPlugin.cpp @ RemoteVstPlugin::processMessage In above functions we dont wait for message confirmation when parameter setter function finish, and dont send such confirmations. This workaround prevent locks on Linux, whenever there is automation connected and if you try to move with VST plugin (not via lmms plugins wrapper, but with VSTs internal window) than it freezes, on win32 build it will freeze whenever you connect automation and than if you move your mouse above this VST plugin window. Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
This commit is contained in:
committed by
Tobias Doerffel
parent
2960f67beb
commit
3cc01560be
@@ -230,14 +230,13 @@ bool RemotePlugin::process( const sampleFrame * _in_buf,
|
||||
|
||||
lock();
|
||||
sendMessage( IdStartProcessing );
|
||||
unlock();
|
||||
|
||||
if( m_failed || _out_buf == NULL || m_outputCount == 0 )
|
||||
{
|
||||
unlock();
|
||||
return false;
|
||||
}
|
||||
|
||||
lock();
|
||||
waitForMessage( IdProcessingDone );
|
||||
unlock();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user