X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=gtk2_ardour%2Fplugin_selector.h;h=a9f9803809643b8cf9bab620b28abbbe002ebee6;hb=f2ceb5c3404bb3e7f4ccc5bb3f2236f593775d73;hp=2e673d8de777152ef5a8fe394cfbab6e9c9d0575;hpb=b5f7ae45bda38031f354ea1643ebc1cc22018907;p=ardour.git diff --git a/gtk2_ardour/plugin_selector.h b/gtk2_ardour/plugin_selector.h index 2e673d8de7..a9f9803809 100644 --- a/gtk2_ardour/plugin_selector.h +++ b/gtk2_ardour/plugin_selector.h @@ -26,6 +26,7 @@ #include #include "ardour/plugin.h" +#include "ardour/session_handle.h" #include "plugin_interest.h" namespace ARDOUR { @@ -37,21 +38,20 @@ class PluginSelector : public ArdourDialog { public: PluginSelector (ARDOUR::PluginManager *); + ~PluginSelector (); void set_interested_object (PluginInterestedObject&); int run (); // XXX should we try not to overload the non-virtual Gtk::Dialog::run() ? - void set_session (ARDOUR::Session*); void on_show (); - Gtk::Menu& plugin_menu (); + Gtk::Menu* plugin_menu (); void show_manager (); private: PluginInterestedObject* interested_object; - ARDOUR::Session* session; Gtk::ScrolledWindow scroller; // Available plugins Gtk::ScrolledWindow ascroller; // Added plugins @@ -114,6 +114,7 @@ class PluginSelector : public ArdourDialog void vst_refiller (const std::string&); void au_refiller (const std::string&); + Gtk::Menu* _plugin_menu; ARDOUR::PluginManager *manager; void row_clicked(GdkEventButton *); @@ -132,11 +133,12 @@ class PluginSelector : public ArdourDialog bool in_row_change; void plugin_chosen_from_menu (const ARDOUR::PluginInfoPtr&); - Gtk::Menu* _menu; Gtk::Menu* create_favs_menu (ARDOUR::PluginInfoList&); Gtk::Menu* create_by_creator_menu (ARDOUR::PluginInfoList&); Gtk::Menu* create_by_category_menu (ARDOUR::PluginInfoList&); + void build_plugin_menu (); + PBD::ScopedConnection plugin_list_changed_connection; }; #endif // __ardour_plugin_selector_h__