/// <summary>
        /// Plays a MpVideos movie
        /// </summary>
        /// <param name="id"></param>
        /// <param name="startPos"></param>
        internal static void PlayVideo(int id, int startPos)
        {
            //Code mostly copied from WindowPlugins -> GUIVideoFiles -> GuiVideoTitle.cs
            IMDBMovie movie = new IMDBMovie();

            VideoDatabase.GetMovieInfoById(id, ref movie);
            if (movie == null && movie.ID < 0)
            {
                WifiRemote.LogMessage("No video found for id " + id, WifiRemote.LogType.Warn);
                return;
            }
            GUIVideoFiles.Reset(); // reset pincode
            ArrayList files = new ArrayList();

            //Code for MediaPortal 1.3 Beta and higher
            VideoDatabase.GetFilesForMovie(movie.ID, ref files);
            if (files.Count > 1)
            {
                GUIVideoFiles.StackedMovieFiles = files;
                GUIVideoFiles.IsStacked         = true;
            }
            else
            {
                GUIVideoFiles.IsStacked = false;
            }

            GUIVideoFiles.MovieDuration(files, false);


            GUIVideoFiles.PlayMovie(movie.ID, false);
        }
        protected override void SetView(int selectedViewId)
        {
            switch (selectedViewId)
            {
            case 0: // Shares
            {
                int nNewWindow = (int)Window.WINDOW_VIDEOS;
                VideoState.StartWindow = nNewWindow;
                if (nNewWindow != GetID)
                {
                    GUIVideoFiles.Reset();
                    GUIWindowManager.ReplaceWindow(nNewWindow);
                }
            }
            break;

            default: // a db view
            {
                ViewDefinition selectedView = (ViewDefinition)handler.Views[selectedViewId - 1];
                handler.CurrentView = selectedView.Name;
                VideoState.View     = selectedView.Name;
                int nNewWindow = (int)Window.WINDOW_VIDEO_TITLE;
                // Reset search variables
                if (GUIVideoTitle.CurrentViewHistory != handler.CurrentLevelWhere)
                {
                    GUIVideoTitle.IsActorSearch            = false;
                    GUIVideoTitle.IsMovieSearch            = false;
                    GUIVideoTitle.ActorSearchString        = string.Empty;
                    GUIVideoTitle.MovieSearchString        = string.Empty;
                    GUIVideoTitle.MovieSearchDbFieldString = string.Empty;
                }
                if (GetID != nNewWindow)
                {
                    VideoState.StartWindow = nNewWindow;
                    if (nNewWindow != GetID)
                    {
                        GUIWindowManager.ReplaceWindow(nNewWindow);
                    }
                }
                else
                {
                    LoadDirectory(string.Empty);
                    if (facadeLayout.Count <= 0)
                    {
                        GUIControl.FocusControl(GetID, btnLayouts.GetID);
                    }
                }
            }
            break;
            }
        }
Beispiel #3
0
        protected override void OnClick(int itemIndex)
        {
            GUIListItem item = facadeLayout.SelectedListItem;

            if (item == null)
            {
                return;
            }
            if (item.IsFolder)
            {
                currentSelectedItem = -1;
                if (item.Label == "..")
                {
                    handler.CurrentLevel--;
                }
                else
                {
                    IMDBMovie movie = item.AlbumInfoTag as IMDBMovie;
                    ((VideoViewHandler)handler).Select(movie);
                }
                LoadDirectory(item.Path);
            }
            else
            {
                IMDBMovie movie = item.AlbumInfoTag as IMDBMovie;
                if (movie == null)
                {
                    return;
                }
                if (movie.ID < 0)
                {
                    return;
                }
                GUIVideoFiles.Reset(); // reset pincode

                ArrayList files = new ArrayList();
                VideoDatabase.GetFiles(movie.ID, ref files);

                if (files.Count > 1)
                {
                    GUIVideoFiles._stackedMovieFiles = files;
                    GUIVideoFiles._isStacked         = true;
                    GUIVideoFiles.MovieDuration(files);
                }
                else
                {
                    GUIVideoFiles._isStacked = false;
                }
                GUIVideoFiles.PlayMovie(movie.ID, false);
            }
        }
Beispiel #4
0
        internal void PlayMovie(int index)
        {
            GUIVideoFiles.Reset(); // reset pincode
            ArrayList files = new ArrayList();

            IMDBMovie movie = (IMDBMovie)latestMyVideosForPlay[index];

            VideoDatabase.GetFilesForMovie(movie.ID, ref files);

            if (files.Count > 1)
            {
                GUIVideoFiles.StackedMovieFiles = files;
                GUIVideoFiles.IsStacked         = true;
            }
            else
            {
                GUIVideoFiles.IsStacked = false;
            }

            GUIVideoFiles.MovieDuration(files, false);
            GUIVideoFiles.PlayMovie(movie.ID, false);
        }