forward-port from 2.X commits 5827-6000 including
[ardour.git] / libs / ardour / audioregion.cc
index be6cce251aad7977917154da1024b789b956585e..15110e486942f309e8f84ad4118582df256a76bb 100644 (file)
@@ -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));
        }