mirror of
https://github.com/Ardour/ardour.git
synced 2026-01-29 16:33:14 +01:00
Fix and simplify Playlist::fade_range for multiple ranges
This commit is contained in:
parent
6b5582deef
commit
46f61d7662
1 changed files with 7 additions and 10 deletions
|
|
@ -3413,17 +3413,14 @@ Playlist::fade_range (list<TimelineRange>& ranges)
|
|||
{
|
||||
ThawList thawlist;
|
||||
RegionReadLock rlock (this);
|
||||
for (list<TimelineRange>::iterator r = ranges.begin(); r != ranges.end(); ) {
|
||||
list<TimelineRange>::iterator tmpr = r;
|
||||
++tmpr;
|
||||
for (RegionList::const_iterator i = regions.begin (); i != regions.end ();) {
|
||||
RegionList::const_iterator tmpi = i;
|
||||
++tmpi;
|
||||
thawlist.add (*i);
|
||||
(*i)->fade_range ((*r).start().samples(), (*r).end().samples());
|
||||
i = tmpi;
|
||||
/* add regions only once, not for each range */
|
||||
for (auto const& r : regions) {
|
||||
thawlist.add (r);
|
||||
}
|
||||
for (auto const& t: ranges) {
|
||||
for (auto const& r : regions) {
|
||||
r->fade_range (t.start().samples(), t.end().samples());
|
||||
}
|
||||
r = tmpr;
|
||||
}
|
||||
rlock.release ();
|
||||
thawlist.release ();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue