X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=gtk2_ardour%2Fplugin_selector.cc;h=71036b72da10f9d762aaaac34fbaebc390f97b11;hb=e3d9a971a735174687067cb7d7b9419c7ecbb114;hp=07ab3fd9f560064b4a852a3c42390d60f7998ee6;hpb=ed626628b54e67dd9621c08d82a42afaed00c7ac;p=ardour.git diff --git a/gtk2_ardour/plugin_selector.cc b/gtk2_ardour/plugin_selector.cc index 07ab3fd9f5..71036b72da 100644 --- a/gtk2_ardour/plugin_selector.cc +++ b/gtk2_ardour/plugin_selector.cc @@ -62,19 +62,20 @@ static const char* _filter_mode_strings[] = { 0 }; -PluginSelector::PluginSelector (PluginManager *mgr) - : ArdourDialog (_("Plugin Manager"), true, false), - filter_button (Stock::CLEAR) +PluginSelector::PluginSelector (PluginManager& mgr) + : ArdourDialog (_("Plugin Manager"), true, false) + , filter_button (Stock::CLEAR) + , manager (mgr) + { set_position (Gtk::WIN_POS_MOUSE); set_name ("PluginSelectorWindow"); add_events (Gdk::KEY_PRESS_MASK|Gdk::KEY_RELEASE_MASK); _plugin_menu = 0; - manager = mgr; in_row_change = false; - manager->PluginListChanged.connect (plugin_list_changed_connection, invalidator (*this), boost::bind (&PluginSelector::build_plugin_menu, this), gui_context()); + manager.PluginListChanged.connect (plugin_list_changed_connection, invalidator (*this), boost::bind (&PluginSelector::build_plugin_menu, this), gui_context()); build_plugin_menu (); plugin_model = Gtk::ListStore::create (plugin_columns); @@ -212,11 +213,11 @@ PluginSelector::show_this_plugin (const PluginInfoPtr& info, const std::string& std::string mode = filter_mode.get_active_text (); if (mode == _("Favorites only")) { - return manager->get_status (info) == PluginManager::Favorite; + return manager.get_status (info) == PluginManager::Favorite; } if (mode == _("Hidden only")) { - return manager->get_status (info) == PluginManager::Hidden; + return manager.get_status (info) == PluginManager::Hidden; } if (!filterstr.empty()) { @@ -240,6 +241,9 @@ PluginSelector::show_this_plugin (const PluginInfoPtr& info, const std::string& case VST: compstr = X_("VST"); break; + case LXVST: + compstr = X_("LXVST"); + break; } } else if (mode == _("Author contains")) { @@ -285,6 +289,7 @@ PluginSelector::refill () ladspa_refiller (filterstr); lv2_refiller (filterstr); vst_refiller (filterstr); + lxvst_refiller (filterstr); au_refiller (filterstr); in_row_change = false; @@ -300,8 +305,8 @@ PluginSelector::refiller (const PluginInfoList& plugs, const::std::string& filte if (show_this_plugin (*i, filterstr)) { 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); + newrow[plugin_columns.favorite] = (manager.get_status (*i) == PluginManager::Favorite); + newrow[plugin_columns.hidden] = (manager.get_status (*i) == PluginManager::Hidden); newrow[plugin_columns.name] = (*i)->name; newrow[plugin_columns.type_name] = type; newrow[plugin_columns.category] = (*i)->category; @@ -334,14 +339,14 @@ PluginSelector::refiller (const PluginInfoList& plugs, const::std::string& filte void PluginSelector::ladspa_refiller (const std::string& filterstr) { - refiller (manager->ladspa_plugin_info(), filterstr, "LADSPA"); + refiller (manager.ladspa_plugin_info(), filterstr, "LADSPA"); } void PluginSelector::lv2_refiller (const std::string& filterstr) { #ifdef LV2_SUPPORT - refiller (manager->lv2_plugin_info(), filterstr, "LV2"); + refiller (manager.lv2_plugin_info(), filterstr, "LV2"); #endif } @@ -353,19 +358,31 @@ PluginSelector::vst_refiller (const std::string&) #endif { #ifdef VST_SUPPORT - refiller (manager->vst_plugin_info(), filterstr, "VST"); + refiller (manager.vst_plugin_info(), filterstr, "VST"); #endif } void -#ifdef HAVE_AUDIOUNITS +#ifdef LXVST_SUPPORT +PluginSelector::lxvst_refiller (const std::string& filterstr) +#else +PluginSelector::lxvst_refiller (const std::string&) +#endif +{ +#ifdef LXVST_SUPPORT + refiller (manager.lxvst_plugin_info(), filterstr, "LXVST"); +#endif +} + +void +#ifdef AUDIOUNIT_SUPPORT PluginSelector::au_refiller (const std::string& filterstr) #else PluginSelector::au_refiller (const std::string&) #endif { -#ifdef HAVE_AUDIOUNITS - refiller (manager->au_plugin_info(), filterstr, "AU"); +#ifdef AUDIOUNIT_SUPPORT + refiller (manager.au_plugin_info(), filterstr, "AU"); #endif } @@ -413,7 +430,7 @@ PluginSelector::btn_remove_clicked() void PluginSelector::btn_update_clicked() { - manager->refresh (); + manager.refresh (); refill(); } @@ -581,15 +598,18 @@ PluginSelector::build_plugin_menu () { PluginInfoList all_plugs; - all_plugs.insert (all_plugs.end(), manager->ladspa_plugin_info().begin(), manager->ladspa_plugin_info().end()); + all_plugs.insert (all_plugs.end(), manager.ladspa_plugin_info().begin(), manager.ladspa_plugin_info().end()); #ifdef VST_SUPPORT - all_plugs.insert (all_plugs.end(), manager->vst_plugin_info().begin(), manager->vst_plugin_info().end()); + all_plugs.insert (all_plugs.end(), manager.vst_plugin_info().begin(), manager.vst_plugin_info().end()); +#endif +#ifdef LXVST_SUPPORT + all_plugs.insert (all_plugs.end(), manager.lxvst_plugin_info().begin(), manager.lxvst_plugin_info().end()); #endif -#ifdef HAVE_AUDIOUNITS - all_plugs.insert (all_plugs.end(), manager->au_plugin_info().begin(), manager->au_plugin_info().end()); +#ifdef AUDIOUNIT_SUPPORT + all_plugs.insert (all_plugs.end(), manager.au_plugin_info().begin(), manager.au_plugin_info().end()); #endif #ifdef LV2_SUPPORT - all_plugs.insert (all_plugs.end(), manager->lv2_plugin_info().begin(), manager->lv2_plugin_info().end()); + all_plugs.insert (all_plugs.end(), manager.lv2_plugin_info().begin(), manager.lv2_plugin_info().end()); #endif using namespace Menu_Helpers; @@ -627,7 +647,7 @@ PluginSelector::create_favs_menu (PluginInfoList& all_plugs) all_plugs.sort (cmp_by_name); for (PluginInfoList::const_iterator i = all_plugs.begin(); i != all_plugs.end(); ++i) { - if (manager->get_status (*i) == PluginManager::Favorite) { + if (manager.get_status (*i) == PluginManager::Favorite) { favs->items().push_back (MenuElem ((*i)->name, (sigc::bind (sigc::mem_fun (*this, &PluginSelector::plugin_chosen_from_menu), *i)))); } } @@ -651,7 +671,7 @@ 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; + if (manager.get_status (*i) == PluginManager::Hidden) continue; string creator = (*i)->creator; @@ -692,7 +712,7 @@ PluginSelector::create_by_category_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; + if (manager.get_status (*i) == PluginManager::Hidden) continue; string category = (*i)->category; @@ -752,9 +772,9 @@ PluginSelector::favorite_changed (const std::string& path) pi = (*iter)[plugin_columns.plugin]; - manager->set_status (pi->type, pi->unique_id, status); + manager.set_status (pi->type, pi->unique_id, status); - manager->save_statuses (); + manager.save_statuses (); build_plugin_menu (); } @@ -788,9 +808,9 @@ PluginSelector::hidden_changed (const std::string& path) pi = (*iter)[plugin_columns.plugin]; - manager->set_status (pi->type, pi->unique_id, status); + manager.set_status (pi->type, pi->unique_id, status); - manager->save_statuses (); + manager.save_statuses (); } in_row_change = false; }