From 84ccf721ba43ed5bc41ecf4dea4cd5149d1cce2c Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Wed, 28 May 2014 01:59:19 +0200 Subject: VST: properly query name from plugin --- libs/ardour/vst_info_file.cc | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'libs/ardour/vst_info_file.cc') diff --git a/libs/ardour/vst_info_file.cc b/libs/ardour/vst_info_file.cc index f74bdca771..693bb6ba9e 100644 --- a/libs/ardour/vst_info_file.cc +++ b/libs/ardour/vst_info_file.cc @@ -611,10 +611,22 @@ vstfx_parse_vst_state (VSTState* vstfx) string with any name*/ char creator[65] = "Unknown\0"; + char name[65] = "Unknown\0"; AEffect* plugin = vstfx->plugin; - info->name = strdup (vstfx->handle->name); + + plugin->dispatcher (plugin, effGetEffectName, 0, 0, name, 0); + + if (strlen(name) == 0) { + plugin->dispatcher (plugin, effGetProductString, 0, 0, name, 0); + } + + if (strlen(name) == 0) { + info->name = strdup (vstfx->handle->name); + } else { + info->name = strdup (name); + } /*If the plugin doesn't bother to implement GetVendorString we will have pre-stuffed the string with 'Unkown' */ -- cgit v1.2.3