#include "ardour/types.h"
-#include "ardour_dialog.h"
-#include "latency_gui.h"
#include "automation_controller.h"
namespace ARDOUR {
class PixmapButton;
}
+class LatencyGUI;
+class ArdourDialog;
+
class PlugUIBase : public virtual sigc::trackable
{
public:
PlugUIBase (boost::shared_ptr<ARDOUR::PluginInsert>);
- virtual ~PlugUIBase() {}
+ virtual ~PlugUIBase();
virtual gint get_preferred_height () = 0;
virtual gint get_preferred_width () = 0;
virtual void update_presets ();
+ void latency_button_clicked ();
+
protected:
boost::shared_ptr<ARDOUR::PluginInsert> insert;
boost::shared_ptr<ARDOUR::Plugin> plugin;
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;
ControlUI* build_control_ui (guint32 port_index, boost::shared_ptr<ARDOUR::AutomationControl>);
std::vector<string> 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);
private:
PlugUIBase* _pluginui;
+ sigc::connection death_connection;
Gtk::Window* parent;
Gtk::VBox vbox;
bool non_gtk_gui;