示例#1
0
        public TreeNode GetPreviousSiblingWithManagedAudio()
        {
            if (Parent == null)
            {
                return(null);
            }
            TreeNode previous = this;

            while ((previous = previous.PreviousSibling) != null)
            {
#if ENABLE_SEQ_MEDIA
                Media manMedia = previous.GetManagedAudioMediaOrSequenceMedia();
#else
                Media manMedia = previous.GetManagedAudioMedia();
#endif

                if (manMedia != null)
                {
                    return(previous);
                }

                TreeNode previousIn = previous.GetLastDescendantWithManagedAudio();
                if (previousIn != null)
                {
                    return(previousIn);
                }
            }

            return(Parent.GetPreviousSiblingWithManagedAudio());
        }
示例#2
0
        public TreeNode GetLastDescendantWithManagedAudio()
        {
            if (mChildren.Count == 0)
            {
                return(null);
            }

            for (int i = Children.Count - 1; i >= 0; i--)
            {
                TreeNode child = Children.Get(i);

#if ENABLE_SEQ_MEDIA
                Media manMedia = child.GetManagedAudioMediaOrSequenceMedia();
#else
                Media manMedia = child.GetManagedAudioMedia();
#endif

                if (manMedia != null)
                {
                    return(child);
                }

                TreeNode childIn = child.GetLastDescendantWithManagedAudio();
                if (childIn != null)
                {
                    return(childIn);
                }
            }
            return(null);
        }