コード例 #1
0
        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);
            }
        }
コード例 #2
0
ファイル: Composition.cs プロジェクト: Yitzchok/Splicer
        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);
            }
        }