mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-14 18:46:34 +01:00
Fix region-gain when trimming, cutting or partitioning regions
The during trim-front, the call order is 1. Region::set_position_internal 2. Region::set_length_internal ::set_position_internal sets `_last_length.set_position (position());` but the later call ::set_length_internal does `_last_length = _length;` This sets last_position() == position(), and later Region::mid_thaw() does not call Region::recompute_at_start(). Region gain envelope was not updated. see also00a1b7cb24and13d10582f0
This commit is contained in:
parent
d39f064756
commit
8ba21e7fff
1 changed files with 3 additions and 0 deletions
|
|
@ -492,10 +492,13 @@ void
|
|||
Region::set_length_internal (timecnt_t const & len)
|
||||
{
|
||||
timecnt_t l (len);
|
||||
timepos_t p (_last_length.position());
|
||||
|
||||
l.set_position (position());
|
||||
|
||||
_last_length = _length;
|
||||
_last_length.set_position (p);
|
||||
|
||||
_length = l;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue