prevent formation of new xfades when two regions are precisely co-terminal, and invalidate existing xfades if their participants become co-terminal
git-svn-id: svn://localhost/ardour2/branches/3.0@8605 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
ab8116e725
commit
ce03319dd1
@ -446,6 +446,10 @@ AudioPlaylist::check_dependents (boost::shared_ptr<Region> r, bool norefresh)
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (other->position() == r->position() && other->length() == r->length()) {
|
||||||
|
/* precise overlay of two regions - no xfade */
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if (other->layer() < region->layer()) {
|
if (other->layer() < region->layer()) {
|
||||||
top = region;
|
top = region;
|
||||||
|
@ -441,6 +441,13 @@ Crossfade::refresh ()
|
|||||||
Invalidated (shared_from_this());
|
Invalidated (shared_from_this());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* regions must cannot be identically sized and placed */
|
||||||
|
|
||||||
|
if (_in->position() == _out->position() && _in->length() == _out->length()) {
|
||||||
|
Invalidated (shared_from_this());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/* layer ordering cannot change */
|
/* layer ordering cannot change */
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user