summaryrefslogtreecommitdiff
path: root/gtk2_ardour/plugin_selector.h
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour/plugin_selector.h')
-rw-r--r--gtk2_ardour/plugin_selector.h22
1 files changed, 18 insertions, 4 deletions
diff --git a/gtk2_ardour/plugin_selector.h b/gtk2_ardour/plugin_selector.h
index fe797588de..c4b613647d 100644
--- a/gtk2_ardour/plugin_selector.h
+++ b/gtk2_ardour/plugin_selector.h
@@ -26,6 +26,7 @@
#include <gtkmm2ext/selector.h>
#include <ardour/plugin.h>
+#include "plugin_interest.h"
namespace ARDOUR {
class Session;
@@ -36,16 +37,21 @@ class PluginSelector : public ArdourDialog
{
public:
PluginSelector (ARDOUR::PluginManager *);
- sigc::signal<void,boost::shared_ptr<ARDOUR::Plugin> > PluginCreated;
+ 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 ();
+
private:
+ PluginInterestedObject* interested_object;
+
ARDOUR::Session* session;
- Gtk::ScrolledWindow scroller; // Available plugins
+ Gtk::ScrolledWindow scroller; // Available plugins
Gtk::ScrolledWindow ascroller; // Added plugins
Gtk::ComboBoxText filter_mode;
@@ -58,6 +64,7 @@ class PluginSelector : public ArdourDialog
struct PluginColumns : public Gtk::TreeModel::ColumnRecord {
PluginColumns () {
+ add (favorite);
add (name);
add (type_name);
add (category);
@@ -68,6 +75,7 @@ class PluginSelector : public ArdourDialog
add (midi_outs);
add (plugin);
}
+ Gtk::TreeModelColumn<bool> favorite;
Gtk::TreeModelColumn<std::string> name;
Gtk::TreeModelColumn<std::string> type_name;
Gtk::TreeModelColumn<std::string> category;
@@ -112,10 +120,16 @@ class PluginSelector : public ArdourDialog
void added_list_selection_changed();
void display_selection_changed();
void btn_apply_clicked();
- void use_plugin (ARDOUR::PluginInfoPtr);
- void cleanup ();
+ ARDOUR::PluginPtr load_plugin (ARDOUR::PluginInfoPtr);
bool show_this_plugin (const ARDOUR::PluginInfoPtr&, const std::string&);
void setup_filter_string (std::string&);
+
+ void favorite_changed (const Glib::ustring& path);
+ bool in_row_change;
+
+ void plugin_chosen_from_menu (const ARDOUR::PluginInfoPtr&);
+ Gtk::Menu* _menu;
+ void show_manager ();
};
#endif // __ardour_plugin_selector_h__