Mercurial > hg > svgui
diff layer/FlexiNoteLayer.cpp @ 715:7169d08e9467 tonioni
Snapping to feature frame rightwards in flexi-note should snap to the end of a note as well as the start (should also snap to start of next one, but that doesn't seem to work either -- not enough points returned by getPoints). This should possibly happen in plain note and region layers too.
author | Chris Cannam |
---|---|
date | Fri, 10 Jan 2014 14:17:10 +0000 |
parents | 797eb48f38c1 |
children | 137d3ff48f73 |
line wrap: on
line diff
--- a/layer/FlexiNoteLayer.cpp Fri Jan 10 14:07:12 2014 +0000 +++ b/layer/FlexiNoteLayer.cpp Fri Jan 10 14:17:10 2014 +0000 @@ -613,12 +613,18 @@ for (FlexiNoteModel::PointList::const_iterator i = points.begin(); i != points.end(); ++i) { + cerr << "FlexiNoteModel: point at " << i->frame << endl; + if (snap == SnapRight) { if (i->frame > frame) { snapped = i->frame; found = true; break; + } else if (i->frame + i->duration >= frame) { + snapped = i->frame + i->duration; + found = true; + break; } } else if (snap == SnapLeft) { @@ -654,6 +660,8 @@ } } + cerr << "snapToFeatureFrame: frame " << frame << " -> snapped " << snapped << ", found = " << found << endl; + frame = snapped; return found; }