summaryrefslogtreecommitdiff
path: root/gtk2_ardour/midi_region_view.cc
diff options
context:
space:
mode:
authornick_m <mainsbridge@gmail.com>2016-06-25 05:22:57 +1000
committernick_m <mainsbridge@gmail.com>2016-07-10 02:18:37 +1000
commit9603233a68bf00f335f1c70d49af3064414079ce (patch)
treecbf46861927cf547be936f1f46e56ba8a6b88c76 /gtk2_ardour/midi_region_view.cc
parent13c851f3cfba937258cf2c6edc6df650e2a176de (diff)
Fix note trimming over tempo changes, correct note length properly when resizing midi region.
Diffstat (limited to 'gtk2_ardour/midi_region_view.cc')
-rw-r--r--gtk2_ardour/midi_region_view.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/gtk2_ardour/midi_region_view.cc b/gtk2_ardour/midi_region_view.cc
index 4a6a0fbb18..75238659a6 100644
--- a/gtk2_ardour/midi_region_view.cc
+++ b/gtk2_ardour/midi_region_view.cc
@@ -1720,7 +1720,7 @@ MidiRegionView::update_sustained (Note* ev, bool update_ghost_regions)
Evoral::Beats note_end_time = note->end_time();
if (note->end_time() > mr->start_beats() + mr->length_beats()) {
- note_end_time = mr->length_beats();
+ note_end_time = mr->start_beats() + mr->length_beats();
}
const framepos_t note_end_frames = map.frame_at_beat (_region->beat() - mr->start_beats().to_double()
@@ -2898,7 +2898,7 @@ MidiRegionView::commit_resizing (NoteBase* primary, bool at_front, double delta_
}
/* and then to beats */
- const Evoral::Beats x_beats = region_frames_to_region_beats (current_fr + _region->start());
+ const Evoral::Beats x_beats = region_frames_to_region_beats (current_fr) + midi_region()->start_beats();
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));