summaryrefslogtreecommitdiff
path: root/gtk2_ardour/generic_pluginui.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-06-05 20:00:00 +0200
committerRobin Gareus <robin@gareus.org>2016-06-05 20:01:17 +0200
commita0f774025d94324d70f4a8340524f6303dadaa4c (patch)
tree4ebcff0c2114383f008ec291facd0e5d99b5abb3 /gtk2_ardour/generic_pluginui.cc
parentbd551e97eaeb970424048b3baa92593bda6a0184 (diff)
generic plugin UI: insensitive NotAutomatable
Diffstat (limited to 'gtk2_ardour/generic_pluginui.cc')
-rw-r--r--gtk2_ardour/generic_pluginui.cc21
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);