From 3600a6ffd0d8aedc05f96e4a14ca36016c44c1c8 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Wed, 30 Apr 2025 18:07:55 -0600 Subject: [PATCH] fix computation of note position for HitCreateDrags --- gtk2_ardour/editor_drag.cc | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/gtk2_ardour/editor_drag.cc b/gtk2_ardour/editor_drag.cc index 87bcff169c..e74928f3d5 100644 --- a/gtk2_ardour/editor_drag.cc +++ b/gtk2_ardour/editor_drag.cc @@ -6930,7 +6930,14 @@ HitCreateDrag::finished (GdkEvent* event, bool had_movement) editing_context.snap_to (pos, RoundNearest, SnapToGrid_Scaled); Temporal::Beats aligned_beats (pos.beats ()); - Beats const start = _midi_view->midi_region ()->absolute_time_to_source_beats (timepos_t (aligned_beats)); + Beats start; + + if (_midi_view->show_source()) { + Beats spos = _midi_view->midi_region()->source_position().beats() + aligned_beats; + start = _midi_view->midi_region ()->absolute_time_to_source_beats (timepos_t (spos)); + } else { + start = _midi_view->midi_region ()->absolute_time_to_source_beats (timepos_t (aligned_beats)); + } /* Percussive hits are as short as possible */ Beats length (0, 1);