summaryrefslogtreecommitdiff
path: root/gtk2_ardour/midi_region_view.cc
diff options
context:
space:
mode:
authornick_m <mainsbridge@gmail.com>2016-08-16 00:52:18 +1000
committernick_m <mainsbridge@gmail.com>2016-08-16 00:52:18 +1000
commitcecbae1df4d3ee9698d5b3061fdad1e5a084447f (patch)
treeedfa5b3dd6ebca52a2864ee02bb8003af669d5a9 /gtk2_ardour/midi_region_view.cc
parent62372b48eaefde1beffe93f2a4039b5e1e5622b2 (diff)
Midi region ghost note uses beat-based note time calculation.
Diffstat (limited to 'gtk2_ardour/midi_region_view.cc')
-rw-r--r--gtk2_ardour/midi_region_view.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/gtk2_ardour/midi_region_view.cc b/gtk2_ardour/midi_region_view.cc
index bb8092807d..b0d0424be6 100644
--- a/gtk2_ardour/midi_region_view.cc
+++ b/gtk2_ardour/midi_region_view.cc
@@ -3747,9 +3747,12 @@ MidiRegionView::update_ghost_note (double x, double y)
/* calculate time in beats relative to start of source */
const Evoral::Beats length = get_grid_beats(unsnapped_frame);
- const Evoral::Beats time = std::max(
+ const uint32_t divisions = editor.get_grid_music_divisions (0);
+
+ Evoral::Beats time = std::max(
Evoral::Beats(),
- absolute_frames_to_source_beats (f + _region->position ()));
+ Evoral::Beats (trackview.session()->tempo_map().exact_beat_at_frame (f + _region->position(), divisions))
+ - (_region->beat() - midi_region()->start_beats().to_double()));
_ghost_note->note()->set_time (time);
_ghost_note->note()->set_length (length);