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()); }
/// <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()); }
/// <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(); }
//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(); } }