summaryrefslogtreecommitdiff
path: root/gtk2_ardour/lxvst_plugin_ui.h
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2011-09-20 20:29:47 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2011-09-20 20:29:47 +0000
commitd4433b9ab384196bb5b8876890863d7939339ee2 (patch)
tree669f503a04696c7869a14d5c5f6239024ba43e76 /gtk2_ardour/lxvst_plugin_ui.h
parente09e0035a62ce9f8876b6204682bbb3db474d477 (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-xgtk2_ardour/lxvst_plugin_ui.h69
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