-#if 0 // TODO - cache, instantiating the plugin can be heavy
- /* Built-in presets */
- VSTHandle* handle = vstfx_load(path.c_str());
- Session::vst_current_loading_id = atoi (unique_id);
- AEffect* plugin = handle->main_entry (Session::vst_callback);
- Session::vst_current_loading_id = 0;
-
- plugin->dispatcher (plugin, effOpen, 0, 0, 0, 0); // :(
- int const vst_version = plugin->dispatcher (plugin, effGetVstVersion, 0, 0, NULL, 0);
-
- for (int i = 0; i < plugin->numPrograms; ++i) {
- Plugin::PresetRecord r (string_compose (X_("VST:%1:%2"), unique_id, i), "", false);
- if (vst_version >= 2) {
- char buf[256];
- if (plugin->dispatcher (plugin, 29, i, 0, buf, 0) == 1) {
- r.label = buf;
+ if (!user_only) {
+ // TODO - cache, instantiating the plugin can be heavy
+ /* Built-in presets */
+ VSTHandle* handle = vstfx_load(path.c_str());
+ Session::vst_current_loading_id = atoi (unique_id);
+ AEffect* plugin = handle->main_entry (Session::vst_callback);
+ Session::vst_current_loading_id = 0;
+
+ plugin->dispatcher (plugin, effOpen, 0, 0, 0, 0); // :(
+ int const vst_version = plugin->dispatcher (plugin, effGetVstVersion, 0, 0, NULL, 0);
+
+ for (int i = 0; i < plugin->numPrograms; ++i) {
+ Plugin::PresetRecord r (string_compose (X_("VST:%1:%2"), unique_id, i), "", false);
+ if (vst_version >= 2) {
+ char buf[256];
+ if (plugin->dispatcher (plugin, 29, i, 0, buf, 0) == 1) {
+ r.label = buf;
+ } else {
+ r.label = string_compose (_("Preset %1"), i);
+ }