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 AddEffectSetsApropriateContainer() { using (ITimeline timeline = new DefaultTimeline()) { EffectDefinition def = StandardEffects.CreateDefaultBlur(); IGroup group = timeline.AddVideoGroup(24, 100, 100); IEffect groupEffect = group.AddEffect(0, 10, def); Assert.AreSame(group, groupEffect.Group); Assert.AreSame(group, groupEffect.Container); ITrack track = group.AddTrack(); IEffect trackEffect = track.AddEffect(0, 10, def); Assert.AreSame(group, trackEffect.Group); Assert.AreSame(track, trackEffect.Container); IComposition composition = group.AddComposition(); IEffect compositionEffect = composition.AddEffect(0, 10, def); Assert.AreSame(group, compositionEffect.Group); Assert.AreSame(composition, compositionEffect.Container); IClip clip = track.AddClip("..\\..\\image1.jpg", GroupMediaType.Image, InsertPosition.Absolute, 0, 0, 10); IEffect clipEffect = clip.AddEffect(0, 10, def); Assert.AreSame(group, clip.Group); Assert.AreSame(clip, clipEffect.Container); } }
public void AddEffect() { using (ITimeline timeline = new DefaultTimeline()) { IGroup group = timeline.AddVideoGroup(24, 100, 100); IComposition composition = group.AddComposition(); bool firedBefore = false; bool firedAfter = false; composition.BeforeEffectAdded += new EventHandler(delegate { firedBefore = true; }); composition.AfterEffectAdded += new EventHandler <AfterEffectAddedEventArgs>(delegate { firedAfter = true; }); IEffect effect = composition.AddEffect("test", -1, 1, 2, StandardEffects.CreateBlurEffect(2, 2, 10)); Assert.AreEqual("test", effect.Name); Assert.AreEqual(1, effect.Offset); Assert.AreEqual(2, effect.Duration); Assert.AreEqual(1, composition.Effects.Count); Assert.IsTrue(firedBefore); Assert.IsTrue(firedAfter); } }