private async void PlayAll(object sender, RoutedEventArgs e) { var queueSongs = App.Locator.CollectionArtist.Artist.Songs.ToList(); if (queueSongs != null && queueSongs.Count > 0) { await PlayAndQueueHelper.PlaySongsAsync(queueSongs[0], queueSongs, true); } }
//private int _prevIndex = -1; //private async void SongsOnCollectionChanged(object sender, NotifyCollectionChangedEventArgs e) //{ // if (e.Action == NotifyCollectionChangedAction.Add && _prevIndex != -1) // { // //an item was move using reorder // await _service.MovePlaylistFromToAsync(Playlist, _prevIndex, e.NewStartingIndex); // } // if (e.Action == NotifyCollectionChangedAction.Remove) // _prevIndex = e.OldStartingIndex; // else // _prevIndex = -1; //} private async void SongClickExecute(ItemClickEventArgs e) { var queueSongs = _playlist.Songs.Select(p => p.Song).ToList(); var clickedsong = (e.ClickedItem as PlaylistSong).Song; if (queueSongs != null && queueSongs.Count > 0) { await PlayAndQueueHelper.PlaySongsAsync(clickedsong, queueSongs, true); } }
private async void ShuffleAll(object sender, RoutedEventArgs e) { App.Locator.PBar.IsEnable = true; await DispatcherHelper.RunAsync(async() => { var list = App.Locator.CollectionPlaylist.Playlist.Songs.Select(p => p.Song).ToList().Shuffle().ToList(); await PlayAndQueueHelper.PlaySongsAsync(list[0], list); App.Locator.PBar.IsEnable = false; }); }
private async void SongClickExecute(ItemClickEventArgs e) { Song s = e.ClickedItem as Song; var queueSongs = Artist.Songs.ToList(); int index = queueSongs.IndexOf(s); queueSongs = queueSongs.Skip(index).ToList(); if (queueSongs != null && queueSongs.Count > 0) { await PlayAndQueueHelper.PlaySongsAsync(s, queueSongs, true); } }
private async void HistorySongClick(object sender, ItemClickEventArgs e) { Song s = e.ClickedItem as Song; var queueSongs = App.Locator.HomePage.History.ToList(); int index = queueSongs.IndexOf(s); queueSongs = queueSongs.Skip(index).ToList(); //var queueSongs = App.Locator.HomePage.History; if (queueSongs != null && queueSongs.Count > 0) { await PlayAndQueueHelper.PlaySongsAsync(s, queueSongs, true); } }
private async void songsSearchListClicked(object sender, ItemClickEventArgs e) { await DispatcherHelper.RunAsync(async() => { SheetUtility.CloseSearchCollectionPage(); Song s = e.ClickedItem as Song; var queueSongs = App.Locator.CollectionSearch.Songs.ToList(); int index = queueSongs.IndexOf(s); queueSongs = queueSongs.Skip(index).ToList(); if (queueSongs != null && queueSongs.Count > 0) { await PlayAndQueueHelper.PlaySongsAsync(s, queueSongs, true); } }); }
async void PlayClicked(object sender, RoutedEventArgs e) { if (SongList.SelectedItems.Count > 0) { var tracks = SongList.SelectedItems.Cast <Song>().ToList(); await PlayAndQueueHelper.PlaySongsAsync(tracks[0], tracks, true); HardwareButtonsOnBackPressed(null, null); if (tracks != null) { tracks = null; } } else { ToastManager.ShowError("Select an item first."); } }
//add to queue private async void AddToQueueFlyoutItem_OnClick(object sender, RoutedEventArgs e) { if (App.Locator.Player.IsPlayerActive) { if (!_song.IsMatched) { ToastManager.ShowError("Can not add."); return; } await PlayAndQueueHelper.AddToQueueAsync(_song); } else { ToastManager.ShowError("Play any song before."); } //var currentTrack = App.Locator.Player.CurrentSong; //var queue = App.Locator.CollectionService.CurrentPlaybackQueue; //if (currentTrack.SongId == _song.Id) return; //if (queue.FirstOrDefault(p => p.SongId == _song.Id) != null) return; //if (App.Locator.Player.IsPlayerActive) //{ // App.Locator.AudioPlayerHelper.AddToQueueAsync(_song); // QueueSong newQueueSong = new QueueSong // { // SongName = _song.Name, // ArtistName = _song.ArtistName, // AlbumUri = _song.Album.Artwork.Uri, // IsStreaming = _song.IsStreaming, // AudioUrl = _song.AudioUrl, // SongId = _song.Id // }; // MessageService.SendMessageToBackground(new AddToPlaylistMessage(new List<QueueSong> { newQueueSong })); //} }
async void PlayClick(object sender, RoutedEventArgs e) { await PlayAndQueueHelper.PlaySongAsync(_song); }
private void DatabaseExceptionHelper(object sender, bool e) { PlayAndQueueHelper.Error(); MessageHelpers.ShowError("Unable to open databse file. We suggest reinstall Airstem.", "Database Error!!!"); }