rework snap
[ardour.git] / gtk2_ardour / region_view.cc
index cc9a5b61ceea54751722269e08333d82232db1a5..9f6ff645ce855894872ebd5d1f81b9f15e4f340b 100644 (file)
@@ -947,20 +947,19 @@ frameoffset_t
 RegionView::snap_frame_to_frame (frameoffset_t x, bool ensure_snap) const
 {
        PublicEditor& editor = trackview.editor();
-
        /* x is region relative, convert it to global absolute frames */
        framepos_t const session_frame = x + _region->position();
 
        /* try a snap in either direction */
-       framepos_t frame = session_frame;
+       MusicFrame frame (session_frame, 0);
        editor.snap_to (frame, RoundNearest, false, ensure_snap);
 
        /* if we went off the beginning of the region, snap forwards */
-       if (frame < _region->position ()) {
-               frame = session_frame;
+       if (frame.frame < _region->position ()) {
+               frame.frame = session_frame;
                editor.snap_to (frame, RoundUpAlways, false, ensure_snap);
        }
 
        /* back to region relative */
-       return frame - _region->position();
+       return frame.frame - _region->position();
 }