diff --git a/gtk2_ardour/trigger_ui.cc b/gtk2_ardour/trigger_ui.cc index 938bf18158..71d1af1044 100644 --- a/gtk2_ardour/trigger_ui.cc +++ b/gtk2_ardour/trigger_ui.cc @@ -437,13 +437,31 @@ TriggerUI::context_menu () items.push_back (MenuElem (_("Load..."), sigc::bind(sigc::mem_fun (*this, (&TriggerUI::choose_sample)), true))); items.push_back (SeparatorElem()); items.push_back (MenuElem (_("Color..."), sigc::mem_fun (*this, &TriggerUI::choose_color))); - items.push_back (SeparatorElem()); items.push_back (MenuElem (_("Clear"), sigc::mem_fun (*this, &TriggerUI::clear_trigger))); + items.push_back (SeparatorElem()); + items.push_back (MenuElem (_("MIDI Learn"), sigc::mem_fun (*this, &TriggerUI::trigger_midi_learn))); + items.push_back (MenuElem (_("MIDI un-Learn"), sigc::mem_fun (*this, &TriggerUI::trigger_midi_unlearn))); _context_menu->popup (3, gtk_get_current_event_time ()); } +void +TriggerUI::trigger_midi_learn () +{ + if (!trigger()) { + return; + } + + tref.box->begin_midi_learn (trigger()->index()); +} + +void +TriggerUI::trigger_midi_unlearn () +{ + tref.box->midi_unlearn (trigger()->index()); +} + void TriggerUI::launch_context_menu () { diff --git a/gtk2_ardour/trigger_ui.h b/gtk2_ardour/trigger_ui.h index 3d2864c5d2..83e4d4e09b 100644 --- a/gtk2_ardour/trigger_ui.h +++ b/gtk2_ardour/trigger_ui.h @@ -88,6 +88,9 @@ public: void clear_trigger (); void edit_trigger (); + void trigger_midi_learn (); + void trigger_midi_unlearn (); + private: void trigger_changed (PBD::PropertyChange const& ); //calls on_trigger_changed to subclasses