X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fplugin_ui.h;h=e65abbac59d33a8741988d6d1c441aa943f426c1;hb=49f28513f5f3f343ee9d51b0df25c7bd78478542;hp=8f00ef8201cc40302a7a8e208bd2dadeae2bc245;hpb=bcd217ec8e11abcb3bc829251b6dc503d606aaeb;p=ardour.git diff --git a/gtk2_ardour/plugin_ui.h b/gtk2_ardour/plugin_ui.h index 8f00ef8201..e65abbac59 100644 --- a/gtk2_ardour/plugin_ui.h +++ b/gtk2_ardour/plugin_ui.h @@ -43,8 +43,6 @@ #include "ardour/types.h" -#include "ardour_dialog.h" -#include "latency_gui.h" #include "automation_controller.h" namespace ARDOUR { @@ -67,11 +65,14 @@ namespace Gtkmm2ext { class PixmapButton; } +class LatencyGUI; +class ArdourDialog; + class PlugUIBase : public virtual sigc::trackable { public: PlugUIBase (boost::shared_ptr); - virtual ~PlugUIBase() {} + virtual ~PlugUIBase(); virtual gint get_preferred_height () = 0; virtual gint get_preferred_width () = 0; @@ -83,6 +84,8 @@ class PlugUIBase : public virtual sigc::trackable virtual void update_presets (); + void latency_button_clicked (); + protected: boost::shared_ptr insert; boost::shared_ptr plugin; @@ -91,7 +94,12 @@ class PlugUIBase : public virtual sigc::trackable Gtk::ToggleButton bypass_button; Gtk::EventBox focus_button; - LatencyGUI latency_gui; + Gtk::Label latency_label; + Gtk::Button latency_button; + void set_latency_label (); + + LatencyGUI* latency_gui; + ArdourDialog* latency_dialog; Gtk::Expander plugin_eq_bin; Gtk::ToggleButton eqgui_toggle; @@ -202,6 +210,7 @@ class GenericPluginUI : public PlugUIBase, public Gtk::HPaned ControlUI* build_control_ui (guint32 port_index, boost::shared_ptr); std::vector setup_scale_values(guint32 port_index, ControlUI* cui); void parameter_changed (ControlUI* cui); + void toggle_parameter_changed (ControlUI* cui); void update_control_display (ControlUI* cui); void control_port_toggled (ControlUI* cui); void control_combo_changed (ControlUI* cui); @@ -240,6 +249,7 @@ class PluginUIWindow : public Gtk::Window private: PlugUIBase* _pluginui; + sigc::connection death_connection; Gtk::Window* parent; Gtk::VBox vbox; bool non_gtk_gui;