1 #ifndef __lxvst_plugin_ui_h__
2 #define __lxvst_plugin_ui_h__
8 #include <sigc++/signal.h>
9 #include <gtkmm/widget.h>
11 #include <ardour_dialog.h>
12 #include <ardour/types.h>
13 #include "plugin_ui.h"
22 class LXVSTPluginUI : public PlugUIBase, public Gtk::VBox
25 LXVSTPluginUI (boost::shared_ptr<ARDOUR::PluginInsert>, boost::shared_ptr<ARDOUR::LXVSTPlugin>);
28 gint get_preferred_height ();
29 gint get_preferred_width ();
30 bool start_updating(GdkEventAny*);
31 bool stop_updating(GdkEventAny*);
33 int package (Gtk::Window&);
34 void forward_key_event (GdkEventKey *);
35 bool non_gtk_gui() const { return true; }
38 boost::shared_ptr<ARDOUR::LXVSTPlugin> lxvst;
43 sigc::connection _screen_update_connection;
45 bool configure_handler (GdkEventConfigure*, Gtk::Socket*);
46 void save_plugin_setting ();
48 struct PresetModelColumns : public Gtk::TreeModel::ColumnRecord {
49 PresetModelColumns() {
53 Gtk::TreeModelColumn<Glib::ustring> name;
54 Gtk::TreeModelColumn<int> number;
57 PresetModelColumns preset_columns;
58 Glib::RefPtr<Gtk::ListStore> preset_model;
59 Gtk::ComboBox lxvst_preset_combo;
61 void create_preset_store ();
62 void preset_chosen ();
63 void preset_selected ();
64 void resize_callback();
67 #endif //LXVST_SUPPORT