summaryrefslogtreecommitdiff
path: root/gtk2_ardour/midi_region_view.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2020-01-28 00:05:44 -0700
committerPaul Davis <paul@linuxaudiosystems.com>2020-01-28 00:05:44 -0700
commitfd62b38f8d64eae7e6de20ca5bc42bf531239b06 (patch)
tree672d1101e1cd8342ff38689aee6cde4ac3dbe576 /gtk2_ardour/midi_region_view.cc
parent10978a2f587d0732b1767c329ae3355bf0e6b761 (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.cc6
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);