summaryrefslogtreecommitdiff
path: root/libs/ardour/vst_plugin.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/vst_plugin.cc')
-rw-r--r--libs/ardour/vst_plugin.cc16
1 files changed, 13 insertions, 3 deletions
diff --git a/libs/ardour/vst_plugin.cc b/libs/ardour/vst_plugin.cc
index 3885bc2a1c..c385e71a5a 100644
--- a/libs/ardour/vst_plugin.cc
+++ b/libs/ardour/vst_plugin.cc
@@ -295,10 +295,11 @@ VSTPlugin::get_parameter_descriptor (uint32_t which, ParameterDescriptor& desc)
/* old style */
char label[64];
- label[0] = '\0';
+ /* some VST plugins expect this buffer to be zero-filled */
+ memset (label, sizeof (label), 0);
_plugin->dispatcher (_plugin, effGetParamName, which, 0, label, 0);
-
+
desc.label = label;
desc.integer_step = false;
desc.lower = 0.0f;
@@ -482,8 +483,17 @@ VSTPlugin::do_remove_preset (string name)
string
VSTPlugin::describe_parameter (Evoral::Parameter param)
{
- char name[64] = "Unkown";
+ char name[64];
+ memset (name, sizeof (name), 0);
+
+ /* some VST plugins expect this buffer to be zero-filled */
+
_plugin->dispatcher (_plugin, effGetParamName, param.id(), 0, name, 0);
+
+ if (name[0] == '\0') {
+ strcpy (name, _("Unknown"));
+ }
+
return name;
}