MantisBT - ardour
View Issue Details
0005517ardourfeaturespublic2013-06-07 02:022018-09-13 11:18
colinf 
paul 
normalminorN/A
resolvedfixed 
 
 
0005517: New intermediate 'Regions in active edit groups are edited together' setting
I think that a setting for 'Regions in active edit groups are edited together' that considers regions equivalent when the bounds of one are either equal to or lie within the bounds of another would be useful.

This would fit my workflow editing multi-track live recordings very well, where in general, all tracks are edited together, but the timing of the edits in one or two tracks occasionally has to be adjusted. Nether of the two existing region equivalency modes does exactly what I want here: 'only when identical' of course stops working as soon as any regions are edited slightly differently within the group, and 'whenever they overlap' selects regions on both sides of the edit.
ASCII-art examples to clarify how I think this new mode should work:

|---a---|
|--b--|

|---a---|
 |--b--|

|---a---|
  |--b--|
 - are equivalent.

|---a---|
   |--b--|

 |---a---|
|--b--|
 - are not.
No tags attached.
patch enclosed-equivalent-regions.patch (8,874) 2018-09-13 06:25
http://tracker.ardour.org/file_download.php?file_id=3423&type=bug
patch enclosed-equivalent-regions-5.12.patch (7,609) 2018-09-13 09:59
http://tracker.ardour.org/file_download.php?file_id=3424&type=bug
Issue History
2013-06-07 02:02colinfNew Issue
2013-06-10 09:10paulNote Added: 0014963
2013-06-10 10:29colinfNote Added: 0014973
2014-09-19 11:36colinfNote Added: 0015889
2018-09-13 06:25colinfFile Added: enclosed-equivalent-regions.patch
2018-09-13 09:59colinfFile Added: enclosed-equivalent-regions-5.12.patch
2018-09-13 10:02colinfNote Added: 0020385
2018-09-13 11:18paulNote Added: 0020386
2018-09-13 11:18paulStatusnew => resolved
2018-09-13 11:18paulResolutionopen => fixed
2018-09-13 11:18paulAssigned To => paul

Notes
(0014963)
paul   
2013-06-10 09:10   
I like it.
(0014973)
colinf   
2013-06-10 10:29   
I started to hack this together, and it seemed like a doddle, but I got totally stumped thinking up a name for the function. The standard 'identical' equivalence mode function is Region::equivalent() and the 'overlap' mode is Region::overlap_equivalent(), but what to call this one?

Also, I'm not sure whether it's a good idea to change the use_overlap_equivalency config setting from a bool to an int/enum for this third type, or to introduce a new config variable, or just change the overlap equivalency to work like this. Who uses overlap equivalency, anyway?
(0015889)
colinf   
2014-09-19 11:36   
I've implemented this now (I have it in a local branch), since I wanted it (especially in the face of #4834).

I made a new enumerated "region-equivalence" config setting, and got rid of the old "use-overlap-equivalency" boolean one, so anyone who had enabled the old one would lose their setting if the patch were to be merged as-is. I hope that's OK - I'd think that anyone who wants this setting knows they want it.

There's also a discussion to be had about what the default should be - obviously I'd like it to be my new mode, but I guess there's a consistency argument in favour of making it be the 'exact' equivalence mode as at present.
(0020385)
colinf   
2018-09-13 10:02   
Attached enclosed-equivalent-regions-5.12.patch applies on master (and 5.12), and Works For Me™.
(0020386)
paul   
2018-09-13 11:18   
git-applied to master and committed as 9321f46c453b