Emit Session::Located only if _engine.transport_frame() is up to date
authorJohannes Mueller <github@johannes-mueller.org>
Fri, 9 Jun 2017 19:31:15 +0000 (21:31 +0200)
committerRobin Gareus <robin@gareus.org>
Sat, 10 Jun 2017 16:30:42 +0000 (18:30 +0200)
commit05c77db7739c0c9d49eb3b5b3c98596643392a7a
tree29f61b4d3869c2a08c7e8493a7bf683e32c49978
parent2770444b0c6893c78d340b3d6c1a4e306be8b960
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
libs/ardour/session_transport.cc