View Issue Details

IDProjectCategoryView StatusLast Update
0004260ardourbugspublic2020-04-19 20:15
Reporterroyvegard Assigned Tocth103  
PrioritynormalSeveritytweakReproducibilityalways
Status closedResolutionfixed 
Target Version3.0-beta1 
Summary0004260: Region crossfades not recalculated when moving region
DescriptionWhen moving a region overlapping one end of another region, to the other end of that other region, in one motion, crossfades are not recalculated.
TagsNo tags attached.

Activities

2011-08-11 18:09

 

ardour_crossfade_01.png (128,382 bytes)   
ardour_crossfade_01.png (128,382 bytes)   

2011-08-11 18:09

 

ardour_crossfade_02.png (128,622 bytes)   
ardour_crossfade_02.png (128,622 bytes)   

royvegard

2011-08-11 18:14

reporter   ~0011301

See screenshots for illustration of what happens. After moving the selected region to the other end of the stationary region, the crossfade length remains the same as it was before the move. Doing another move of the region will recalculate the crossfade length. Use different overlap lengths to make the effect more obvious.

2011-08-20 18:52

 

4260.patch (2,131 bytes)   
diff --git a/libs/ardour/crossfade.cc b/libs/ardour/crossfade.cc
index 9cbbbf1..dc8d3e3 100644
--- a/libs/ardour/crossfade.cc
+++ b/libs/ardour/crossfade.cc
@@ -586,8 +586,8 @@ Crossfade::compute (boost::shared_ptr<AudioRegion> a, boost::shared_ptr<AudioReg
 			} else {
 				_position = top->last_frame() - short_xfade_length;
 			}
-
-			_length = min (short_xfade_length, top->length());
+			
+			set_xfade_length (min (short_xfade_length, top->length()));
 			_follow_overlap = false;
 			_anchor_point = EndOfIn;
 			_active = true;
@@ -621,7 +621,7 @@ Crossfade::compute (boost::shared_ptr<AudioRegion> a, boost::shared_ptr<AudioReg
 			_in = top;
 			_out = bottom;
 			_position = top->first_frame();
-			_length = min (short_xfade_length, top->length());
+			set_xfade_length (min (short_xfade_length, top->length()));
 			_follow_overlap = false;
 			_anchor_point = StartOfIn;
 			_active = true;
@@ -670,11 +670,11 @@ Crossfade::compute (boost::shared_ptr<AudioRegion> a, boost::shared_ptr<AudioReg
 
 			if (model == FullCrossfade) {
 				_position = bottom->first_frame(); // "{"
-				_length = _out->first_frame() + _out->length() - _in->first_frame();
+				set_xfade_length (_out->first_frame() + _out->length() - _in->first_frame());
 				/* leave active alone */
 				_follow_overlap = true;
 			} else {
-				_length = min (short_xfade_length, top->length());
+				set_xfade_length (min (short_xfade_length, top->length()));
 				_position = top->last_frame() - _length;  // "]" - length
 				_active = true;
 				_follow_overlap = false;
@@ -694,11 +694,11 @@ Crossfade::compute (boost::shared_ptr<AudioRegion> a, boost::shared_ptr<AudioReg
 			_anchor_point = StartOfIn;
 
 			if (model == FullCrossfade) {
-				_length = _out->first_frame() + _out->length() - _in->first_frame();
+				set_xfade_length (_out->first_frame() + _out->length() - _in->first_frame());
 				/* leave active alone */
 				_follow_overlap = true;
 			} else {
-				_length = min (short_xfade_length, top->length());
+				set_xfade_length (min (short_xfade_length, top->length()));
 				_active = true;
 				_follow_overlap = false;
 
4260.patch (2,131 bytes)   

cth103

2011-08-20 18:52

administrator   ~0011388

I think the attached patch fixes this but I need to run it past Paul.

cth103

2011-08-29 16:00

administrator   ~0011412

This should be fixed in SVN 10028.

system

2020-04-19 20:15

developer   ~0022713

Issue has been closed automatically, by Trigger Close Plugin.
Feel free to re-open with additional information if you think the issue is not resolved.

Issue History

Date Modified Username Field Change
2011-08-11 18:08 royvegard New Issue
2011-08-11 18:09 royvegard File Added: ardour_crossfade_01.png
2011-08-11 18:09 royvegard File Added: ardour_crossfade_02.png
2011-08-11 18:14 royvegard Note Added: 0011301
2011-08-12 16:00 cth103 cost => 0.00
2011-08-12 16:00 cth103 Target Version => 3.0-beta1
2011-08-20 18:52 cth103 File Added: 4260.patch
2011-08-20 18:52 cth103 Note Added: 0011388
2011-08-29 16:00 cth103 Note Added: 0011412
2011-08-29 16:00 cth103 Status new => resolved
2011-08-29 16:00 cth103 Resolution open => fixed
2011-08-29 16:00 cth103 Assigned To => cth103
2020-04-19 20:15 system Note Added: 0022713
2020-04-19 20:15 system Status resolved => closed