UI integration to conceal LV1 plugins

This commit is contained in:
Robin Gareus 2019-05-25 01:56:54 +02:00
parent c97884d257
commit 4cd379f89b
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04
2 changed files with 28 additions and 6 deletions

View File

@ -380,6 +380,7 @@ PluginSelector::show_this_plugin (const PluginInfoPtr& info, const std::string&
if (status == PluginManager::Hidden) {
return false;
}
if (status == PluginManager::Concealed) {
return false;
}
return true;
@ -402,13 +403,15 @@ PluginSelector::show_this_plugin (const PluginInfoPtr& info, const std::string&
return false;
}
if (_fil_hidden_radio->get_active() && status != PluginManager::Hidden) {
if (_fil_hidden_radio->get_active() && (status != PluginManager::Hidden && status != PluginManager::Concealed)) {
return false;
}
if (!_fil_hidden_radio->get_active() && status == PluginManager::Hidden) {
return false;
}
if (!_fil_hidden_radio->get_active() && status == PluginManager::Concealed) {
return false;
}
@ -535,8 +538,10 @@ PluginSelector::refiller (const PluginInfoList& plugs, const::std::string& searc
if (show_this_plugin (*i, searchstr)) {
TreeModel::Row newrow = *(plugin_model->append());
newrow[plugin_columns.favorite] = (manager.get_status (*i) == PluginManager::Favorite);
newrow[plugin_columns.hidden] = (manager.get_status (*i) == PluginManager::Hidden);
PluginManager::PluginStatusType status = manager.get_status (*i);
newrow[plugin_columns.favorite] = status == PluginManager::Favorite;
newrow[plugin_columns.hidden] = status == PluginManager::Hidden;
string name = (*i)->name;
if (name.length() > 48) {
@ -865,7 +870,7 @@ PluginSelector::plugin_status_changed (PluginType t, std::string uid, PluginMana
(*i)[plugin_columns.hidden] = (stat == PluginManager::Hidden) ? true : false;
/* if plug was hidden, remove it from the view */
if (stat == PluginManager::Hidden) {
if (stat == PluginManager::Hidden || stat == PluginManager::Concealed) {
if (!_fil_hidden_radio->get_active() && !_fil_all_radio->get_active()) {
plugin_model->erase(i);
}
@ -1061,7 +1066,9 @@ PluginSelector::create_by_creator_menu (ARDOUR::PluginInfoList& all_plugs)
for (PluginInfoList::const_iterator i = all_plugs.begin(); i != all_plugs.end(); ++i) {
if (manager.get_status (*i) == PluginManager::Hidden) continue;
PluginManager::PluginStatusType status = manager.get_status (*i);
if (status == PluginManager::Hidden) continue;
if (status == PluginManager::Concealed) continue;
string creator = (*i)->creator;
@ -1119,7 +1126,9 @@ PluginSelector::create_by_tags_menu (ARDOUR::PluginInfoList& all_plugs)
for (PluginInfoList::const_iterator i = all_plugs.begin(); i != all_plugs.end(); ++i) {
if (manager.get_status (*i) == PluginManager::Hidden) continue;
PluginManager::PluginStatusType status = manager.get_status (*i);
if (status == PluginManager::Hidden) continue;
if (status == PluginManager::Concealed) continue;
/* for each tag in the plugins tag list, add it to that submenu */
vector<string> tokens = manager.get_tags(*i);

View File

@ -3518,6 +3518,17 @@ RCOptionEditor::RCOptionEditor ()
_("AU Blacklist:")));
#endif
#ifdef HAVE_LV2
add_option (_("Plugins"), new OptionEditorHeading (_("LV1/LV2")));
add_option (_("Plugins"),
new BoolOption (
"conceal-lv1-if-lv2-exists",
_("Conceal LADSPA (LV1) Plugins if matching LV2 exists"),
sigc::mem_fun (*_rc_config, &RCConfiguration::get_conceal_lv1_if_lv2_exists),
sigc::mem_fun (*_rc_config, &RCConfiguration::set_conceal_lv1_if_lv2_exists)
));
#endif
#if (defined WINDOWS_VST_SUPPORT || defined LXVST_SUPPORT || defined MACVST_SUPPORT || defined AUDIOUNIT_SUPPORT || defined HAVE_LV2)
add_option (_("Plugins"), new OptionEditorHeading (_("Plugin GUI")));
add_option (_("Plugins"),
@ -4071,6 +4082,8 @@ RCOptionEditor::parameter_changed (string const & p)
#if (defined LV2_SUPPORT && defined LV2_EXTENDED)
_plugin_prefer_inline->set_sensitive (UIConfiguration::instance().get_open_gui_after_adding_plugin() && UIConfiguration::instance().get_show_inline_display_by_default());
#endif
} else if (p == "conceal-lv1-if-lv2-exists") {
PluginManager::instance().refresh (true);
}
}