static void FinalizeInsertItemsUsingCurrentEditMode(WindowState state, IList <ItemsPerTrack> itemsGroups, double candidateTime) { EditMode.FinalizeInsertItemsAtTime(itemsGroups, candidateTime); SelectionManager.Clear(); foreach (var itemsGroup in itemsGroups) { var track = itemsGroup.targetTrack; var items = itemsGroup.items; EditModeUtils.SetParentTrack(items, track); track.SortClips(); TrackExtensions.ComputeBlendsFromOverlaps(track.clips); track.CalculateExtrapolationTimes(); foreach (var item in items) { if (item.gui != null) { item.gui.Select(); } } } var allItems = itemsGroups.SelectMany(x => x.items).ToList(); foreach (var item in allItems) { SelectionManager.Add(item); } FrameItems(state, allItems); }
public static TimelineClip Duplicate(this TimelineClip clip, PlayableDirector director) { TrackAsset parentTrack = clip.parentTrack; TimelineAsset timelineAsset = parentTrack.timelineAsset; TimelineClip result; if (parentTrack == null || timelineAsset == null) { result = null; } else { double num = ClipExtensions.FindClipInsertionTime(clip, parentTrack.clips); if (double.IsInfinity(num)) { result = null; } else { TimelineUndo.PushUndo(parentTrack, "Clone Clip"); TimelineClip timelineClip = TimelineHelpers.Clone(clip, director); timelineClip.start = num; clip.parentTrack.AddClip(timelineClip); clip.parentTrack.SortClips(); TrackExtensions.ComputeBlendsFromOverlaps(clip.parentTrack.clips); result = timelineClip; } } return(result); }
public static TimelineClip DuplicateAtTime(this TimelineClip clip, TrackAsset track, double time, PlayableDirector director) { TimelineUndo.PushUndo(track, "Clone Clip"); TimelineClip timelineClip = TimelineHelpers.Clone(clip, director); timelineClip.start = time; timelineClip.parentTrack = track; track.AddClip(timelineClip); track.SortClips(); TrackExtensions.ComputeBlendsFromOverlaps(track.clips); return(timelineClip); }
public static TimelineClip Clone(TimelineClip clip, IExposedPropertyTable sourceTable, IExposedPropertyTable destTable, double time, PlayableAsset newOwner = null) { if (newOwner == null) { newOwner = clip.parentTrack; } TimelineClip newClip = DuplicateClip(clip, sourceTable, destTable, newOwner); newClip.start = time; var track = newClip.parentTrack; track.SortClips(); TrackExtensions.ComputeBlendsFromOverlaps(track.clips); return(newClip); }
public static TimelineClip Clone(TimelineClip clip, PlayableDirector director, double time, PlayableAsset newOwner = null) { if (newOwner == null) { newOwner = clip.parentTrack; } TimelineClip newClip = DuplicateClip(clip, director, newOwner); newClip.start = time; var track = newClip.parentTrack; track.SortClips(); TrackExtensions.ComputeBlendsFromOverlaps(track.clips); return(newClip); }
private void UpdateClipOverlaps() { TrackExtensions.ComputeBlendsFromOverlaps((from c in this.m_ClipGUICache select c.clip).ToArray <TimelineClip>()); }
void UpdateClipOverlaps() { TrackExtensions.ComputeBlendsFromOverlaps(track.clips); }
public static void ComputeBlendsFromOverlaps(this TrackAsset asset) { TrackExtensions.ComputeBlendsFromOverlaps(asset.clips); }