示例#1
0
        public SongCreator()
        {
            Song = new SongPlaying();
            string nowPlayingSTR = WinampFrontEndLib.WinampLib.GetCurrentSongTitle();

            Song.FullTitle = nowPlayingSTR;

            if (nowPlayingSTR.Contains("#"))
            {
                nowPlayingSTR = nowPlayingSTR.Remove(nowPlayingSTR.IndexOf("#"));
            }

            if (nowPlayingSTR.StartsWith("NEW"))
            {
                nowPlayingSTR = nowPlayingSTR.Replace("NEW -", "");
            }
            else if (nowPlayingSTR.StartsWith("New"))
            {
                nowPlayingSTR = nowPlayingSTR.Replace("New -", "");
            }

            string regex = "(\\[.*\\])|(\".*\")|('.*')|(\\(.*\\))";

            regex = @" ?\[.*?\]| ?\(.*?\)| ?\'| ?\"".*?\""";
            regex = @" ?\[.*?\]| ?\(.*?\)| ?\"".*?\""";

            nowPlayingSTR = Regex.Replace(nowPlayingSTR, regex, "");
            string[] split = nowPlayingSTR.Split('-');

            int startIndex = 0;

            if (int.TryParse(split[0].Replace("/", ""), out int numAux))
            {
                startIndex = 1;
            }

            Song.Artist = split[startIndex].Trim();
            Song.Album  = split[startIndex + 1].Trim();
            Song.Album  = Song.Album.Replace("*", "");
            if (split.Length > 2)
            {
                Song.Title = split[startIndex + 2].Trim();
            }
            else
            {
                Song.Title = split[startIndex + 1].Trim();
            }

            string artistName     = Song.Artist;
            string songNameSearch = Song.Title;

            Song.Album = Regex.Replace(Song.Album, regex, "");
            string regex2 = @" ?\(.*?$";

            Song.Album = Regex.Replace(Song.Album, regex2, "");
            Song.Album = Song.Album.Replace("[", "").Trim();
        }
        public void Play(int index = 0)
        {
            _current = _songs[index];

            _reader = new AudioFileReader(_current.FullPath(_basePath));
            _player.Init(_reader);
            _player.Play();
            SongPlaying?.Invoke(this, new EventArgs());
        }
示例#3
0
        /// <summary>
        /// Plays the first song in the list, then moves to the next
        /// </summary>
        public void Play(int index = 0)
        {
            _player.Stop();

            Current = this[index];

            _reader?.Dispose();
            _reader = new Mp3FileReader(Path.Combine(_basePath, Current.Path));

            _player.Init(_reader);
            _player.Play();
            SongPlaying?.Invoke(Current, new EventArgs());
        }
示例#4
0
        /// <summary>
        /// Event handler
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void SongMenuEntrySelected(object sender, PlayerIndexEventArgs e)
        {
            _currentSong++;
            if (_currentSong > SongPlaying.Aaaaa)
            {
                _currentSong = 0;
            }

            MediaPlayer.IsRepeating = true;

            switch (_currentSong)
            {
            case SongPlaying.None:
                MediaPlayer.Stop();
                break;

            //case SongPlaying.Default:
            //    MediaPlayer.Stop();
            //    //
            //    break;
            case SongPlaying.Stage_1:
                MediaPlayer.Stop();
                MediaPlayer.Play(stage1);
                break;

            case SongPlaying.Eight_Bit_Raceway:
                MediaPlayer.Stop();
                MediaPlayer.Play(eightBit);
                break;

            case SongPlaying.Boss_Theme:
                MediaPlayer.Stop();
                MediaPlayer.Play(bossTheme);
                break;

            case SongPlaying.Aaaaa:
                MediaPlayer.Stop();
                MediaPlayer.Play(aaaaa);
                break;
            }

            SetMenuEntryText();
        }
示例#5
0
//FreightTrain Click Handler
        private void PlayFreightTrain_Click(object sender, RoutedEventArgs e)
        {
            //When no song is playing
            if (song == SongPlaying.None)
            {
                state = MediaState.Playing;
                song  = SongPlaying.FreightTrain;
                freightTrain_MediaElement.Play();
            }
            else if (song == SongPlaying.FreightTrain)
            {
                state = MediaState.Paused;
                song  = SongPlaying.None;
                freightTrain_MediaElement.Pause();
            }
            else if (song == SongPlaying.BradGuitar)
            {
                state = MediaState.Playing;
                song  = SongPlaying.FreightTrain;
                bradGuitar_MediaElement.Pause();
                freightTrain_MediaElement.Play();
            }
            else if (song == SongPlaying.WagonWheel)
            {
                state = MediaState.Playing;
                song  = SongPlaying.FreightTrain;
                wagonWheel_MediaElement.Pause();
                freightTrain_MediaElement.Play();
            }
            else if (song == SongPlaying.KathyMov)
            {
                state = MediaState.Playing;
                song  = SongPlaying.FreightTrain;
                kathyMov_MediaElement.Pause();
                freightTrain_MediaElement.Play();
            }
        }