New Region Editing Features

Lincoln Spiteri did some excellent work adding several new editing features which link into his non-layered mode. The general idea here is a workflow that doesn't rely on crossfades and generally avoids region overlaps. However, these editing operations are useful whether you use this track mode or not.

Push/Pull Trim

Normally when you trim regions by dragging with the mouse, it affects only the selected regions. Their lengths are directly affected by the trim operation, but nothing else is. Sometimes though, you'd like to trim a region that directly adjoins another, and keep this relationship the same - you're not trying to make one of the regions extend over the other - you'd like the junction to move in one direction or the other as part of the trim. This requires trimming both regions on either side of the junction, in opposite directions. Push/Pull trim, activated by pressing shift key before starting the drag, will do just that. Here's a few pictures to show the difference in the results of a normal trim and push/pull trim. First, the initial situation:

region arrangement before trim

Now lets look at what happens after we trim the right hand (selected) region by dragging its starting position earlier:

region arrangement after a trim

You can see that it now overlaps the earlier region and a cross fade has been created between them.

Lets look now at what happens if we do the same trim, but using shift-drag to turn it into a push-pull trim instead:

region arrangement after a push trim

There is no overlap, and the end of the earlier region has been moved along with the start of the later region, so that they still directly adjoin each other.

Trim To Next/Previous

Sometimes you just want to extend the start or end of region so that it reaches the end or start of an adjacent region. There is now an operation accessible from the region context menu, under Trim->Trim to Next or Trim->Trim to Previous. This will extend the selected regions so they directly adjoin their neighbours, unless their source files are not long enough, in which case they will be extended to the maximum possible. Trim to Next will extend the end of the selected regions to the start of the next region; Trim to Previous will extend the start of the selected regions to the end of the previous region.

Separate Under

You may have a situation where you've positioned one region over another, and you just want to cut the lower region so that it directly adjoins both ends of the overlapping one, with no overlaps. To do this, select the upper region, then choose Edit->Separate->Separate Under. This will split the lower region so that it no longer overlaps the upper region at all. Here is an example where we start with a short region placed so that it overlaps a longer region:

region arrangement before separate under

Now we perform the separate under edit, and the lower region has been split in two, with boundaries exactly positioned at the edges of the upper region:

region arrangement after separate under

If the lower region is only covered at one end by the upper region, then this operation is equivalent to Trim to Next or Trim to Previous, depending on which end is covered.

Separate Range

A final new editing feature is an operation in the context menu of a range labelled "Separate Regions Under Range". This will split any selected regions that are covered by the range at both ends of the range (or just one, if the range only covers part of the region). This makes it easy to generate regions that correspond precisely to a range.

Selected Region Rules

We have also tried to rationalize the rules used to decide what regions are affected by editing operations. You don't really have to understand them - hopefully things will Just Work - but it may be useful to understand the rules some of the time.

We divided operations up into those that operate on a single point in time (Split being the obvious example) and those that operate on two points (which can also be considered to be a range of sorts), Separate is a good example of this.

Most operations will operate on the currently selected region(s), but if no regions are selected, the region that the mouse is in will be used instead. Single-point operations will generally pick a set of regions to use based on the following rules:
  1. If the edit point is `mouse':
    • if the mouse is over a selected region, or no region, use all selected regions.
    • if the mouse is over an unselected region, use just that region.
  2. For all other edit points
    • use the selected regions and those that are both under the edit position and on a selected track, or on a track which is in the same active edit-enabled route group as a selected region.

The rationale here for the two different rules is that the mouse edit point is special in that its position indicates both a time and a track; the other edit points (Playhead,Marker) indicates only a time.