13
0

Also thin automation after touch/latch

AutomationList::start_touch must not start a write-pass.
That function is also called when the transport is no rolling.
A write-pass is started via AutomationWatch::add_automation_watch.
This commit is contained in:
Robin Gareus 2022-12-18 01:45:04 +01:00
parent 028c19cd10
commit ae321721cf
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04
2 changed files with 1 additions and 5 deletions

View File

@ -264,10 +264,6 @@ AutomationList::write_pass_finished (timepos_t const & when, double thinning_fac
void
AutomationList::start_touch (timepos_t const & when)
{
if (_state == Touch) {
start_write_pass (when);
}
g_atomic_int_set (&_touching, 1);
}

View File

@ -608,6 +608,7 @@ ControlList::add_guard_point (timepos_t const& time, timecnt_t const& offset)
*/
if (_in_write_pass && new_write_pass) {
WritePassStarted (); /* EMIT SIGNAL w/WriteLock */
did_write_during_pass = true;
new_write_pass = false;
}
@ -827,7 +828,6 @@ ControlList::add (timepos_t const& time, double value, bool with_guards, bool wi
if (with_guards) {
add_guard_point (insert_position, timecnt_t (_time_domain));
did_write_during_pass = true;
} else {
/* not adding a guard, but we need to set iterator appropriately */
const ControlEvent cp (when, 0.0);