diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2020-01-28 00:05:44 -0700 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2020-01-28 00:05:44 -0700 |
commit | fd62b38f8d64eae7e6de20ca5bc42bf531239b06 (patch) | |
tree | 672d1101e1cd8342ff38689aee6cde4ac3dbe576 /gtk2_ardour/midi_region_view.cc | |
parent | 10978a2f587d0732b1767c329ae3355bf0e6b761 (diff) |
correct computation of new note length after a front-drag-trim
Diffstat (limited to 'gtk2_ardour/midi_region_view.cc')
-rw-r--r-- | gtk2_ardour/midi_region_view.cc | 6 |
1 files 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); |