From cecbae1df4d3ee9698d5b3061fdad1e5a084447f Mon Sep 17 00:00:00 2001 From: nick_m Date: Tue, 16 Aug 2016 00:52:18 +1000 Subject: Midi region ghost note uses beat-based note time calculation. --- gtk2_ardour/midi_region_view.cc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'gtk2_ardour/midi_region_view.cc') 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); -- cgit v1.2.3