Fix duplicate singular/plural plugin category menus.

Yes, this is a massive kludge; see comment in commit.


git-svn-id: svn://localhost/ardour2/branches/3.0@9123 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
David Robillard 2011-03-11 04:41:48 +00:00
parent 2eb8f28312
commit 1c3b45fed3

View File

@ -442,8 +442,34 @@ PluginManager::get_ladspa_category (uint32_t plugin_id)
string label = matches2->object;
lrdf_free_statements(matches2);
/* Kludge LADSPA class names to be singular and match LV2 class names.
This avoids duplicate plugin menus for every class, which is necessary
to make the plugin category menu at all usable, but is obviously a
filthy kludge.
In the short term, lrdf could be updated so the labels match and a new
release made. To support both specs, we should probably be mapping the
URIs to the same category in code and perhaps tweaking that hierarchy
dynamically to suit the user. Personally, I (drobilla) think that time
is better spent replacing the little-used LRDF.
In the longer term, we will abandon LRDF entirely in favour of LV2 and
use that class hierarchy. Aside from fixing this problem properly, that
will also allow for translated labels. SWH plugins have been LV2 for
ages; TAP needs porting. I don't know of anything else with LRDF data.
*/
if (label == "Utilities") {
return "Utility";
} else if (label == "Pitch shifters") {
return "Pitch Shifter";
} else if (label != "Dynamics" && label != "Chorus"
&&label[label.length() - 1] == 's'
&& label[label.length() - 2] != 's') {
return label.substr(0, label.length() - 1);
} else {
return label;
}
}
#ifdef HAVE_SLV2
void