summaryrefslogtreecommitdiff
path: root/libs/ardour/audioregion.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2010-04-15 20:42:05 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2010-04-15 20:42:05 +0000
commitdc815ea8e84d28fc01a68225c2ece4399c4a9c7e (patch)
tree27954a7b74ea3df1ca87d0ece20ad15a6f46f6be /libs/ardour/audioregion.cc
parentd2beb38ea9fb39dbfb8667784bd248b32d171cbf (diff)
forward-port from 2.X commits 5827-6000 including
git-svn-id: svn://localhost/ardour2/branches/3.0@6914 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/audioregion.cc')
-rw-r--r--libs/ardour/audioregion.cc18
1 files changed, 12 insertions, 6 deletions
diff --git a/libs/ardour/audioregion.cc b/libs/ardour/audioregion.cc
index be6cce251a..15110e4869 100644
--- a/libs/ardour/audioregion.cc
+++ b/libs/ardour/audioregion.cc
@@ -948,15 +948,18 @@ AudioRegion::recompute_at_end ()
_envelope->set_max_xval (_length);
_envelope->thaw ();
+ if (_left_of_split) {
+ set_default_fade_out ();
+ _left_of_split = false;
+ } else if (_fade_out->back()->when > _length) {
+ _fade_out->extend_to (_length);
+ send_change (PropertyChange (Properties::fade_out));
+ }
+
if (_fade_in->back()->when > _length) {
_fade_in->extend_to (_length);
send_change (PropertyChange (Properties::fade_in));
}
-
- if (_fade_out->back()->when > _length) {
- _fade_out->extend_to (_length);
- send_change (PropertyChange (Properties::fade_out));
- }
}
void
@@ -966,7 +969,10 @@ AudioRegion::recompute_at_start ()
_envelope->truncate_start (_length);
- if (_fade_in->back()->when > _length) {
+ if (_right_of_split) {
+ set_default_fade_in ();
+ _right_of_split = false;
+ } else if (_fade_in->back()->when > _length) {
_fade_in->extend_to (_length);
send_change (PropertyChange (Properties::fade_in));
}