private void RegionsAutoSize(Timecode Headroom) { var Groups = myVegas.GetRegionGroups(); // check overlapping groups var Overlaps = new List <RegionGroup>(); Timecode LastEnd = null; foreach (RegionGroup Grp in Groups) { if (LastEnd != null && Grp.Region.Position < LastEnd) { Overlaps.Add(Grp); } LastEnd = Grp.Region.End; } if (Overlaps.Count != 0) { if (MessageBox.Show( "This project contains overlapping / duplicate regions. Autosize would likely screw everything up. Continue anyway?", "Overlaps detected", MessageBoxButtons.YesNo) != DialogResult.Yes) { return; } } using (var undo = new UndoBlock("Fit regions to events")) { foreach (RegionGroup Grp in Groups) { if (Grp.Events.Count == 0) { continue; } Grp.Region.Position = Grp.Start - Headroom; Grp.Region.End = Grp.End + Headroom; } } }