diff options
author | Robin Gareus <robin@gareus.org> | 2016-06-05 20:00:00 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2016-06-05 20:01:17 +0200 |
commit | a0f774025d94324d70f4a8340524f6303dadaa4c (patch) | |
tree | 4ebcff0c2114383f008ec291facd0e5d99b5abb3 /gtk2_ardour/generic_pluginui.cc | |
parent | bd551e97eaeb970424048b3baa92593bda6a0184 (diff) |
generic plugin UI: insensitive NotAutomatable
Diffstat (limited to 'gtk2_ardour/generic_pluginui.cc')
-rw-r--r-- | gtk2_ardour/generic_pluginui.cc | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/gtk2_ardour/generic_pluginui.cc b/gtk2_ardour/generic_pluginui.cc index ef2de43309..995ad26b67 100644 --- a/gtk2_ardour/generic_pluginui.cc +++ b/gtk2_ardour/generic_pluginui.cc @@ -645,11 +645,17 @@ GenericPluginUI::build_control_ui (const Evoral::Parameter& param, control_ui->pack_start (*control_ui->button, false, true); control_ui->pack_start (control_ui->automate_button, false, false); + if (mcontrol->flags () & Controllable::NotAutomatable) { + control_ui->automate_button.set_sensitive (false); + set_tooltip(control_ui->automate_button, _("This control cannot be automated")); + } else { + control_ui->automate_button.signal_clicked().connect (bind (mem_fun(*this, &GenericPluginUI::astate_clicked), control_ui)); + mcontrol->alist()->automation_state_changed.connect (control_connections, invalidator (*this), boost::bind (&GenericPluginUI::automation_state_changed, this, control_ui), gui_context()); + } + control_ui->button->signal_clicked().connect (sigc::bind (sigc::mem_fun(*this, &GenericPluginUI::control_port_toggled), control_ui)); - control_ui->automate_button.signal_clicked().connect (bind (mem_fun(*this, &GenericPluginUI::astate_clicked), control_ui)); mcontrol->Changed.connect (control_connections, invalidator (*this), boost::bind (&GenericPluginUI::toggle_parameter_changed, this, control_ui), gui_context()); - mcontrol->alist()->automation_state_changed.connect (control_connections, invalidator (*this), boost::bind (&GenericPluginUI::automation_state_changed, this, control_ui), gui_context()); if (value > 0.5){ control_ui->button->set_active(true); @@ -728,11 +734,16 @@ GenericPluginUI::build_control_ui (const Evoral::Parameter& param, } control_ui->pack_start (control_ui->automate_button, false, false); - control_ui->automate_button.signal_clicked().connect (sigc::bind (sigc::mem_fun(*this, &GenericPluginUI::astate_clicked), control_ui)); - automation_state_changed (control_ui); + if (mcontrol->flags () & Controllable::NotAutomatable) { + control_ui->automate_button.set_sensitive (false); + set_tooltip(control_ui->automate_button, _("This control cannot be automated")); + } else { + control_ui->automate_button.signal_clicked().connect (sigc::bind (sigc::mem_fun(*this, &GenericPluginUI::astate_clicked), control_ui)); + mcontrol->alist()->automation_state_changed.connect (control_connections, invalidator (*this), boost::bind (&GenericPluginUI::automation_state_changed, this, control_ui), gui_context()); + } - mcontrol->alist()->automation_state_changed.connect (control_connections, invalidator (*this), boost::bind (&GenericPluginUI::automation_state_changed, this, control_ui), gui_context()); + automation_state_changed (control_ui); input_controls.push_back (control_ui); input_controls_with_automation.push_back (control_ui); |