mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-18 20:56:28 +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)
|
Region::set_length_internal (timecnt_t const & len)
|
||||||
{
|
{
|
||||||
timecnt_t l (len);
|
timecnt_t l (len);
|
||||||
|
timepos_t p (_last_length.position());
|
||||||
|
|
||||||
l.set_position (position());
|
l.set_position (position());
|
||||||
|
|
||||||
_last_length = _length;
|
_last_length = _length;
|
||||||
|
_last_length.set_position (p);
|
||||||
|
|
||||||
_length = l;
|
_length = l;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue