diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2011-01-29 01:03:05 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2011-01-29 01:03:05 +0000 |
commit | ce03319dd113b8a6c109414413ad01550f774d75 (patch) | |
tree | 891940d456c8ffc059900ab398d77943f8859ebe /libs/ardour/crossfade.cc | |
parent | ab8116e725fa815d72c78d8872a2829edde8693b (diff) |
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
Diffstat (limited to 'libs/ardour/crossfade.cc')
-rw-r--r-- | libs/ardour/crossfade.cc | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/libs/ardour/crossfade.cc b/libs/ardour/crossfade.cc index 47b07dc38d..302b19399e 100644 --- a/libs/ardour/crossfade.cc +++ b/libs/ardour/crossfade.cc @@ -441,6 +441,13 @@ Crossfade::refresh () Invalidated (shared_from_this()); 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 */ |