summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtk2_ardour/plugin_selector.cc21
-rw-r--r--gtk2_ardour/rc_option_editor.cc13
2 files changed, 28 insertions, 6 deletions
diff --git a/gtk2_ardour/plugin_selector.cc b/gtk2_ardour/plugin_selector.cc
index 2eb6dd0b67..989d4f31a3 100644
--- a/gtk2_ardour/plugin_selector.cc
+++ b/gtk2_ardour/plugin_selector.cc
@@ -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);
diff --git a/gtk2_ardour/rc_option_editor.cc b/gtk2_ardour/rc_option_editor.cc
index c906e96c66..d21e674f2a 100644
--- a/gtk2_ardour/rc_option_editor.cc
+++ b/gtk2_ardour/rc_option_editor.cc
@@ -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);
}
}