예제 #1
0
        private bool Next()
        {
            if (openedProject != null)
            {
                MessagePopup.PopupMessage(playlistWidget as Gtk.Widget, MessageType.Error,
                                          Catalog.GetString("Please, close the opened project to play the playlist."));
                Stop();
                return(false);
            }

            if (!playlist.HasNext())
            {
                Stop();
                return(false);
            }

            var plNode = playlist.Next();

            playlistWidget.SetActivePlay(plNode, playlist.GetCurrentIndex());

            if (!plNode.Valid)
            {
                return(Next());
            }

            LoadPlaylistPlay(plNode);
            return(true);
        }
예제 #2
0
        private void LoadPlaylistPlay(PlayListPlay play)
        {
            if (OpenedProject != null)
            {
                guiToolkit.ErrorMessage(Catalog.GetString(
                                            "Please, close the opened project to play the playlist."));
                Stop();
                return;
            }

            StartClock();
            player.SetPlayListElement(play.MediaFile.FilePath, play.Start.MSeconds,
                                      play.Stop.MSeconds, play.Rate, playlist.HasNext());
            selectedTimeNode = play;
            playlist.SetActive(play);
            playlistWidget.SetActivePlay(play, playlist.GetCurrentIndex());
        }