public static ProcessResultArray <Clip> Apply(CropOptions options, params Clip[] clips) { var processedClips = new Clip[clips.Length]; var start = options.Lengths.Length > 1 ? options.Lengths[0] : 0; var duration = options.Lengths.Length > 1 ? options.Lengths[1] : options.Lengths[0]; var i = 0; foreach (var clip in clips) { processedClips[i++] = CropClip(clip, start, duration); } return(new ProcessResultArray <Clip>(processedClips)); }
public static ProcessResultArray <Clip> Apply(CropOptions options, params Clip[] clips) { var processedClips = new Clip[clips.Length]; var start = options.Lengths.Length > 1 ? options.Lengths[0] : 0; var duration = options.Lengths.Length > 1 ? options.Lengths[1] : options.Lengths[0]; var i = 0; foreach (var clip in clips) { var processedClip = new Clip(duration, clip.IsLooping); processedClip.Notes.AddRange(ClipUtilities.GetSplitNotesInRangeAtPosition(start, start + duration, clip.Notes, 0)); processedClips[i++] = processedClip; } return(new ProcessResultArray <Clip>(processedClips)); }