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);
            }
        }
Example #2
0
        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);
            }
        }