public static void play_pause(Mp3_Container container) { if (container.trackers.nowPlayingRow < 0) { return; } if (container.booleans.isPlaying && !container.booleans.isPaused) { container.player.wmplayer.controls.pause(); container.booleans.isPaused = true; container.booleans.isPlaying = false; container.player.timer.Stop(); if (container.songlists.nowPlaying.equals(Create.createSelectedSong(container))) { GuiControl.changePlayPicture(container); } } else if (!container.booleans.isPlaying && container.booleans.isPaused) { container.player.wmplayer.controls.play(); container.booleans.isPaused = false; container.booleans.isPlaying = true; container.player.timer.Start(); if (container.songlists.nowPlaying.equals(Create.createSelectedSong(container))) { GuiControl.changePlayPicture(container); } } }
public static void next(Mp3_Container container) { stop(container); container.gui.songList.SelectedRows[0].Selected = false; if (container.gui.shuffle.Checked) { SongControl.shuffleSong(container); } else { container.trackers.nowPlayingRow++; if (container.trackers.nowPlayingRow >= container.gui.songList.RowCount && container.gui.repeatAll.Checked) { container.trackers.nowPlayingRow = 0; } else if (container.gui.repeat.Checked) { container.trackers.nowPlayingRow--; } else if (container.trackers.nowPlayingRow >= container.gui.songList.RowCount && !container.gui.repeatAll.Checked) { return; } else { SongControl.play(container); } } SongControl.play(container); if (container.songlists.nowPlaying != null) { GuiControl.fillLabels(container); } }
public static void setupPlay(Mp3_Container container) { if (container.gui.songList.SelectedRows.Count == 0) { return; } if (container.songlists.nowPlaying != null && container.songlists.nowPlaying.equals(Create.createSelectedSong(container))) { SongControl.play_pause(container); return; } if (container.trackers.nowPlayingRow == -1 || (container.trackers.nowPlayingRow != container.gui.songList.SelectedRows[0].Index)) { container.trackers.nowPlayingRow = container.gui.songList.SelectedRows[0].Index; } if (container.gui.shuffle.Checked) { SongControl.shuffleSong(container); } else if (container.gui.songList.SelectedRows.Count == 0) { DataGridViewRow row = container.gui.songList.Rows[0]; row.Selected = true; if (Miscellaneous.checkNull(row)) { return; } container.trackers.nowPlayingRow = row.Index; } stop(container); SongControl.play(container); GuiControl.fillLabels(container); }
public static void previous(Mp3_Container container, MouseEventArgs e) { if (container.trackers.listPosition == -1) { return; } container.trackers.listPosition--; if (e.Clicks > 1) { if (container.trackers.listPosition < 0 && container.gui.repeat.Checked) { container.trackers.listPosition = 0; container.trackers.nowPlayingRow = container.songlists.previousSongsPlaylist.ElementAt(container.trackers.listPosition).Item2; } else if (container.trackers.listPosition >= 0 && container.gui.repeat.Checked) { container.trackers.listPosition++; } else if (container.trackers.listPosition < 0) { stop(container); return; } container.trackers.nowPlayingRow = container.songlists.previousSongsPlaylist.ElementAt(container.trackers.listPosition).Item2; stop(container); SongControl.play(container); } else { if ((container.trackers.listPosition < 0 && container.gui.repeat.Checked) || container.gui.repeat.Checked || container.player.progressBar.Value >= 3) { container.trackers.listPosition++; } else if (container.trackers.listPosition < 0) { stop(container); return; } container.trackers.nowPlayingRow = container.songlists.previousSongsPlaylist.ElementAt(container.trackers.listPosition).Item2; stop(container); SongControl.play(container); } if (container.songlists.nowPlaying != null) { GuiControl.fillLabels(container); } }
public static void stop(Mp3_Container container) { container.player.wmplayer.controls.stop(); container.player.timeLabel.Text = "00:00:00 / 00:00:00"; container.player.timer.Enabled = false; container.player.timer.Stop(); container.trackers.time = 0; container.player.progressBar.Value = 0; container.booleans.isPlaying = false; container.booleans.isPaused = false; GuiControl.changePlayPicture(container); container.songlists.nowPlaying = null; container.labels.songTitle.Text = ""; container.labels.arist.Text = ""; container.labels.album.Text = ""; container.labels.genre.Text = ""; }
public static void play(Mp3_Container container) { DataGridViewRow row = container.gui.songList.Rows[container.trackers.nowPlayingRow]; if (Miscellaneous.checkNull(row)) { return; } container.gui.songList.CurrentCell = container.gui.songList[1, row.Index]; row.Selected = true; container.songlists.nowPlaying = Create.createAsong(container, row); if (container.trackers.listPosition != -1) { if (container.songlists.previousSongsPlaylist.ElementAt(container.trackers.listPosition).Item1.equals(container.songlists.nowPlaying)) { } else { container.trackers.listPosition++; container.songlists.previousSongsPlaylist.Add(new Tuple <SongDetails, int>(container.songlists.nowPlaying, row.Index)); } } else { container.trackers.listPosition++; container.songlists.previousSongsPlaylist.Add(new Tuple <SongDetails, int>(container.songlists.nowPlaying, row.Index)); } container.player.wmplayer.URL = container.songlists.nowPlaying.Path; container.player.timeLabel.Text = "00:00:00 / " + container.songlists.nowPlaying.Length; container.player.progressBar.Maximum = Miscellaneous.totalTime(container.songlists.nowPlaying.Length); container.player.progressBar.Value = 0; container.player.timer.Enabled = false; container.player.timer.Stop(); container.player.wmplayer.controls.play(); container.player.timer.Enabled = true; container.player.timer.Start(); container.booleans.isPlaying = true; container.booleans.isPaused = false; GuiControl.changePlayPicture(container); }
public static void ratingDescending(Mp3_Container container) { container.gui.sortOptions.ratingDescending.Checked = true; container.gui.sortOptions.nameAscending.Checked = false; container.gui.sortOptions.nameDescending.Checked = false; container.gui.sortOptions.lengthAscending.Checked = false; container.gui.sortOptions.lengthDescending.Checked = false; container.gui.sortOptions.artistAscending.Checked = false; container.gui.sortOptions.artistDescending.Checked = false; container.gui.sortOptions.albumAscending.Checked = false; container.gui.sortOptions.albumDescending.Checked = false; container.gui.sortOptions.yearAscending.Checked = false; container.gui.sortOptions.yearDescending.Checked = false; container.gui.sortOptions.genreAscending.Checked = false; container.gui.sortOptions.genreDescending.Checked = false; container.gui.sortOptions.playsAscending.Checked = false; container.gui.sortOptions.playsDescending.Checked = false; container.gui.sortOptions.ratingAscending.Checked = false; GuiControl.sort(container, "Rating"); }
public static void createSong(Mp3_Container container, String file) { TagLib.File f = TagLib.File.Create(file); SongDetails song; if (f.Tag.Performers.Length == 0) { song = new SongDetails(f.Tag.Title, f.Tag.AlbumArtists[0], null, f.Tag.Album, f.Tag.Genres[0], f.Properties.Duration.ToString(), 0, 0, file, f.Tag.Track.ToString(), f.Tag.Year.ToString()); } else { song = new SongDetails(f.Tag.Title, f.Tag.AlbumArtists[0], f.Tag. Performers, f.Tag.Album, f.Tag.Genres[0], f.Properties.Duration.ToString(), 0, 0, file, f.Tag.Track.ToString(), f.Tag.Year.ToString()); } if (!Contains.xmlContainsSong(container, song)) { container.gui.songList.Rows.Insert(0, 0, song.SongName, song.Length, song.Artist, song.Album, song.Track, song.Year, song.Genre, song.Plays, song.Rating, song.Path); container.songlists.masterSongList.Add(song); container.songlists.currentPlaylist.Add(song); XmlElement parent = container.xmlFile.xml.CreateElement("Song"); XmlElement userElem = container.xmlFile.xml.CreateElement("name"); XmlText text = container.xmlFile.xml.CreateTextNode(song.SongName); parent.AppendChild(userElem); parent.LastChild.AppendChild(text); userElem = container.xmlFile.xml.CreateElement("artist"); text = container.xmlFile.xml.CreateTextNode(song.Artist); parent.AppendChild(userElem); parent.LastChild.AppendChild(text); userElem = container.xmlFile.xml.CreateElement("album"); text = container.xmlFile.xml.CreateTextNode(song.Album); parent.AppendChild(userElem); parent.LastChild.AppendChild(text); userElem = container.xmlFile.xml.CreateElement("track"); text = container.xmlFile.xml.CreateTextNode(song.Track); parent.AppendChild(userElem); parent.LastChild.AppendChild(text); userElem = container.xmlFile.xml.CreateElement("year"); text = container.xmlFile.xml.CreateTextNode(song.Year); parent.AppendChild(userElem); parent.LastChild.AppendChild(text); userElem = container.xmlFile.xml.CreateElement("genre"); text = container.xmlFile.xml.CreateTextNode(song.Genre); parent.AppendChild(userElem); parent.LastChild.AppendChild(text); userElem = container.xmlFile.xml.CreateElement("length"); text = container.xmlFile.xml.CreateTextNode(song.Length); parent.AppendChild(userElem); parent.LastChild.AppendChild(text); userElem = container.xmlFile.xml.CreateElement("rating"); text = container.xmlFile.xml.CreateTextNode(song.Rating.ToString()); parent.AppendChild(userElem); parent.LastChild.AppendChild(text); userElem = container.xmlFile.xml.CreateElement("plays"); text = container.xmlFile.xml.CreateTextNode(song.Plays.ToString()); parent.AppendChild(userElem); parent.LastChild.AppendChild(text); userElem = container.xmlFile.xml.CreateElement("path"); text = container.xmlFile.xml.CreateTextNode(song.Path); parent.AppendChild(userElem); parent.LastChild.AppendChild(text); container.xmlFile.xml.ChildNodes[1].ChildNodes[0].ChildNodes[0].AppendChild(parent); XmlTextWriter writer = new XmlTextWriter(container.xmlFile.userPath, null); writer.Formatting = Formatting.Indented; container.xmlFile.xml.Save(writer); writer.Close(); } else { MessageBox.Show("The Song" + '\n' + file + '\n' + "has already been added", "Song has been added"); } GuiControl.sort(container, container.trackers.lastSortParam); }
public static void search(Mp3_Container container, Tuple <String, int> field) { bool broke = false; List <DataGridViewRow> rows = new List <DataGridViewRow>(); rows.Clear(); foreach (SongDetails song in container.songlists.currentPlaylist) { String find = ""; switch (field.Item1) { case "Song Name": find = song.SongName; break; case "Length": find = song.Length; break; case "Artist": find = song.Artist; break; case "Album": find = song.Album; break; case "Genre": find = song.Genre; break; case "Plays": find = song.Plays.ToString(); break; case "Rating": find = song.Rating.ToString(); break; case "Year": find = song.Year.ToString(); break; } if (find.ToUpper().Contains(container.gui.searchTextBox.Text.ToUpper())) { DataGridViewRow row = new DataGridViewRow(); row.CreateCells(container.gui.songList); row.Cells[0].Value = 0; row.Cells[1].Value = song.SongName; row.Cells[2].Value = song.Length; row.Cells[3].Value = song.Artist; row.Cells[4].Value = song.Album; row.Cells[5].Value = song.Track; row.Cells[6].Value = song.Year; row.Cells[7].Value = song.Genre; row.Cells[8].Value = song.Plays; row.Cells[9].Value = song.Rating; row.Cells[10].Value = song.Path; rows.Add(row); } } if (broke) { return; } else { container.gui.songList.Rows.Clear(); container.gui.songList.Rows.InsertRange(0, rows.ToArray()); GuiControl.sort(container, container.trackers.lastSortParam); } }