+void
+Location::set_position_lock_style (PositionLockStyle ps)
+{
+ if (_position_lock_style == ps) {
+ return;
+ }
+
+ _position_lock_style = ps;
+
+ recompute_bbt_from_frames ();
+
+ PositionLockStyleChanged (this); /* EMIT SIGNAL */
+}
+
+void
+Location::recompute_bbt_from_frames ()
+{
+ if (_position_lock_style != MusicTime) {
+ return;
+ }
+
+ _session.bbt_time (_start, _bbt_start);
+ _session.bbt_time (_end, _bbt_end);
+}
+
+void
+Location::recompute_frames_from_bbt ()
+{
+ if (_position_lock_style != MusicTime) {
+ return;
+ }