From 19d99d4bc558d716273e92ab02d15f980ff6fbbd Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Sat, 17 May 2014 17:01:02 +0200 Subject: vst - fix effGetParameterProperties; label may be unset. --- libs/ardour/vst_plugin.cc | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'libs') diff --git a/libs/ardour/vst_plugin.cc b/libs/ardour/vst_plugin.cc index 52e139db84..a18cc07356 100644 --- a/libs/ardour/vst_plugin.cc +++ b/libs/ardour/vst_plugin.cc @@ -250,6 +250,7 @@ VSTPlugin::get_parameter_descriptor (uint32_t which, ParameterDescriptor& desc) { VstParameterProperties prop; + memset (&prop, 0, sizeof (VstParameterProperties)); desc.min_unbound = false; desc.max_unbound = false; prop.flags = 0; @@ -257,6 +258,7 @@ VSTPlugin::get_parameter_descriptor (uint32_t which, ParameterDescriptor& desc) if (_plugin->dispatcher (_plugin, effGetParameterProperties, which, 0, &prop, 0)) { /* i have yet to find or hear of a VST plugin that uses this */ + /* RG: faust2vsti does use this :) */ if (prop.flags & kVstParameterUsesIntegerMinMax) { desc.lower = prop.minInteger; @@ -287,6 +289,10 @@ VSTPlugin::get_parameter_descriptor (uint32_t which, ParameterDescriptor& desc) desc.largestep = desc.step * 10.0f; } + if (strlen(prop.label) == 0) { + _plugin->dispatcher (_plugin, effGetParamName, which, 0, prop.label, 0); + } + desc.toggled = prop.flags & kVstParameterIsSwitch; desc.logarithmic = false; desc.sr_dependent = false; -- cgit v1.2.3