setup_toolbar ();
setup_midi_toolbar ();
- snap_type = SnapToBeat;
- set_snap_to (snap_type);
- snap_mode = SnapOff;
- set_snap_mode (snap_mode);
+ _snap_type = SnapToBeat;
+ set_snap_to (_snap_type);
+ _snap_mode = SnapOff;
+ set_snap_mode (_snap_mode);
set_mouse_mode (MouseObject, true);
set_edit_point_preference (EditAtMouse, true);
start_scrolling ();
- switch (snap_type) {
+ switch (_snap_type) {
case SnapToRegionStart:
case SnapToRegionEnd:
case SnapToRegionSync:
edit_items.push_back (MenuElem (_("Nudge"), *nudge_menu));
}
+SnapType
+Editor::snap_type() const
+{
+ return _snap_type;
+}
+
+SnapMode
+Editor::snap_mode() const
+{
+ return _snap_mode;
+}
+
void
Editor::set_snap_to (SnapType st)
{
unsigned int snap_ind = (unsigned int)st;
- snap_type = st;
+ _snap_type = st;
if (snap_ind > snap_type_strings.size() - 1) {
snap_ind = 0;
- snap_type = (SnapType)snap_ind;
+ _snap_type = (SnapType)snap_ind;
}
string str = snap_type_strings[snap_ind];
instant_save ();
- switch (snap_type) {
+ switch (_snap_type) {
case SnapToAThirtysecondBeat:
case SnapToASixteenthBeat:
case SnapToAEighthBeat:
void
Editor::set_snap_mode (SnapMode mode)
{
- snap_mode = mode;
+ _snap_mode = mode;
string str = snap_mode_strings[(int)mode];
if (str != snap_mode_selector.get_active_text ()) {
node->add_property ("zoom-focus", buf);
snprintf (buf, sizeof(buf), "%f", frames_per_unit);
node->add_property ("zoom", buf);
- snprintf (buf, sizeof(buf), "%d", (int) snap_type);
+ snprintf (buf, sizeof(buf), "%d", (int) _snap_type);
node->add_property ("snap-to", buf);
- snprintf (buf, sizeof(buf), "%d", (int) snap_mode);
+ snprintf (buf, sizeof(buf), "%d", (int) _snap_mode);
node->add_property ("snap-mode", buf);
node->add_property ("edit-point", enum_2_string (_edit_point));
}
if (Keyboard::modifier_state_contains (event->button.state, Keyboard::snap_modifier())) {
- if (snap_mode == SnapOff) {
+ if (_snap_mode == SnapOff) {
snap_to_internal (start, direction, for_mark);
}
} else {
- if (snap_mode != SnapOff) {
+ if (_snap_mode != SnapOff) {
snap_to_internal (start, direction, for_mark);
}
}
void
Editor::snap_to (nframes64_t& start, int32_t direction, bool for_mark)
{
- if (!session || snap_mode == SnapOff) {
+ if (!session || _snap_mode == SnapOff) {
return;
}
const nframes64_t one_timecode_second = (nframes64_t)(rint(session->timecode_frames_per_second()) * session->frames_per_timecode_frame());
nframes64_t one_timecode_minute = (nframes64_t)(rint(session->timecode_frames_per_second()) * session->frames_per_timecode_frame() * 60);
- switch (snap_type) {
+ switch (_snap_type) {
case SnapToTimecodeFrame:
if (((direction == 0) && (fmod((double)start, (double)session->frames_per_timecode_frame()) > (session->frames_per_timecode_frame() / 2))) || (direction > 0)) {
start = (nframes64_t) (ceil ((double) start / session->frames_per_timecode_frame()) * session->frames_per_timecode_frame());
nframes64_t before;
nframes64_t after;
- switch (snap_type) {
+ switch (_snap_type) {
case SnapToTimecodeFrame:
case SnapToTimecodeSeconds:
case SnapToTimecodeMinutes:
break;
}
- switch (snap_mode) {
+ switch (_snap_mode) {
case SnapNormal:
return;
{
success = true;
- switch (snap_type) {
+ switch (_snap_type) {
case SnapToBeat:
return 1.0;
break;
void set_snap_mode (Editing::SnapMode);
void set_snap_threshold (double pixel_distance) {snap_threshold = pixel_distance;}
+ Editing::SnapMode snap_mode () const;
+ Editing::SnapType snap_type () const;
+
void undo (uint32_t n = 1);
void redo (uint32_t n = 1);
void extend_selection_to_end_of_region (bool next);
void extend_selection_to_start_of_region (bool previous);
- Editing::SnapType snap_type;
- Editing::SnapMode snap_mode;
+ Editing::SnapType _snap_type;
+ Editing::SnapMode _snap_mode;
/// Snap threshold in pixels
double snap_threshold;