projects
/
ardour.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
99653ae
)
Use exact beat when adding midi notes.
author
nick_m
<mainsbridge@gmail.com>
Tue, 5 Jul 2016 14:18:09 +0000
(
00:18
+1000)
committer
nick_m
<mainsbridge@gmail.com>
Sat, 9 Jul 2016 16:18:38 +0000
(
02:18
+1000)
gtk2_ardour/midi_region_view.cc
patch
|
blob
|
history
diff --git
a/gtk2_ardour/midi_region_view.cc
b/gtk2_ardour/midi_region_view.cc
index 75238659a63e611f29d36734605106f9c2f26473..25eabc6877d4398882585f51b9a9285a9d5c1123 100644
(file)
--- a/
gtk2_ardour/midi_region_view.cc
+++ b/
gtk2_ardour/midi_region_view.cc
@@
-935,12
+935,16
@@
MidiRegionView::create_note_at (framepos_t t, double y, Evoral::Beats length, bo
}
// Start of note in frames relative to region start
}
// Start of note in frames relative to region start
+ uint32_t divisions = 0;
+
if (snap_t) {
framecnt_t grid_frames;
t = snap_frame_to_grid_underneath (t, grid_frames);
if (snap_t) {
framecnt_t grid_frames;
t = snap_frame_to_grid_underneath (t, grid_frames);
+ divisions = trackview.editor().get_grid_music_divisions (0);
}
}
- const MidiModel::TimeType beat_time = Evoral::Beats (trackview.session()->tempo_map().beat_at_frame (_region->position() + t)
+
+ const MidiModel::TimeType beat_time = Evoral::Beats (trackview.session()->tempo_map().exact_beat_at_frame (_region->position() + t, divisions)
- (mr->beat() - mr->start_beats().to_double()));
const double note = view->y_to_note(y);
const uint8_t chan = mtv->get_channel_for_add();
- (mr->beat() - mr->start_beats().to_double()));
const double note = view->y_to_note(y);
const uint8_t chan = mtv->get_channel_for_add();