temporal: fix implementation of timepos_t::operator+= (BBT_Offset const &)
TempoMap::bbtwalk_to_quarters() converts the distance of the walk into quarters, but we need the endpoint of the walk
This commit is contained in:
@@ -778,7 +778,8 @@ timepos_t::operator+= (Temporal::BBT_Offset const & offset)
|
||||
{
|
||||
TempoMap::SharedPtr tm (TempoMap::use());
|
||||
if (is_beats()) {
|
||||
v = build (true, tm->bbtwalk_to_quarters (beats(), offset).to_ticks());
|
||||
Temporal::Beats r = tm->quarters_at (tm->bbt_walk (tm->bbt_at (beats()), offset));
|
||||
v = build (true, r.to_ticks());
|
||||
} else {
|
||||
v = build (false, tm->superclock_at (tm->bbt_walk (BBT_Argument (this->superclocks(), tm->bbt_at (*this)), offset)));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user