summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor.h
diff options
context:
space:
mode:
authorBen Loftis <ben@harrisonconsoles.com>2018-07-26 14:23:59 -0500
committerRobin Gareus <robin@gareus.org>2018-07-27 00:28:47 +0200
commit0883f02de92478800ad232f10d388219e2817ed7 (patch)
tree28e65aba638709df055c1e44ccebf936060313ff /gtk2_ardour/editor.h
parent83ce11e4111682c0dfea6b3927a157b9d23556ea (diff)
new_grid: The Return of the snap_to_X functions.
We no longer assume that Snap always uses the visible ruler lines. If you want to snap to the grid, and ignore the users zoom scale, use SnapPref::SnapToGrid_Unscaled This fixes 2 (known) oversights: "snap region(s) to grid" and "regions whose start are left of the canvas edge".
Diffstat (limited to 'gtk2_ardour/editor.h')
-rw-r--r--gtk2_ardour/editor.h35
1 files changed, 24 insertions, 11 deletions
diff --git a/gtk2_ardour/editor.h b/gtk2_ardour/editor.h
index 4fd8d0b028..36756fac82 100644
--- a/gtk2_ardour/editor.h
+++ b/gtk2_ardour/editor.h
@@ -454,15 +454,13 @@ public:
void snap_to (ARDOUR::MusicSample& first,
ARDOUR::RoundMode direction = ARDOUR::RoundNearest,
- ARDOUR::SnapPref pref = ARDOUR::SnapToAny,
- bool for_mark = false,
+ ARDOUR::SnapPref pref = ARDOUR::SnapToAny_Visual,
bool ensure_snap = false);
void snap_to_with_modifier (ARDOUR::MusicSample& first,
GdkEvent const * ev,
ARDOUR::RoundMode direction = ARDOUR::RoundNearest,
- ARDOUR::SnapPref pref = ARDOUR::SnapToAny,
- bool for_mark = false);
+ ARDOUR::SnapPref pref = ARDOUR::SnapToAny_Visual);
void set_snapped_cursor_position (samplepos_t pos);
@@ -2189,18 +2187,33 @@ private:
void select_next_stripable (bool routes_only = true);
void select_prev_stripable (bool routes_only = true);
- samplepos_t snap_to_grid ( std::vector<ArdourCanvas::Ruler::Mark> marks,
- samplepos_t presnap,
- ARDOUR::RoundMode direction = ARDOUR::RoundNearest);
+ ARDOUR::MusicSample snap_to_minsec ( ARDOUR::MusicSample start,
+ ARDOUR::RoundMode direction,
+ ARDOUR::SnapPref gpref);
+
+ ARDOUR::MusicSample snap_to_cd_frames ( ARDOUR::MusicSample start,
+ ARDOUR::RoundMode direction,
+ ARDOUR::SnapPref gpref );
+
+ ARDOUR::MusicSample snap_to_bbt ( ARDOUR::MusicSample start,
+ ARDOUR::RoundMode direction,
+ ARDOUR::SnapPref gpref );
+
+ ARDOUR::MusicSample snap_to_timecode ( ARDOUR::MusicSample start,
+ ARDOUR::RoundMode direction,
+ ARDOUR::SnapPref gpref );
+
+ ARDOUR::MusicSample snap_to_grid ( ARDOUR::MusicSample start,
+ ARDOUR::RoundMode direction,
+ ARDOUR::SnapPref gpref );
void snap_to_internal (ARDOUR::MusicSample& first,
ARDOUR::RoundMode direction = ARDOUR::RoundNearest,
- ARDOUR::SnapPref gpref = ARDOUR::SnapToAny,
- bool for_mark = false,
+ ARDOUR::SnapPref gpref = ARDOUR::SnapToAny_Visual,
bool ensure_snap = false);
- samplepos_t marker_snap_to_internal (samplepos_t presnap,
- ARDOUR::RoundMode direction = ARDOUR::RoundNearest);
+ samplepos_t snap_to_marker (samplepos_t presnap,
+ ARDOUR::RoundMode direction = ARDOUR::RoundNearest);
RhythmFerret* rhythm_ferret;