From fd62b38f8d64eae7e6de20ca5bc42bf531239b06 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Tue, 28 Jan 2020 00:05:44 -0700 Subject: [PATCH] correct computation of new note length after a front-drag-trim --- gtk2_ardour/midi_region_view.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gtk2_ardour/midi_region_view.cc b/gtk2_ardour/midi_region_view.cc index a9a3f98688..e525367f70 100644 --- a/gtk2_ardour/midi_region_view.cc +++ b/gtk2_ardour/midi_region_view.cc @@ -3165,9 +3165,9 @@ MidiRegionView::commit_resizing (NoteBase* primary, bool at_front, double delta_ const Temporal::Beats x_beats = Temporal::Beats (e_qaf - quarter_note_start); if (at_front && x_beats < canvas_note->note()->end_time()) { - note_diff_add_change (canvas_note, MidiModel::NoteDiffCommand::StartTime, x_beats - (sign * snap_delta_beats)); - Temporal::Beats len = canvas_note->note()->time() - x_beats + (sign * snap_delta_beats); - len += canvas_note->note()->length(); + const Temporal::Beats new_start = x_beats - (sign * snap_delta_beats); + note_diff_add_change (canvas_note, MidiModel::NoteDiffCommand::StartTime, new_start); + Temporal::Beats len = canvas_note->note()->end_time() - new_start; if (!!len) { note_diff_add_change (canvas_note, MidiModel::NoteDiffCommand::Length, len);