Beispiel #1
0
        internal static void UpdateClipIntersection(TimelineClip blendOutClip, TimelineClip blendInClip)
        {
            if (!blendOutClip.SupportsBlending() || !blendInClip.SupportsBlending())
            {
                return;
            }

            if (blendInClip.end < blendOutClip.end)
            {
                return;
            }

            double duration = Math.Max(0, blendOutClip.start + blendOutClip.duration - blendInClip.start);

            duration = duration <= kMinOverlapTime ? 0 : duration;
            blendOutClip.blendOutDuration = duration;
            blendInClip.blendInDuration   = duration;

            var blendInMode  = blendInClip.blendInCurveMode;
            var blendOutMode = blendOutClip.blendOutCurveMode;

            if (blendInMode == TimelineClip.BlendCurveMode.Manual && blendOutMode == TimelineClip.BlendCurveMode.Auto)
            {
                blendOutClip.mixOutCurve = CurveEditUtility.CreateMatchingCurve(blendInClip.mixInCurve);
            }
            else if (blendInMode == TimelineClip.BlendCurveMode.Auto && blendOutMode == TimelineClip.BlendCurveMode.Manual)
            {
                blendInClip.mixInCurve = CurveEditUtility.CreateMatchingCurve(blendOutClip.mixOutCurve);
            }
            else if (blendInMode == TimelineClip.BlendCurveMode.Auto && blendOutMode == TimelineClip.BlendCurveMode.Auto)
            {
                blendInClip.mixInCurve   = null; // resets to default curves
                blendOutClip.mixOutCurve = null;
            }
        }
 internal static void UpdateClipIntersection(TimelineClip blendOutClip, TimelineClip blendInClip)
 {
     if (blendOutClip.SupportsBlending() && blendInClip.SupportsBlending())
     {
         double num = Math.Max(0.0, blendOutClip.start + blendOutClip.duration - blendInClip.start);
         num = ((num > TrackExtensions.kMinOverlapTime) ? num : 0.0);
         blendOutClip.blendOutDuration = num;
         blendInClip.blendInDuration   = num;
         TimelineClip.BlendCurveMode blendInCurveMode  = blendInClip.blendInCurveMode;
         TimelineClip.BlendCurveMode blendOutCurveMode = blendOutClip.blendOutCurveMode;
         if (blendInCurveMode == TimelineClip.BlendCurveMode.Manual && blendOutCurveMode == TimelineClip.BlendCurveMode.Auto)
         {
             blendOutClip.mixOutCurve = CurveEditUtility.CreateMatchingCurve(blendInClip.mixInCurve);
         }
         else if (blendInCurveMode == TimelineClip.BlendCurveMode.Auto && blendOutCurveMode == TimelineClip.BlendCurveMode.Manual)
         {
             blendInClip.mixInCurve = CurveEditUtility.CreateMatchingCurve(blendOutClip.mixOutCurve);
         }
         else if (blendInCurveMode == TimelineClip.BlendCurveMode.Auto && blendOutCurveMode == TimelineClip.BlendCurveMode.Auto)
         {
             blendInClip.mixInCurve   = null;
             blendOutClip.mixOutCurve = null;
         }
     }
 }