aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/vst/src/vsthost.cpp
diff options
context:
space:
mode:
authorThomas Grill <xovo@users.sourceforge.net>2005-03-17 04:57:22 +0000
committerThomas Grill <xovo@users.sourceforge.net>2005-03-17 04:57:22 +0000
commit428806256328220836f6833c7b0fea5bc7157eac (patch)
treedb5bf3316bcf833f4820a75dce0eab4c6d699bef /externals/grill/vst/src/vsthost.cpp
parent4fe8863a1176f7fe4057d82b2844dd7127b13bca (diff)
clean handling of plugin deletion (potentially open editor window etc.)
workarounds for Waves5 bundle svn path=/trunk/; revision=2631
Diffstat (limited to 'externals/grill/vst/src/vsthost.cpp')
-rw-r--r--externals/grill/vst/src/vsthost.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/externals/grill/vst/src/vsthost.cpp b/externals/grill/vst/src/vsthost.cpp
index 5f2443fc..8cb69f93 100644
--- a/externals/grill/vst/src/vsthost.cpp
+++ b/externals/grill/vst/src/vsthost.cpp
@@ -311,7 +311,12 @@ bool VSTPlugin::Instance(const char *name,const char *subname)
long plugid;
char tmp[64];
- // scan shell for subplugins
+
+ // Waves5 continues with the next plug after the last loaded
+ // that's not what we want - workaround: swallow all remaining
+ while((plugid = Dispatch(effShellGetNextPlugin,0,0,tmp))) {}
+
+ // restart from the beginning
while((plugid = Dispatch(effShellGetNextPlugin,0,0,tmp))) {
// subplug needs a name
FLEXT_LOG1("subplug %s",tmp);