X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fplugin_selector.h;h=1a7e11be8c19014d0dccc38d16386bdee79b3d27;hb=73c0f9e529657d67177376b8a0a14080c009350c;hp=dacbcccd74e062c28b371436c0b33bafac2fc715;hpb=5399425f534e2d96d07cf29f427bfa0f39d904b7;p=ardour.git diff --git a/gtk2_ardour/plugin_selector.h b/gtk2_ardour/plugin_selector.h index dacbcccd74..1a7e11be8c 100644 --- a/gtk2_ardour/plugin_selector.h +++ b/gtk2_ardour/plugin_selector.h @@ -23,12 +23,16 @@ #include #include #include +#include "gtkmm2ext/dndtreeview.h" #include #include "ardour/plugin.h" #include "ardour/session_handle.h" #include "plugin_interest.h" +#include "ardour_button.h" +#include "ardour_dialog.h" + namespace ARDOUR { class Session; class PluginManager; @@ -59,6 +63,11 @@ class PluginSelector : public ArdourDialog Gtk::Entry filter_entry; Gtk::Button filter_button; + ArdourButton fil_hidden_button; + ArdourButton fil_instruments_button; + ArdourButton fil_analysis_button; + ArdourButton fil_utils_button; + void filter_button_clicked (); void filter_entry_changed (); void filter_mode_changed (); @@ -91,7 +100,7 @@ class PluginSelector : public ArdourDialog }; PluginColumns plugin_columns; Glib::RefPtr plugin_model; - Gtk::TreeView plugin_display; + Gtkmm2ext::DnDTreeView plugin_display; Gtk::Button* btn_add; Gtk::Button* btn_remove; @@ -114,6 +123,7 @@ class PluginSelector : public ArdourDialog void vst_refiller (const std::string&); void lxvst_refiller (const std::string&); void au_refiller (const std::string&); + void lua_refiller (const std::string&); Gtk::Menu* _plugin_menu; ARDOUR::PluginManager& manager; @@ -121,14 +131,19 @@ class PluginSelector : public ArdourDialog void row_activated(Gtk::TreeModel::Path path, Gtk::TreeViewColumn* col); void btn_add_clicked(); void btn_remove_clicked(); - void btn_update_clicked(); void added_list_selection_changed(); + void added_row_clicked(GdkEventButton* event); void display_selection_changed(); void btn_apply_clicked(); ARDOUR::PluginPtr load_plugin (ARDOUR::PluginInfoPtr); bool show_this_plugin (const ARDOUR::PluginInfoPtr&, const std::string&); void setup_filter_string (std::string&); + bool fil_hidden_button_release (GdkEventButton*); + bool fil_instruments_button_release (GdkEventButton*); + bool fil_analysis_button_release (GdkEventButton*); + bool fil_utils_button_release (GdkEventButton*); + void favorite_changed (const std::string& path); void hidden_changed (const std::string& path); bool in_row_change; @@ -140,6 +155,11 @@ class PluginSelector : public ArdourDialog Gtk::Menu* create_by_category_menu (ARDOUR::PluginInfoList&); void build_plugin_menu (); PBD::ScopedConnectionList plugin_list_changed_connection; + + bool _show_hidden; + Gtkmm2ext::ActiveState _show_instruments; + Gtkmm2ext::ActiveState _show_analysers; + Gtkmm2ext::ActiveState _show_utils; }; #endif // __ardour_plugin_selector_h__