private void addToNowPlaying_Click(object sender, RoutedEventArgs e) { MenuFlyoutItem item = sender as MenuFlyoutItem; if (item != null) { Song song = item.DataContext as Song; Album album = item.DataContext as Album; Artist artist = item.DataContext as Artist; if (song != null) { NowPlayingManager.AddToNowPlaying(song); } else if (album != null) { NowPlayingManager.AddToNowPlaying(album); } else if (artist != null) { NowPlayingManager.AddToNowPlaying(artist); } if (Settings.Instance.AddToNowPlayingSwitchesView) { this.Frame.Navigate(typeof(NowPlaying), null); } } }
private void previousButton_Click() { if (NowPlayingManager.SkipToPreviousSong(Dispatcher, NowPlayingInformation.CurrentPlaylist)) { ResumeLayout(); } }
private void addToNowPlaying_Click(object sender, RoutedEventArgs e) { NowPlayingManager.AddToNowPlaying(_currentArtist); if (Settings.Instance.AddToNowPlayingSwitchesView) { SwitchToNowPlayingView(null); } }
private void positionSlider_PointerCaptureLost(object sender, PointerRoutedEventArgs e) { _userScanning = false; if (_beforeScanWasPlaying) { BackgroundMediaPlayer.Current.Play(); } NowPlayingManager.Seek(positionSlider.Value); }
public void EnsurePlayback() { if (!NowPlayingManager.IsAudioPlaying) { if (NowPlayingManager.PlayCurrentSong(Dispatcher)) { ResumeLayout(); } } }
private void shuffleButton_Tapped(object sender, TappedRoutedEventArgs e) { NowPlayingInformation.ShuffleEnabled = !NowPlayingInformation.ShuffleEnabled; SolidColorBrush accentBrush = (SolidColorBrush)App.Current.Resources["PhoneAccentBrush"]; shuffleButton.Foreground = NowPlayingInformation.ShuffleEnabled ? accentBrush : new SolidColorBrush(Colors.White); NowPlayingInformation.CurrentPlaylist = NowPlayingInformation.CurrentPlaylist; NowPlayingManager.ReplaySong(Dispatcher); NowPlayingInformation_OnCurrentPlaylistUpdated(); }
private void playButton_Click() { if (!NowPlayingManager.IsAudioPlaying) { if (NowPlayingManager.PlayCurrentSong(Dispatcher)) { ResumeLayout(); } } else { NowPlayingManager.PauseCurrentSong(); } }
private void albumArtList_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (_programChangingScrollViewer.IsSet) { _programChangingScrollViewer.Reset(); if (albumArtList.SelectedIndex != -1) { if (NowPlayingManager.SkipToSong(albumArtList.SelectedIndex, Dispatcher)) { ResumeLayout(); } } } }
private void NavigationHelper_LoadState(object sender, LoadStateEventArgs e) { if (e.NavigationParameter == null) { //This signifies that we should play the current playlist if (!e.IsNavigatingBack) { nowPlayingControl.NowPlayingInformation_OnCurrentPlaylistUpdated(); } nowPlayingControl.EnsurePlayback(); return; } Playlist playlist = new Playlist(); int currentSongIndex = 0; if (e.NavigationParameter is Artist) { Artist artist = (Artist)e.NavigationParameter; playlist.Songs = new List <Song>(MusicLibrary.Instance.GetSongs(artist)); } else if (e.NavigationParameter is Album) { Album album = (Album)e.NavigationParameter; playlist.Songs = new List <Song>(MusicLibrary.Instance.GetSongs(album)); } else if (e.NavigationParameter is Song) { Song song = (Song)e.NavigationParameter; playlist.Songs.Add(song); } else if (e.NavigationParameter is KeyValuePair <Album, int> ) { KeyValuePair <Album, int> kvp = ((KeyValuePair <Album, int>)e.NavigationParameter); playlist.Songs = new List <Song>(MusicLibrary.Instance.GetSongs(kvp.Key)); currentSongIndex = kvp.Value; } else if (e.NavigationParameter is KeyValuePair <Playlist, int> ) { KeyValuePair <Playlist, int> kvp = ((KeyValuePair <Playlist, int>)e.NavigationParameter); playlist = kvp.Key; currentSongIndex = kvp.Value; } NowPlayingManager.BeginPlaylist(Dispatcher, playlist, currentSongIndex); nowPlayingControl.NowPlayingInformation_OnCurrentPlaylistUpdated(); }
public void Run(IBackgroundTaskInstance taskInstance) { nowPlayingManager = new NowPlayingManager(); systemControls = SystemMediaTransportControls.GetForCurrentView(); systemControls.ButtonPressed += HandleButtonPressed; systemControls.PropertyChanged += HandlePropertyChanged; systemControls.IsEnabled = true; systemControls.IsPauseEnabled = true; systemControls.IsPlayEnabled = true; systemControls.IsPreviousEnabled = true; systemControls.IsNextEnabled = true; taskInstance.Canceled += new BackgroundTaskCanceledEventHandler(OnCanceled); taskInstance.Task.Completed += HandleTaskCompleted; var value = ApplicationSettingsHelper.ReadResetSettingsValue(AppConstants.AppState); if (value == null) { foregroundTaskStatus = ForegroundTaskStatus.Unknown; } else { foregroundTaskStatus = (ForegroundTaskStatus)Enum.Parse(typeof(ForegroundTaskStatus), value.ToString()); } BackgroundMediaPlayer.Current.CurrentStateChanged += BGCurrentStateChanged; BackgroundMediaPlayer.MessageReceivedFromForeground += MessageReceivedFromForeground; //taskInstance.Task.Progress += HandleTaskProgress; if (foregroundTaskStatus != ForegroundTaskStatus.Suspended) { ValueSet message = new ValueSet(); message.Add(AppConstants.BackgroundTaskStarted, ""); BackgroundMediaPlayer.SendMessageToForeground(message); } backgroundTaskStarted.Set(); backgroundTaskStatus = true; ApplicationSettingsHelper.SaveSettingsValue(AppConstants.BackgroundTaskState, AppConstants.BackgroundTaskRunning); shutdown = false; deferral = taskInstance.GetDeferral(); }
private void addSongToNowPlaying_Click(object sender, RoutedEventArgs e) { MenuFlyoutItem item = sender as MenuFlyoutItem; if (item != null) { Song song = item.DataContext as Song; if (song != null) { NowPlayingManager.AddToNowPlaying(song); if (Settings.Instance.AddToNowPlayingSwitchesView) { SwitchToNowPlayingView(null); } } } }
private void addPlaylistToNowPlaying_Click(object sender, RoutedEventArgs e) { MenuFlyoutItem item = sender as MenuFlyoutItem; if (item != null) { Playlist playlist = item.DataContext as Playlist; if (playlist != null) { NowPlayingManager.AddToNowPlaying(playlist); if (Settings.Instance.AddToNowPlayingSwitchesView) { SwitchToNowPlayingView(new KeyValuePair <Playlist, int>(playlist, 0)); } } } }
private void OnCanceled(IBackgroundTaskInstance sender, BackgroundTaskCancellationReason reason) { try { BackgroundMediaPlayer.Current.Pause(); BackgroundMediaPlayer.MessageReceivedFromForeground -= MessageReceivedFromForeground; if (shutdown) { ApplicationSettingsHelper.SaveSettingsValue(AppConstants.Position, TimeSpan.Zero.ToString()); } else { ApplicationSettingsHelper.SaveSettingsValue(AppConstants.Position, BackgroundMediaPlayer.Current.Position.ToString()); } nowPlayingManager.RemoveHandlers(); nowPlayingManager = null; ApplicationSettingsHelper.SaveSettingsValue(AppConstants.BackgroundTaskState, AppConstants.BackgroundTaskCancelled); ApplicationSettingsHelper.SaveSettingsValue(AppConstants.AppState, Enum.GetName(typeof(ForegroundTaskStatus), foregroundTaskStatus)); backgroundTaskStatus = false; //unsubscribe event handlers systemControls.ButtonPressed -= HandleButtonPressed; systemControls.PropertyChanged -= HandlePropertyChanged; if (!shutdown) { BackgroundMediaPlayer.Shutdown(); // shutdown media pipeline } } catch (Exception ex) { NextPlayerDataLayer.Diagnostics.Logger.SaveBG("Audio Player OnCanceled " + "\n" + "Message: " + ex.Message + "\n" + "Link: " + ex.HelpLink); NextPlayerDataLayer.Diagnostics.Logger.SaveToFileBG(); } deferral.Complete(); // signals task completion. }
private void nextButton_Click() { NowPlayingManager.SkipToNextSong(Dispatcher, NowPlayingInformation.CurrentPlaylist); ResumeLayout(); }