X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fplugin_selector.h;h=77eefd2c028e94c49ea5f9302ae0731688d3e0df;hb=aaa44a37aaf585b9bcd9268a9551a005e6269bdb;hp=cc482ffbf050171b2f39c777150f40b7d65594fb;hpb=f5091b8db024c3499c72cac8694cde678e8f73bb;p=ardour.git diff --git a/gtk2_ardour/plugin_selector.h b/gtk2_ardour/plugin_selector.h index cc482ffbf0..77eefd2c02 100644 --- a/gtk2_ardour/plugin_selector.h +++ b/gtk2_ardour/plugin_selector.h @@ -20,25 +20,25 @@ #ifndef __ardour_plugin_selector_h__ #define __ardour_plugin_selector_h__ -#include +#include #include #include #include -#include - namespace ARDOUR { class Session; class PluginManager; class Plugin; } -class PluginSelector : public ArdourDialog +class PluginSelector : public Gtk::Dialog { public: PluginSelector (ARDOUR::PluginManager *); sigc::signal PluginCreated; + int run (); // XXX should we try not to overload the non-virtual Gtk::Dialog::run() ? + void set_session (ARDOUR::Session*); private: @@ -46,16 +46,61 @@ class PluginSelector : public ArdourDialog Gtk::Notebook notebook; // page 1 - Gtkmm2ext::Selector ladspa_display; - void column_clicked (int column, GtkCList* clist); + //Gtkmm2ext::Selector ladspa_display; + struct LadspaColumns : public Gtk::TreeModel::ColumnRecord { + LadspaColumns () { + add (name); + add (type); + add (ins); + add (outs); + add (plugin); + } + Gtk::TreeModelColumn name; + Gtk::TreeModelColumn type; + Gtk::TreeModelColumn ins; + Gtk::TreeModelColumn outs; + Gtk::TreeModelColumn plugin; + }; + LadspaColumns lcols; + Glib::RefPtr lmodel; + Glib::RefPtr lselection; + Gtk::TreeView ladspa_display; + + struct AddedColumns : public Gtk::TreeModel::ColumnRecord { + AddedColumns () { + add (text); + add (plugin); + } + Gtk::TreeModelColumn text; + Gtk::TreeModelColumn plugin; + }; + AddedColumns acols; + Glib::RefPtr amodel; + Glib::RefPtr aselection; + Gtk::TreeView added_list; #ifdef VST_SUPPORT // page 2 - Gtkmm2ext::Selector vst_display; - static void _vst_refiller (Gtk::CList &, void *); - void vst_refiller (Gtk::CList &); + struct VstColumns : public Gtk::TreeModel::ColumnRecord { + VstColumns () { + add (name); + add (ins); + add (outs); + add (plugin); + } + Gtk::TreeModelColumn name; + Gtk::TreeModelColumn ins; + Gtk::TreeModelColumn outs; + Gtk::TreeModelColumn plugin; + }; + LadspaColumns vcols; + Glib::RefPtr vmodel; + Glib::RefPtr vselection; + Gtk::TreeView vst_display; + static void _vst_refiller (void *); + void vst_refiller (); #endif - Gtkmm2ext::Selector o_selector; + //Gtkmm2ext::Selector o_selector; ARDOUR::PluginInfo* i_selected_plug; @@ -66,28 +111,17 @@ class PluginSelector : public ArdourDialog ARDOUR::PluginManager *manager; list added_plugins; - //static void _input_refiller (Gtk::CList &, void *); - //static void _output_refiller (Gtk::CList &, void *); - - //void input_refiller (Gtk::CList &); - //void output_refiller (Gtk::CList &); - //void i_plugin_selected (Gtkmm2ext::Selector *selector, - // Gtkmm2ext::SelectionResult *res); - //void i_plugin_chosen (Gtkmm2ext::Selector *selector, - // Gtkmm2ext::SelectionResult *res); - //void o_plugin_selected (Gtkmm2ext::Selector *selector, - // Gtkmm2ext::SelectionResult *res); - //void o_plugin_chosen (Gtkmm2ext::Selector *selector, - // Gtkmm2ext::SelectionResult *res); - + static void _input_refiller (void *); + //static void _output_refiller (void *); + + void input_refiller (); + void row_clicked(GdkEventButton *); void btn_add_clicked(); void btn_remove_clicked(); - void btn_ok_clicked(); void btn_update_clicked(); void btn_apply_clicked(); - void btn_cancel_clicked(); void use_plugin (ARDOUR::PluginInfo*); - gint wm_close(GdkEventAny* ev); + void cleanup (); }; #endif // __ardour_plugin_selector_h__