From 4569b635d9f105948a33c824724e8b1409aeed90 Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Sun, 22 Mar 2009 14:50:57 +0100 Subject: [PATCH] RemoteVstPlugin: use SplittedThreading model for MDA plugins Most of the MDA VST plugins require the SplittedThreading model in order to run properly. All plugins whose unique ID starts with "mda" will be driven with the SplittedThreading model. (cherry picked from commit 96fb6f5a3883da119681fc7bcba67016333f7a48) --- plugins/vst_base/remote_vst_plugin.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/plugins/vst_base/remote_vst_plugin.cpp b/plugins/vst_base/remote_vst_plugin.cpp index 2a0b99747..99cebfc20 100644 --- a/plugins/vst_base/remote_vst_plugin.cpp +++ b/plugins/vst_base/remote_vst_plugin.cpp @@ -566,8 +566,6 @@ bool remoteVstPlugin::load( const std::string & _plugin_file ) case CCONST( 'z', '3', 't', 'a' ): // z3ta+ case CCONST( 'T', 'C', '_', 'S' ): // Cygnus case CCONST( 'S', 'y', 't', 'r' ): // Sytrus - debugMessage( "switching to splitted threading " - "model\n" ); __threadingModel = SplittedThreading; break; @@ -575,6 +573,16 @@ bool remoteVstPlugin::load( const std::string & _plugin_file ) break; } + // most of MDA plugins only work with SplittedThreading model + if( strncmp( id, "mda", 3 ) == 0 ) + { + __threadingModel = SplittedThreading; + } + + if( __threadingModel == SplittedThreading ) + { + debugMessage( "switching to splitted threading model\n" ); + } m_plugin->dispatcher( m_plugin, effOpen, 0, 0, 0, 0 );