Fix video-monitor display when seeking

see also 25c0bd9274

play, locate, play resulted in the video-monitor showing
the target frame shortly, and play a few frames from the old
location.

This was due to locate happening async. Click to locate
directly sends the new location:

```
VideoTimeLine::manual_seek_video_monitor
ARDOUR_UI::update_transport_clocks
CursorDrag::fake_locate
CursorDrag::start_grab
DragManager::start_grab

```

CursorDrag::finished unset _dragging_playhead before the
call to resuest_locate(). Meanwhile playback continues.
This commit is contained in:
Robin Gareus 2021-05-05 17:11:02 +02:00
parent 9f4189c031
commit f72c2b93c5
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04
1 changed files with 2 additions and 2 deletions

View File

@ -482,8 +482,8 @@ VideoMonitor::get_custom_setting (const std::string k)
void
VideoMonitor::srsupdate ()
{
if (!_session) { return; }
if (editor->dragging_playhead() || editor->preview_video_drag_active()) {
if (!_session || _session->locate_initiated ()) { return; }
if (editor->dragging_playhead() || editor->preview_video_drag_active() || editor->pending_locate_request ()) {
return;
}
manual_seek(_session->audible_sample(), false, NO_OFFSET);