try VST2.4's VSTPluginMain first

This fixes a crash with loading u-he Diva on windows.
This commit is contained in:
Robin Gareus 2016-11-17 13:03:36 +01:00
parent cd5a319e48
commit cc72cff504
2 changed files with 4 additions and 9 deletions

View File

@ -219,12 +219,10 @@ vstfx_load (const char *path)
/*Find the main entry point into the plugin*/
fhandle->main_entry = (main_entry_t) dlsym(fhandle->dll, "main");
fhandle->main_entry = (main_entry_t) dlsym(fhandle->dll, "VSTPluginMain");
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;
}
fhandle->main_entry = (main_entry_t) dlsym(fhandle->dll, "main");
}
if (fhandle->main_entry == 0)

View File

@ -477,13 +477,10 @@ fst_load (const char *path)
return NULL;
}
fhandle->main_entry = (main_entry_t) GetProcAddress ((HMODULE)fhandle->dll, "main");
fhandle->main_entry = (main_entry_t) GetProcAddress ((HMODULE)fhandle->dll, "VSTPluginMain");
if (fhandle->main_entry == 0) {
if ((fhandle->main_entry = (main_entry_t) GetProcAddress ((HMODULE)fhandle->dll, "VSTPluginMain"))) {
fprintf(stderr, "VST >= 2.4 plugin '%s'\n", path);
//PBD::warning << path << _(": is a VST >= 2.4 - this plugin may or may not function correctly with this version of Ardour.") << endmsg;
}
fhandle->main_entry = (main_entry_t) GetProcAddress ((HMODULE)fhandle->dll, "main");
}
if (fhandle->main_entry == 0) {