diff options
Diffstat (limited to 'libs/ardour/plugin_manager.cc')
-rw-r--r-- | libs/ardour/plugin_manager.cc | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/libs/ardour/plugin_manager.cc b/libs/ardour/plugin_manager.cc index 9d21b6bb65..602388509f 100644 --- a/libs/ardour/plugin_manager.cc +++ b/libs/ardour/plugin_manager.cc @@ -311,15 +311,22 @@ PluginManager::detect_type_ambiguities (PluginInfoList& pil) if (dup.back()->name != (*i)->name) { /* found multiple plugins with same name */ bool typediff = false; + bool chandiff = false; for (PluginInfoList::iterator j = dup.begin(); j != dup.end(); ++j) { if (dup.front()->type != (*j)->type) { typediff = true; - break; } + chandiff |= (*j)->multichannel_name_ambiguity; } if (typediff) { for (PluginInfoList::iterator j = dup.begin(); j != dup.end(); ++j) { (*j)->plugintype_name_ambiguity = true; + /* show multi-channel information for consistency, when other types display it. + * eg. "Foo 8 outs, VST", "Foo 12 outs, VST", "Foo <=12 outs, AU" + */ + if (chandiff) { + (*j)->multichannel_name_ambiguity = true; + } } } dup.clear (); |