diff --git a/gtk2_ardour/pianoroll.cc b/gtk2_ardour/pianoroll.cc index c6d11c6d21..a97ac315eb 100644 --- a/gtk2_ardour/pianoroll.cc +++ b/gtk2_ardour/pianoroll.cc @@ -2221,38 +2221,17 @@ Pianoroll::solo_button_press (GdkEventButton* ev) bool Pianoroll::rec_button_press (GdkEventButton* ev) { - std::cerr << "RBP!\n"; - if (ev->button != 1) { return false; } - if (!ref.box()) { - std::cerr << "no box\n"; + TriggerPtr trigger (ref.trigger()); + + if (!trigger) { return true; } - TriggerPtr trigger (ref.trigger()); - bool trigger_armed = trigger->armed(); - - if (!trigger_armed) { - - Stripable* st = dynamic_cast (ref.box()->owner()); - assert (st); - std::shared_ptr track = std::dynamic_pointer_cast (st->shared_from_this()); - assert (track); - - std::shared_ptr rl; - - rl.reset (new RouteList); - rl->push_back (track); - - _session->set_controls (route_list_to_control_list (rl, &Stripable::rec_enable_control), true, Controllable::NoGroup); - } - - /* Step two: the trigger */ - - if (trigger_armed) { + if (trigger->armed()) { trigger->disarm (); } else { trigger->arm (rec_length);