X-Git-Url: https://main.carlh.net/gitweb/?p=ardour.git;a=blobdiff_plain;f=libs%2Fsurfaces%2Fpush2%2Fpush2.cc;h=ec234be7128b4c7cf92fb756c36804a5a3e41e9d;hp=a9498ee38379660b69801b5b412d2f25dd0eeb43;hb=6d5878a92614304711fb77b0c863d68cb2d44d21;hpb=0aaf2d1f341f19b5cc2a4ae223a98e56a0c12341 diff --git a/libs/surfaces/push2/push2.cc b/libs/surfaces/push2/push2.cc index a9498ee383..ec234be712 100644 --- a/libs/surfaces/push2/push2.cc +++ b/libs/surfaces/push2/push2.cc @@ -1537,6 +1537,14 @@ Push2::stripable_selection_change (StripableNotificationListPtr selected) /* disconnect from pad port, if appropriate */ if (current_midi_track && pad_port) { + + /* XXX this could possibly leave dangling MIDI notes. + * + * A general libardour fix is required. It isn't obvious + * how note resolution can be done unless disconnecting + * becomes "slow" (i.e. deferred for as long as it takes + * to resolve notes). + */ current_midi_track->input()->disconnect (current_midi_track->input()->nth(0), pad_port->name(), this); }