public virtual bool MoveToSubitem(PlaylistSubItem subItem)
 {
     // No subitems to move to ...
     return(false);
 }
 public override bool MoveToSubitem(PlaylistSubItem subItem)
 {
     return(true);
 }
Esempio n. 3
0
 public virtual bool MoveToSubitem(PlaylistSubItem subItem)
 {
     // No subitems to move to ...
     return false;
 }
Esempio n. 4
0
 public override bool MoveToSubitem(PlaylistSubItem subItem)
 {
     return true;
 }
Esempio n. 5
0
        internal void PlayFile(string strFile, PlaylistSubItem subItem)
        {
            if (!string.IsNullOrEmpty(strFile))
            {
                if (subItem == null && MediaRenderer.DefaultInstance.FilterState != FilterState.Stopped)
                {
                    Stop(false);
                }

                bool isVideoFile = false;
                bool isDVDVolume = false;

                string name = string.Empty;

                DvdMedia dvdDrive = DvdMedia.FromPath(strFile);
                if (dvdDrive != null)
                {
                    isDVDVolume = true;
                    name = dvdDrive.ToString();

                    if (subItem != null && subItem.StartHint != null)
                    {
                        name += Translator.Translate("TXT_PLAY_FROM", subItem.StartHint);
                    }
                }
                else
                {
                    MediaFileInfo mfi = MediaFileInfo.FromPath(strFile);
                    isVideoFile = MediaRenderer.SupportedVideoTypes.Contains(mfi.MediaType);
                    name = mfi.Name;
                }

                if (isVideoFile || isDVDVolume)
                {
                    ShowRenderingRegion();
                }
                else
                {
                    HideRenderingRegion();
                }

                if (NotifyMediaStateChanged != null)
                {
                    NotifyMediaStateChanged(isVideoFile || isDVDVolume);
                }

                MediaRenderer.DefaultInstance.SetRenderFile(strFile);

                bool rendererStarted = false;
                if (subItem != null && subItem.StartHint != null)
                {
                    MediaRenderer.DefaultInstance.StartRendererWithHint(subItem.StartHint);
                    rendererStarted = true;
                }

                if (!rendererStarted)
                {
                    MediaRenderer.DefaultInstance.StartRenderer();
                }

                if (MediaRenderer.DefaultInstance.HasRenderingErrors == false)
                {
                   if (_renderingFrame != null && (isVideoFile || isDVDVolume))
                   {
                       if (!_renderingFrame.Visible)
                       {
                           _renderingFrame.Show();
                       }
                   }
   
                   SetVolume(pnlRendering.ProjectedVolume);
   
                   if (subItem != null && subItem.StartHint != null)
                   {
                       NotifyGUI("TXT_OSD_PLAY", subItem);
                   }
                   else
                   {
                       NotifyGUI("TXT_OSD_PLAY", name);
                   }
   
                   if (isVideoFile)
                   {
                       if (_delayedSubtitleLookupTimer == null)
                       {
                           _delayedSubtitleLookupTimer = new System.Windows.Forms.Timer();
                           _delayedSubtitleLookupTimer.Interval = 1000;
                           _delayedSubtitleLookupTimer.Tick += new EventHandler(_delayedSubtitleLookupTimer_Tick);
                       }
   
                       _delayedSubtitleLookupTimer.Start();
                   }
                }
                else
                {
                    HideRenderingRegion();
                }
            }
        }
Esempio n. 6
0
        public void JumpToPlaylistSubItem(PlaylistSubItem subItem)
        {
            bool doJump = false;

            if (subItem != null && subItem.Parent != null)
            {
                if (subItem.Parent != pnlScreens.PlaylistScreen.GetActivePlaylistItem())
                {
                    if (pnlScreens.PlaylistScreen.JumpToPlaylistItem(subItem.Parent))
                    {
                        Stop(true);
                        doJump = true;
                    }
                } 
                else
                {
                    doJump = true;
                }
                
                if (doJump)
                {
                    string strFile = pnlScreens.PlaylistScreen.GetActiveFile();
                    if (!string.IsNullOrEmpty(strFile))
                    {
                        PlayFile(strFile, subItem);
                    }
                    else
                    {
                        PlayFile(subItem.ParentMediaPath, subItem);
                    }
                }
            }
        }