Emit Session::Located only if _engine.transport_frame() is up to date
If _engine.transport_frame() is not up to date, we emit Located in Session::backend_sync_callback() because that's when audible_frame() is up to date. We don't want to emit it twice, because then, the playhead jumps back and forth. * mouse click in the ruler -> jump to requested location * mouse release -> jump to old location (because audible_frame has to catch up) * backend_sync_callback() called -> jump to new location
This commit is contained in:
committed by
Robin Gareus
parent
2770444b0c
commit
05c77db773
@@ -1367,7 +1367,9 @@ Session::locate (framepos_t target_frame, bool with_roll, bool with_flush, bool
|
|||||||
}
|
}
|
||||||
|
|
||||||
_last_roll_location = _last_roll_or_reversal_location = _transport_frame;
|
_last_roll_location = _last_roll_or_reversal_location = _transport_frame;
|
||||||
Located (); /* EMIT SIGNAL */
|
if (!synced_to_engine () || _transport_frame == _engine.transport_frame ()) {
|
||||||
|
Located (); /* EMIT SIGNAL */
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Set the transport speed.
|
/** Set the transport speed.
|
||||||
|
|||||||
Reference in New Issue
Block a user