Fix automation write-mode (overwrite existing automation)

AutomationWatch::transport_state_change() is called at a time
when transport has just started to roll, but may not yet be rolling
(count-in, latency-preroll).

Later, after pre-roll is complete and transport starts moving,
AutomationWatch::transport_state_change() is not called again.

Thus set_in_write_pass(true); is never called, and writing
automation assumes that all changes happen while stopped.

In 'write" mode, guard points are added for each change, when
the transport is stopped.

Before this change, this happened at periodic intervals even
when rolling.
This commit is contained in:
Robin Gareus 2020-06-12 05:08:29 +02:00
parent d33cc4a3dd
commit 9708987003
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04

View File

@ -225,7 +225,7 @@ AutomationWatch::transport_state_change ()
return;
}
bool rolling = _session->transport_rolling();
bool rolling = _session->transport_state_rolling ();
_last_time = _session->audible_sample ();