diff options
author | nick_m <mainsbridge@gmail.com> | 2016-08-16 00:52:18 +1000 |
---|---|---|
committer | nick_m <mainsbridge@gmail.com> | 2016-08-16 00:52:18 +1000 |
commit | cecbae1df4d3ee9698d5b3061fdad1e5a084447f (patch) | |
tree | edfa5b3dd6ebca52a2864ee02bb8003af669d5a9 /gtk2_ardour/midi_region_view.cc | |
parent | 62372b48eaefde1beffe93f2a4039b5e1e5622b2 (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.cc | 7 |
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); |