diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2011-09-20 20:29:47 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2011-09-20 20:29:47 +0000 |
commit | d4433b9ab384196bb5b8876890863d7939339ee2 (patch) | |
tree | 669f503a04696c7869a14d5c5f6239024ba43e76 /gtk2_ardour/lxvst_plugin_ui.h | |
parent | e09e0035a62ce9f8876b6204682bbb3db474d477 (diff) |
(native) Linux VST support from LinuxDSP
git-svn-id: svn://localhost/ardour2/branches/3.0@10101 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/lxvst_plugin_ui.h')
-rwxr-xr-x | gtk2_ardour/lxvst_plugin_ui.h | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/gtk2_ardour/lxvst_plugin_ui.h b/gtk2_ardour/lxvst_plugin_ui.h new file mode 100755 index 0000000000..fc46ede8a3 --- /dev/null +++ b/gtk2_ardour/lxvst_plugin_ui.h @@ -0,0 +1,69 @@ +#ifndef __lxvst_plugin_ui_h__ +#define __lxvst_plugin_ui_h__ + +#include <vector> +#include <map> +#include <list> + +#include <sigc++/signal.h> +#include <gtkmm/widget.h> + +#include <ardour_dialog.h> +#include <ardour/types.h> +#include "plugin_ui.h" + +#ifdef LXVST_SUPPORT + +namespace ARDOUR { + class PluginInsert; + class LXVSTPlugin; +} + +class LXVSTPluginUI : public PlugUIBase, public Gtk::VBox +{ + public: + LXVSTPluginUI (boost::shared_ptr<ARDOUR::PluginInsert>, boost::shared_ptr<ARDOUR::LXVSTPlugin>); + ~LXVSTPluginUI (); + + gint get_preferred_height (); + gint get_preferred_width (); + bool start_updating(GdkEventAny*); + bool stop_updating(GdkEventAny*); + + int package (Gtk::Window&); + void forward_key_event (GdkEventKey *); + bool non_gtk_gui() const { return true; } + + private: + boost::shared_ptr<ARDOUR::LXVSTPlugin> lxvst; + Gtk::Socket socket; + Gtk::HBox preset_box; + Gtk::VBox vpacker; + + sigc::connection _screen_update_connection; + + bool configure_handler (GdkEventConfigure*, Gtk::Socket*); + void save_plugin_setting (); + + struct PresetModelColumns : public Gtk::TreeModel::ColumnRecord { + PresetModelColumns() { + add (name); + add (number); + } + Gtk::TreeModelColumn<Glib::ustring> name; + Gtk::TreeModelColumn<int> number; + }; + + PresetModelColumns preset_columns; + Glib::RefPtr<Gtk::ListStore> preset_model; + Gtk::ComboBox lxvst_preset_combo; + + void create_preset_store (); + void preset_chosen (); + void preset_selected (); + void resize_callback(); +}; + +#endif //LXVST_SUPPORT + +#endif |