Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
        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);
        }
Example #5
0
        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);
        }
Example #6
0
 private void UpdateClipOverlaps()
 {
     TrackExtensions.ComputeBlendsFromOverlaps((from c in this.m_ClipGUICache
                                                select c.clip).ToArray <TimelineClip>());
 }
Example #7
0
 void UpdateClipOverlaps()
 {
     TrackExtensions.ComputeBlendsFromOverlaps(track.clips);
 }
 public static void ComputeBlendsFromOverlaps(this TrackAsset asset)
 {
     TrackExtensions.ComputeBlendsFromOverlaps(asset.clips);
 }