} else {
int plugin_cnt = 0;
vstfx_free_info(info);
- if (read_int (fp, &plugin_cnt)) {
+ if (!read_int (fp, &plugin_cnt)) {
for (int i = 0; i < plugin_cnt; i++) {
if ((info = (VSTInfo*) calloc (1, sizeof (VSTInfo))) == 0) {
vstfx_clear_info_list(infos);
simple_master_callback (AEffect *, int32_t opcode, int32_t, intptr_t, void *ptr, float)
{
const char* vstfx_can_do_strings[] = {
+ "supplyIdle",
+ "sendVstTimeInfo",
+ "sendVstEvents",
+ "sendVstMidiEvent",
+ "receiveVstEvents",
+ "receiveVstMidiEvent",
"supportShell",
- "shellCategory"
+ "shellCategory",
+ "shellCategorycurID"
};
- const int vstfx_can_do_string_count = 2;
+ const int vstfx_can_do_string_count = 9;
if (opcode == audioMasterVersion) {
return 2400;
}
}
}
+ } else {
+ switch(type) {
+#ifdef WINDOWS_VST_SUPPORT
+ case ARDOUR::Windows_VST: fst_close(vstfx); break;
+#endif
+#ifdef LXVST_SUPPORT
+ case ARDOUR::LXVST: vstfx_close (vstfx); break;
+#endif
+ default: assert(0); break;
+ }
}
#endif
}
vstfx_info_from_plugin(dllpath, vstfx, infos, ARDOUR::LXVST);
- vstfx_close (vstfx);
vstfx_unload (h);
return true;
}
vstfx_info_from_plugin(dllpath, vstfx, infos, ARDOUR::Windows_VST);
- fst_close(vstfx);
- //fst_unload(&h); // XXX -> fst_close()
return true;
}
#endif