示例#1
0
        public void HandleLyrics()
        {
            LyricsBox.Text = string.Empty;
            var track = window.CurrentTrack;

            if (track is null)
            {
                return;
            }
            // LRC file present
            if (File.Exists(Path.Combine(Path.GetDirectoryName(window.Player.FilePath), Path.GetFileNameWithoutExtension(window.Player.FilePath) + ".lrc")))
            {
                TimedLyrics = new LRCTimedLyricsProvider(window.Player.FilePath);
                Timer.Start();
                ScrollViewer.SetVerticalScrollBarVisibility(LyricsScrollViewer, ScrollBarVisibility.Hidden);
            }
            else if (!string.IsNullOrWhiteSpace(track.Lyrics.UnsynchronizedLyrics)) // Embedded untimed lyrics
            {
                LyricsBox.Text = track.Lyrics.UnsynchronizedLyrics;
                Timer.Stop();
                ScrollViewer.SetVerticalScrollBarVisibility(LyricsScrollViewer, ScrollBarVisibility.Auto);
            }
            else // No lyrics
            {
                LyricsBox.Text = Properties.Resources.LYRICS_NOLYRICS;
                Timer.Stop();
                ScrollViewer.SetVerticalScrollBarVisibility(LyricsScrollViewer, ScrollBarVisibility.Hidden);
            }
        }
示例#2
0
        public bool HandleLyrics()
        {
            if (string.IsNullOrEmpty(window.Player.FilePath))
            {
                return(false);
            }
            LyricsBox.Text = LyricsBoxMinus2.Text = LyricsBoxMinus1.Text = LyricsBoxPlus1.Text = LyricsBoxPlus2.Text = string.Empty;
            var track = new Track(window.Player.FilePath);

            if (track is null)
            {
                return(false);
            }
            // LRC file present
            if (File.Exists(Path.Combine(Path.GetDirectoryName(window.Player.FilePath), Path.GetFileNameWithoutExtension(window.Player.FilePath) + ".lrc")))
            {
                TimedLyrics = new LRCTimedLyricsProvider(window.Player.FilePath);
                Timer.Start();
                ScrollViewer.SetVerticalScrollBarVisibility(LyricsScrollViewer, ScrollBarVisibility.Hidden);
                LyricsBoxMinus2.Visibility = LyricsBoxMinus1.Visibility = LyricsBoxPlus1.Visibility = LyricsBoxPlus2.Visibility = Visibility.Visible;
                LyricsBox.FontWeight       = FontWeights.Bold;
                return(true);
            }
            else if (!string.IsNullOrWhiteSpace(track.Lyrics.UnsynchronizedLyrics)) // Embedded untimed lyrics
            {
                LyricsBox.Text = track.Lyrics.UnsynchronizedLyrics;
                Timer.Stop();
                ScrollViewer.SetVerticalScrollBarVisibility(LyricsScrollViewer, ScrollBarVisibility.Auto);
                LyricsBoxMinus2.Visibility = LyricsBoxMinus1.Visibility = LyricsBoxPlus1.Visibility = LyricsBoxPlus2.Visibility = Visibility.Collapsed;
                LyricsBox.FontWeight       = FontWeights.Regular;
                return(true);
            }
            else // No lyrics
            {
                LyricsBox.Text = Properties.Resources.LYRICS_NOLYRICS;
                Timer.Stop();
                ScrollViewer.SetVerticalScrollBarVisibility(LyricsScrollViewer, ScrollBarVisibility.Hidden);
                LyricsBoxMinus2.Visibility = LyricsBoxMinus1.Visibility = LyricsBoxPlus1.Visibility = LyricsBoxPlus2.Visibility = Visibility.Collapsed;
                LyricsBox.FontWeight       = FontWeights.Regular;
                return(false);
            }
        }
        public void Update()
        {
            var track = new Track(MainWindow.Player.FilePath);

            CoverArt = track.EmbeddedPictures.Count <= 0 ? null : new Bitmap(new MemoryStream(track.EmbeddedPictures[0].PictureData));

            if (File.Exists(Path.Combine(Path.GetDirectoryName(MainWindow.Player.FilePath), Path.GetFileNameWithoutExtension(MainWindow.Player.FilePath) + ".lrc")))
            {
                TimedLyrics = new LRCTimedLyricsProvider(MainWindow.Player.FilePath);
                Text        = string.Empty;
            }
            else if (!string.IsNullOrWhiteSpace(track.Lyrics.UnsynchronizedLyrics)) // Embedded untimed lyrics
            {
                Text        = track.Lyrics.UnsynchronizedLyrics;
                TimedLyrics = null;
            }
            else // No lyrics
            {
                Text        = Properties.Resources.Lyrics_NoLyrics;
                TimedLyrics = null;
            }
        }
示例#4
0
 private void Player_SongStopped(object sender, EventArgs e)
 {
     Timer.Stop();
     TimedLyrics = null;
 }