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 AddComposition() { using (ITimeline timeline = new DefaultTimeline()) { IGroup group = timeline.AddAudioGroup(); IComposition composition = group.AddComposition(); Assert.AreSame(group, composition.Container); Assert.AreSame(group, composition.Group); bool firedBefore = false; bool firedAfter = false; composition.BeforeCompositionAdded += new EventHandler(delegate { firedBefore = true; }); composition.AfterCompositionAdded += new EventHandler <AfterCompositionAddedEventArgs>(delegate { firedAfter = true; }); IComposition childComposition = composition.AddComposition(); Assert.AreSame(composition, childComposition.Container); Assert.AreSame(group, childComposition.Group); Assert.AreEqual(1, composition.Compositions.Count); Assert.IsTrue(firedBefore); Assert.IsTrue(firedAfter); } }