summaryrefslogtreecommitdiff
path: root/gtk2_ardour/generic_pluginui.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-07-25 16:10:38 +0200
committerPaul Davis <paul@linuxaudiosystems.com>2017-09-18 11:40:52 -0400
commit9e256b044d3da4053782a8fa857ca68fd274464b (patch)
tree65f53731dd416fede6f8dd771adb86a06bf3fe75 /gtk2_ardour/generic_pluginui.cc
parent1d587592ca1472e38b2f8127b87b6202874f0d4e (diff)
GUI support for Latch
Diffstat (limited to 'gtk2_ardour/generic_pluginui.cc')
-rw-r--r--gtk2_ardour/generic_pluginui.cc10
1 files changed, 9 insertions, 1 deletions
diff --git a/gtk2_ardour/generic_pluginui.cc b/gtk2_ardour/generic_pluginui.cc
index 1e3e65d3e5..8be90cfa3f 100644
--- a/gtk2_ardour/generic_pluginui.cc
+++ b/gtk2_ardour/generic_pluginui.cc
@@ -120,6 +120,8 @@ GenericPluginUI::GenericPluginUI (boost::shared_ptr<PluginInsert> pi, bool scrol
automation_write_all_button.set_name (X_("generic button"));
automation_touch_all_button.set_text(_("Touch"));
automation_touch_all_button.set_name (X_("generic button"));
+ automation_latch_all_button.set_text(_("Touch"));
+ automation_latch_all_button.set_name (X_("generic button"));
constraint_hbox->set_spacing (5);
constraint_hbox->set_homogeneous (false);
@@ -407,6 +409,7 @@ GenericPluginUI::build ()
automation_play_all_button.signal_clicked.connect(sigc::bind (sigc::mem_fun (*this, &GenericPluginUI::set_all_automation), ARDOUR::Play));
automation_write_all_button.signal_clicked.connect(sigc::bind (sigc::mem_fun (*this, &GenericPluginUI::set_all_automation), ARDOUR::Write));
automation_touch_all_button.signal_clicked.connect(sigc::bind (sigc::mem_fun (*this, &GenericPluginUI::set_all_automation), ARDOUR::Touch));
+ automation_latch_all_button.signal_clicked.connect(sigc::bind (sigc::mem_fun (*this, &GenericPluginUI::set_all_automation), ARDOUR::Latch));
/* XXX This is a workaround for AutomationControl not knowing about preset loads */
plugin->PresetLoaded.connect (*this, invalidator (*this), boost::bind (&GenericPluginUI::update_input_displays, this), gui_context ());
@@ -849,7 +852,7 @@ GenericPluginUI::automation_state_changed (ControlUI* cui)
return;
}
- switch (state & (ARDOUR::Off|Play|Touch|Write)) {
+ switch (state & (ARDOUR::Off|Play|Touch|Write|Latch)) {
case ARDOUR::Off:
cui->automate_button.set_text (S_("Automation|Manual"));
break;
@@ -862,6 +865,9 @@ GenericPluginUI::automation_state_changed (ControlUI* cui)
case Touch:
cui->automate_button.set_text (_("Touch"));
break;
+ case Latch:
+ cui->automate_button.set_text (_("Latch"));
+ break;
default:
cui->automate_button.set_text (_("???"));
break;
@@ -1223,6 +1229,8 @@ GenericPluginUI::astate_button_event (GdkEventButton* ev, ControlUI* cui)
sigc::bind (sigc::mem_fun(*this, &GenericPluginUI::set_automation_state), (AutoState) Write, cui)));
items.push_back (MenuElem (_("Touch"),
sigc::bind (sigc::mem_fun(*this, &GenericPluginUI::set_automation_state), (AutoState) Touch, cui)));
+ items.push_back (MenuElem (_("Latch"),
+ sigc::bind (sigc::mem_fun(*this, &GenericPluginUI::set_automation_state), (AutoState) Latch, cui)));
anchored_menu_popup(automation_menu, &cui->automate_button, cui->automate_button.get_text(),
1, ev->time);