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:
parent
028c19cd10
commit
ae321721cf
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user