diff options
Diffstat (limited to 'libs/ardour')
-rw-r--r-- | libs/ardour/linux_vst_support.cc | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/libs/ardour/linux_vst_support.cc b/libs/ardour/linux_vst_support.cc index e141717f3e..9d36905f48 100644 --- a/libs/ardour/linux_vst_support.cc +++ b/libs/ardour/linux_vst_support.cc @@ -242,9 +242,15 @@ vstfx_load (const char *path) /*Find the main entry point into the plugin*/ - if ((fhandle->main_entry = (main_entry_t) dlsym(fhandle->dll, "main")) == 0 && - (fhandle->main_entry = (main_entry_t) dlsym(fhandle->dll, "VSTPluginMain")) == 0 - ) + fhandle->main_entry = (main_entry_t) dlsym(fhandle->dll, "main"); + + if (fhandle->main_entry == 0) { + if ((fhandle->main_entry = (main_entry_t) dlsym(fhandle->dll, "VSTPluginMain")) != 0) { + PBD::warning << path << _(": is a VST >= 2.4 - this plugin may or may not function correctly with this version of Ardour.") << endmsg; + } + } + + if (fhandle->main_entry == 0) { /*If it can't be found, unload the plugin and return a 0 handle*/ |