TempoMap& map (_session.tempo_map());
framepos_t pos = map.frame_time (_bbt_time);
set_position_internal (pos, false);
+
+ /* do this even if the position is the same. this helps out
+ a GUI that has moved its representation already.
+ */
+ send_change (Properties::position);
}
void
}
set_position_internal (pos, true);
+
+ /* do this even if the position is the same. this helps out
+ a GUI that has moved its representation already.
+ */
+ send_change (Properties::position);
+
}
void
//invalidate_transients ();
}
-
- /* do this even if the position is the same. this helps out
- a GUI that has moved its representation already.
- */
- send_change (Properties::position);
}
void
}
if (_position != pos) {
- _last_position = _position;
- _position = pos;
+ set_position_internal (pos, true);
}
boost::shared_ptr<Playlist> pl (playlist());
return;
}
- _last_position = _position;
+ framepos_t new_position = _position;
if (n > 0) {
if (_position > max_framepos - n) {
- _position = max_framepos;
+ new_position = max_framepos;
} else {
- _position += n;
+ new_position += n;
}
} else {
if (_position < -n) {
- _position = 0;
+ new_position = 0;
} else {
- _position += n;
+ new_position += n;
}
}
+ set_position_internal (new_position, true);
+
send_change (Properties::position);
}
if (!property_changes_suspended()) {
_last_position = _position;
}
- _position = position;
+ set_position_internal (position, true);
what_changed.add (Properties::position);
}