From 96fb6f5a3883da119681fc7bcba67016333f7a48 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. --- 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 );