diff options
author | Robin Gareus <robin@gareus.org> | 2019-10-15 16:02:47 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2019-10-15 16:02:47 +0200 |
commit | 9fa7e919a7b4a52020358da45bcbdab67720d1b0 (patch) | |
tree | 8b34aa39fe5b5a604a63b0f018f20237098b9392 /libs | |
parent | 4eef9c20b86ce804ed14a95c686d5bf0c97ca8c6 (diff) |
Improve multi-channel instrument listing
Diffstat (limited to 'libs')
-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 (); |