public static Effect CreateExitEffectCaptionAnimation(PowerPointSlide slide, Shape shape, int clickNo)
        {
            Effect effect = AnimationUtility.AppendAnimationToSlide(slide, shape, MsoAnimEffect.msoAnimEffectAppear, clickNo + 1);

            effect.Exit = Microsoft.Office.Core.MsoTriState.msoTrue;
            return(effect);
        }
        public static Effect CreateAppearEffectAudioAnimation(PowerPointSlide slide, string captionText, string voiceLabel,
                                                              int clickNo, int tagNo, bool isSeperateClick)
        {
            Shape shape;

            try
            {
                shape = InsertAudioShapeToSlide(slide, captionText, tagNo, voiceLabel);
            }
            catch (Exception e)
            {
                Logger.Log(e.Message);
                return(null);
            }
            Effect effect;

            if (shape == null)
            {
                return(null);
            }
            if (isSeperateClick)
            {
                effect = AnimationUtility.AppendAnimationToSlide(slide, shape, MsoAnimEffect.msoAnimEffectMediaPlay, clickNo - 1);
            }
            else
            {
                effect = AnimationUtility.AppendAnimationToSlide(slide, shape, MsoAnimEffect.msoAnimEffectMediaPlay, clickNo);
            }
            // TODO: add stop playing on click here
            return(effect);
        }
        public static Effect CreateAppearEffectCaptionAnimation(PowerPointSlide slide, string captionText,
                                                                int clickNo, int tagNo, bool isSeperateClick)
        {
            Shape shape = InsertCaptionShapeToSlide(slide, captionText, tagNo);

            if (isSeperateClick)
            {
                return(AnimationUtility.AppendAnimationToSlide(slide, shape, MsoAnimEffect.msoAnimEffectAppear, clickNo - 1));
            }
            else
            {
                return(AnimationUtility.AppendAnimationToSlide(slide, shape, MsoAnimEffect.msoAnimEffectAppear, clickNo));
            }
        }