- if (_send->amp()->output_streams().n_midi() == 0) {
- _data_type = DataType::AUDIO;
- _adjustment.set_lower (0);
- _adjustment.set_upper (1);
- _adjustment.set_step_increment (0.01);
- _adjustment.set_page_increment (0.1);
- _fader.set_default_value (gain_to_slider_position (1));
+ c->set_visible (!c->visible ());
+ _parent->update_gui_object_state (this);
+}
+
+ProcessorEntry::Control::Control (Glib::RefPtr<Gdk::Pixbuf> s, Glib::RefPtr<Gdk::Pixbuf> sd, boost::shared_ptr<AutomationControl> c, string const & n)
+ : _control (c)
+ , _adjustment (gain_to_slider_position_with_max (1.0, Config->get_max_gain()), 0, 1, 0.01, 0.1)
+ , _slider (s, sd, &_adjustment, 0, false)
+ , _slider_persistant_tooltip (&_slider)
+ , _button (ArdourButton::Element (ArdourButton::Text | ArdourButton::Indicator))
+ , _ignore_ui_adjustment (false)
+ , _visible (false)
+ , _name (n)
+{
+ _slider.set_controllable (c);
+
+ if (c->toggled()) {
+ _button.set_text (_name);
+ _button.set_led_left (true);
+ _button.set_name ("processor control button");
+ box.pack_start (_button);
+ _button.show ();
+
+ _button.signal_clicked.connect (sigc::mem_fun (*this, &Control::button_clicked));
+ _button.signal_led_clicked.connect (sigc::mem_fun (*this, &Control::button_clicked));
+ c->Changed.connect (_connection, MISSING_INVALIDATOR, boost::bind (&Control::control_changed, this), gui_context ());
+