/// <summary> /// Ajoute la musique passée en paramètre à la librarie sauf si elle est déjà présente. /// Appelle "AddArtist" si l'artiste n'est pas déjà présent dans la librairie. /// Appelle "AddSong" de l'artiste saisie. /// Si un album a été saisie, /// appelle "AddAlbum" si l'album n'est pas déjà présent dans la librairie. /// appelle "AddSong" de l'album saisie. /// </summary> /// <param name="Track"></param> public void AddSong(Song Track) { if (Track == null) { return; } if (ListSong.Contains(Track)) { Console.WriteLine("Cette musique est déjà présente dans la librarie"); return; } ListSong.Add(Track); Length = Length.Addition(Track.Length); if (!ListArtist.Contains(Track.Artist)) { AddArtist(Track.Artist); } ListArtist[ListArtist.IndexOf(Track.Artist)].AddSong(Track); if (Track.Album.Name != "Unknown") { if (!ListAlbum.Contains(Track.Album)) { AddAlbum(Track.Album); } ListAlbum[ListAlbum.IndexOf(Track.Album)].AddSong(Track); } }
public async Task Show_PickerAsync(object obj) { var picker = new Windows.Storage.Pickers.FileOpenPicker(); picker.ViewMode = Windows.Storage.Pickers.PickerViewMode.Thumbnail; picker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.PicturesLibrary; picker.FileTypeFilter.Add(".mp3"); picker.FileTypeFilter.Add(".mp4"); picker.FileTypeFilter.Add(".webm"); Windows.Storage.StorageFile file = await picker.PickSingleFileAsync(); if (file != null) { // Application now has read/write access to the picked file string[] namedetail = file.Name.Split('.'); Song addsong = new Song { Name = namedetail[0], Path = file.Path }; Windows.Storage.FileProperties.BasicProperties basicProperties = await file.GetBasicPropertiesAsync(); string fileSize = string.Format("{0:n0}", basicProperties.Size); Debug.WriteLine(fileSize); ListSong.Add(addsong); DatabaseService.Instance().DB.SongDao.Insert(addsong); /* DatabaseService.Instance().DB.PlaylistDao.addSong(addsong,);*/ /* Messenger.Default.Send<MessengerBus>(new MessengerBus() { NameSong = namedetail[0], Path = file.Path });*/ } /* var file = await picker.PickMultipleFilesAsync();*/ }
/// <summary> /// Supprime la musique passée en paramètre de la toute la librarie sauf si elle n'est pas présente dedans. /// </summary> /// <param name="Track"></param> public void DeleteSong(Song Track) { ListSong.Remove(Track); Length = Length.Substraction(Track.Length); if (Track.Album.Name != "Unknown") { int i; i = ListAlbum.IndexOf(Track.Album); ListAlbum[i].DeleteSong(Track); if (ListAlbum[i].ListSong.Count() == 0) { DeleteAlbum(ListAlbum[i]); } } foreach (var playlist in ListPlaylist) { if (playlist.ListSong.Contains(Track)) { playlist.DeleteSong(Track); } } int it; it = ListArtist.IndexOf(Track.Artist); ListArtist[it].DeleteSong(Track); if (ListArtist[it].ListSong.Count == 0) { DeleteArtist(Track.Artist); } }
public void delete() { DatabaseService.Instance().DB.SongDao.Delete(ListSong[SelectTaskListIndex].Id); ListSong.Remove(ListSong[_id]); /* Debug.WriteLine(ListSong[_id].Id);*/ /* loadListSong();*/ }
private void ListSong_DoubleClick(object sender, MouseEventArgs e) { if (!_songFiles.Any()) { Effects.Visible = false; } else { if (Effects.Visible == false) { btPlay.Image = Properties.Resources.Play; Effects.Visible = true; } else { //btPlay.Image = Properties.Resources.Pause; Effects.Visible = true; } int index = ListSong.IndexFromPoint(e.Location); _songIndex = ListSong.SelectedIndex; if (index != ListBox.NoMatches) { //lblTitle.Text = ListSong.SelectedItem.ToString(); if (_waveOutDevice == null) { PlaySong(_songIndex); } else if (_waveOutDevice != null) { _waveOutDevice.Stop(); PlaySong(_songIndex); } } } }