public void RemoveEvents() { int count = 0; EventHandler increment = delegate { count++; }; EventHandler <AddedCompositionEventArgs> incrementForAfterCompositionAdded = delegate { count++; }; EventHandler <AddedEffectEventArgs> incrementForAfterEffectAdded = delegate { count++; }; EventHandler <AddedTrackEventArgs> incrementForAfterTrackAdded = delegate { count++; }; EventHandler <AddedTransitionEventArgs> incrementForAfterTransitionAdded = delegate { count++; }; EventHandler <AddedClipEventArgs> incrementForAfterClipAdded = delegate { count++; }; using (ITimeline timeline = new DefaultTimeline()) { IComposition composition = timeline.AddAudioGroup().AddComposition(); composition.AddedComposition += incrementForAfterCompositionAdded; composition.AddedEffect += incrementForAfterEffectAdded; composition.AddedTrack += incrementForAfterTrackAdded; composition.AddedTransition += incrementForAfterTransitionAdded; composition.AddedClip += incrementForAfterClipAdded; composition.AddingComposition += increment; composition.AddingEffect += increment; composition.AddingTrack += increment; composition.AddingTransition += increment; composition.AddingClip += increment; composition.AddComposition(); composition.AddEffect(0, 2, StandardEffects.CreateDefaultBlur()); composition.AddTrack().AddClip("testinput.mp3", GroupMediaType.Audio, InsertPosition.Absolute, 0, 0, 1); composition.AddTransition(0, 2, StandardTransitions.CreateFade()); Assert.AreEqual(10, count); count = 0; composition.AddedComposition -= incrementForAfterCompositionAdded; composition.AddedEffect -= incrementForAfterEffectAdded; composition.AddedTrack -= incrementForAfterTrackAdded; composition.AddedTransition -= incrementForAfterTransitionAdded; composition.AddedClip -= incrementForAfterClipAdded; composition.AddingComposition -= increment; composition.AddingEffect -= increment; composition.AddingTrack -= increment; composition.AddingTransition -= increment; composition.AddingClip -= increment; composition.AddComposition(); composition.AddEffect(0, 2, StandardEffects.CreateDefaultBlur()); composition.AddTrack(); composition.AddTransition(2, 2, StandardTransitions.CreateFade()); Assert.AreEqual(0, count); } }
public void AddTransition() { using (ITimeline timeline = new DefaultTimeline()) { IGroup group = timeline.AddVideoGroup(24, 100, 100); IComposition composition = group.AddComposition(); bool firedBefore = false; bool firedAfter = false; composition.BeforeTransitionAdded += new EventHandler(delegate { firedBefore = true; }); composition.AfterTransitionAdded += new EventHandler <AfterTransitionAddedEventArgs>(delegate { firedAfter = true; }); ITransition transition = composition.AddTransition("test", 0, 2, StandardTransitions.CreateFade(), false); Assert.AreEqual(1, composition.Transitions.Count); Assert.AreEqual("test", transition.Name); Assert.AreEqual(0, transition.Offset); Assert.AreEqual(2, transition.Duration); Assert.IsTrue(firedBefore); Assert.IsTrue(firedAfter); } }
public void AddTransitionSetsAppropriateContainerAndGroup() { using (ITimeline timeline = new DefaultTimeline()) { TransitionDefinition def = StandardTransitions.CreateIris(); IGroup group = timeline.AddAudioGroup(); ITransition groupTransition = group.AddTransition(0, 0, def); Assert.AreSame(group, groupTransition.Container); Assert.AreSame(group, groupTransition.Group); ITrack track = group.AddTrack(); ITransition trackTransition = track.AddTransition(0, 0, def); Assert.AreSame(track, trackTransition.Container); Assert.AreSame(group, trackTransition.Group); IComposition composition = group.AddComposition(); ITransition compositionTransition = composition.AddTransition(0, 0, def); Assert.AreSame(composition, compositionTransition.Container); Assert.AreSame(group, compositionTransition.Group); } }