public void When_no_item_playing_then_should_not_change_play_state() { var eventAgg = new Mock <IEventAggregator>(); var vm = new NowPlayingViewModel(eventAgg.Object, new Mock <IMediaItemPersister>().Object); Assert.IsFalse(vm.CanPlayPause); Assert.IsFalse(vm.CanStop); Assert.AreEqual(PlayerState.Stopped, vm.MediaPlayerState); vm.MediaPlayerState = PlayerState.Paused; Assert.AreEqual(PlayerState.Stopped, vm.MediaPlayerState); vm.MediaPlayerState = PlayerState.Playing; Assert.AreEqual(PlayerState.Stopped, vm.MediaPlayerState); // now, requesting an item to be played should allow the state change var media = new Mock <MediaItem>(); vm.Handle(new PlayRequestMessage(media.Object)); Assert.IsTrue(vm.CanPlayPause); Assert.IsTrue(vm.CanStop); vm.MediaPlayerState = PlayerState.Playing; Assert.AreEqual(PlayerState.Playing, vm.MediaPlayerState); Assert.AreEqual("Pause", vm.PlayPauseText); }
void slider_PointerCaptureLost(object sender, PointerRoutedEventArgs e) { NowPlayingViewModel viewModel = (NowPlayingViewModel)DataContext; viewModel.sliderpressed = false; viewModel.SendMessage(AppConstants.Position, TimeSpan.FromSeconds(progressbar.Value)); }
public CompactView() { InitializeComponent(); _viewModel = new NowPlayingViewModel(); this.DataContext = _viewModel; }
public NowPlayingView2() { this.InitializeComponent(); this.navigationHelper = new NavigationHelper(this); this.navigationHelper.LoadState += this.NavigationHelper_LoadState; this.navigationHelper.SaveState += this.NavigationHelper_SaveState; viewModel = (NowPlayingViewModel)DataContext; }
public NowPlayingPage() { InitializeComponent(); Loaded += new RoutedEventHandler(NowPlayingPage_Loaded); DataContext = new NowPlayingViewModel(this.Dispatcher); ((INotifyPropertyChanged)DataContext).PropertyChanged += new PropertyChangedEventHandler(NowPlayingPage_PropertyChanged); }
void progressbar_ValueChanged(object sender, Windows.UI.Xaml.Controls.Primitives.RangeBaseValueChangedEventArgs e) { NowPlayingViewModel viewModel = (NowPlayingViewModel)DataContext; if (!viewModel.sliderpressed) { viewModel.SendMessage(AppConstants.Position, TimeSpan.FromSeconds(e.NewValue)); } }
protected override void OnStart() { NowPlayingViewModel.GetInstance().AppOnResume(); object mode = service.GetDataFromProperties(FileState.PlayMode.ToString()); if (mode != null) { NowPlay.playMode = (PlayMode)Enum.Parse(typeof(PlayMode), mode.ToString()); } }
public ShellViewModel(IEnumerable <IAppWidget> widgets, IEventAggregator eventAgg, IWindowManager windowMgr, NowPlayingViewModel nowPlaying, NavigationBarViewModel navBar) { this.eventAgg = eventAgg; this.nowPlaying = nowPlaying; this.navBar = navBar; this.windowMgr = windowMgr; eventAgg.Subscribe(this); Widgets = new BindableCollection <IAppWidget>(widgets.OrderBy(x => x.Name)); ActivateWidget(Widgets.FirstOrDefault(a => a.Name == "Library")); }
public PlayerViewModel(AudioPlayerHelper helper, ICollectionService service, RootViewModel root, SettingViewModel settingViewModel, Helpers.CollectionCommandHelper commands, IAppSettingsHelper appSettingsHelper, NowPlayingViewModel _nowPlaying) { _helper = helper; _service = service; _root = root; _commands = commands; _appSettingsHelper = appSettingsHelper; SettingViewModel = settingViewModel; NowPlaying = _nowPlaying; Add(); }
public void When_media_is_opened_should_forward_to_previous_media_position() { var eventAgg = new Mock <IEventAggregator>(); var vm = new NowPlayingViewModel(eventAgg.Object, new Mock <IMediaItemPersister>().Object); var media = new MediaItem(); media.MediaPosition = 100; vm.Handle(new PlayRequestMessage(media)); Assert.AreEqual(0, vm.SliderPosition); vm.MediaOpened(); Assert.AreEqual(100, vm.SliderPosition); }
public void Given_item_playing_when_item_is_deleted_should_stop_playing() { var eventAgg = new Mock<IEventAggregator>(); var mediaItemPersister = new Mock<IMediaItemPersister>(); var vm = new NowPlayingViewModel(eventAgg.Object, mediaItemPersister.Object); var media1 = new MediaItem(); media1.IsDeleted = false; vm.Handle(new PlayRequestMessage(media1)); Assert.AreEqual(PlayerState.Playing, vm.MediaPlayerState); media1.IsDeleted = true; Assert.AreEqual(PlayerState.Stopped, vm.MediaPlayerState); Assert.AreEqual("(Nothing)", vm.CurrentlyPlaying); }
public void When_playing_then_playpause_should_be_pause_otherwise_should_be_play() { var eventAgg = new Mock <IEventAggregator>(); var media = new Mock <MediaItem>(); var vm = new NowPlayingViewModel(eventAgg.Object, new Mock <IMediaItemPersister>().Object); vm.Handle(new PlayRequestMessage(media.Object)); vm.MediaPlayerState = PlayerState.Stopped; Assert.AreEqual("Play", vm.PlayPauseText); vm.MediaPlayerState = PlayerState.Paused; Assert.AreEqual("Play", vm.PlayPauseText); vm.MediaPlayerState = PlayerState.Playing; Assert.AreEqual("Pause", vm.PlayPauseText); }
public void When_requesting_to_play_currently_playing_media_should_just_resume_playing() { var eventAgg = new Mock <IEventAggregator>(); var vm = new NowPlayingViewModel(eventAgg.Object, new Mock <IMediaItemPersister>().Object); var media = new MediaItem(); media.MediaPosition = 100; vm.Handle(new PlayRequestMessage(media)); Assert.AreEqual(0, vm.SliderPosition); Assert.AreEqual(PlayerState.Playing, vm.MediaPlayerState); vm.SliderPosition = 10; vm.Handle(new PlayRequestMessage(media)); Assert.AreEqual(10, vm.SliderPosition); Assert.AreEqual(PlayerState.Playing, vm.MediaPlayerState); }
public void Given_a_new_item_to_play_should_persist_the_previously_playing_item() { var eventAgg = new Mock<IEventAggregator>(); var mediaItemPersister = new Mock<IMediaItemPersister>(); var vm = new NowPlayingViewModel(eventAgg.Object, mediaItemPersister.Object); var media1 = new MediaItem(); vm.Handle(new PlayRequestMessage(media1)); var media2 = new MediaItem(); vm.Handle(new PlayRequestMessage(media2)); mediaItemPersister.Verify(p => p.Save(media1)); vm.Handle(new PlayRequestMessage(media1)); mediaItemPersister.Verify(p => p.Save(media2)); }
public void Given_item_playing_when_item_is_deleted_should_stop_playing() { var eventAgg = new Mock <IEventAggregator>(); var mediaItemPersister = new Mock <IMediaItemPersister>(); var vm = new NowPlayingViewModel(eventAgg.Object, mediaItemPersister.Object); var media1 = new MediaItem(); media1.IsDeleted = false; vm.Handle(new PlayRequestMessage(media1)); Assert.AreEqual(PlayerState.Playing, vm.MediaPlayerState); media1.IsDeleted = true; Assert.AreEqual(PlayerState.Stopped, vm.MediaPlayerState); Assert.AreEqual("(Nothing)", vm.CurrentlyPlaying); }
public void Given_a_play_request_message_should_stop_currently_playing_item_and_start_new_media() { var eventAgg = new Mock<IEventAggregator>(); var media = new Mock<MediaItem>(); var dummyStream = new MemoryStream(); media.Setup(x => x.Name).Returns("Fake Media Item"); media.Setup(x => x.DataStream).Returns(() => dummyStream); var vm = new NowPlayingViewModel(eventAgg.Object, new Mock<IMediaItemPersister>().Object); var capturedEvents = new List<string>(); vm.PropertyChanged += (s, e) => capturedEvents.Add(e.PropertyName); vm.Handle(new PlayRequestMessage(media.Object)); var playStateChanges = capturedEvents.Where(x => x == "MediaPlayerState"); Assert.AreEqual(1, playStateChanges.Count()); Assert.AreEqual(PlayerState.Playing, vm.MediaPlayerState); Assert.AreSame(dummyStream, vm.MediaStream); Assert.AreEqual("Fake Media Item", vm.CurrentlyPlaying); }
public void Given_a_new_item_to_play_should_persist_the_previously_playing_item() { var eventAgg = new Mock <IEventAggregator>(); var mediaItemPersister = new Mock <IMediaItemPersister>(); var vm = new NowPlayingViewModel(eventAgg.Object, mediaItemPersister.Object); var media1 = new MediaItem(); vm.Handle(new PlayRequestMessage(media1)); var media2 = new MediaItem(); vm.Handle(new PlayRequestMessage(media2)); mediaItemPersister.Verify(p => p.Save(media1)); vm.Handle(new PlayRequestMessage(media1)); mediaItemPersister.Verify(p => p.Save(media2)); }
protected override void OnNavigatedTo(NavigationEventArgs e) { if (DataContext == null) { DataContext = new NowPlayingViewModel(Dispatcher, LrcPresenter); LrcPresenter.Player = PlaybackControl.Instance.Player; } Application.Current.EnteredBackground += OnEnteredBackground; Application.Current.LeavingBackground += OnLeavingBackground; _vm.RegisterEvents(); _navigationHelper.OnNavigatedTo(e); _vm.NextItems = new NextTrackSubset(Dispatcher, 15); _timer = new DispatcherTimer { Interval = TimeSpan.FromSeconds(0.5) }; _timer.Tick += TimerOnTick; PlaybackControl.Instance.Player.CurrentStateChanged += OnPlaybackStateChanged; CheckPlayStatus(); base.OnNavigatedTo(e); }
public void Given_a_play_request_message_should_stop_currently_playing_item_and_start_new_media() { var eventAgg = new Mock <IEventAggregator>(); var media = new Mock <MediaItem>(); var dummyStream = new MemoryStream(); media.Setup(x => x.Name).Returns("Fake Media Item"); media.Setup(x => x.DataStream).Returns(() => dummyStream); var vm = new NowPlayingViewModel(eventAgg.Object, new Mock <IMediaItemPersister>().Object); var capturedEvents = new List <string>(); vm.PropertyChanged += (s, e) => capturedEvents.Add(e.PropertyName); vm.Handle(new PlayRequestMessage(media.Object)); var playStateChanges = capturedEvents.Where(x => x == "MediaPlayerState"); Assert.AreEqual(1, playStateChanges.Count()); Assert.AreEqual(PlayerState.Playing, vm.MediaPlayerState); Assert.AreSame(dummyStream, vm.MediaStream); Assert.AreEqual("Fake Media Item", vm.CurrentlyPlaying); }
public void When_media_is_opened_should_forward_to_previous_media_position() { var eventAgg = new Mock<IEventAggregator>(); var vm = new NowPlayingViewModel(eventAgg.Object, new Mock<IMediaItemPersister>().Object); var media = new MediaItem(); media.MediaPosition = 100; vm.Handle(new PlayRequestMessage(media)); Assert.AreEqual(0, vm.SliderPosition); vm.MediaOpened(); Assert.AreEqual(100, vm.SliderPosition); }
public NowPlayingPage() { InitializeComponent(); BindingContext = new NowPlayingViewModel(); }
public NowPlayingView(NowPlayingViewModel viewModel) : this() { this.DataContext = viewModel; this.spectrumAnalyzer.RegisterSoundPlayer(viewModel.Player); }
public NowPlayingView() { InitializeComponent(); BindingContext = NowPlayingViewModel.GetInstance(); }
public void When_playing_then_playpause_should_be_pause_otherwise_should_be_play() { var eventAgg = new Mock<IEventAggregator>(); var media = new Mock<MediaItem>(); var vm = new NowPlayingViewModel(eventAgg.Object, new Mock<IMediaItemPersister>().Object); vm.Handle(new PlayRequestMessage(media.Object)); vm.MediaPlayerState = PlayerState.Stopped; Assert.AreEqual("Play", vm.PlayPauseText); vm.MediaPlayerState = PlayerState.Paused; Assert.AreEqual("Play", vm.PlayPauseText); vm.MediaPlayerState = PlayerState.Playing; Assert.AreEqual("Pause", vm.PlayPauseText); }
public void When_requesting_to_play_currently_playing_media_should_just_resume_playing() { var eventAgg = new Mock<IEventAggregator>(); var vm = new NowPlayingViewModel(eventAgg.Object, new Mock<IMediaItemPersister>().Object); var media = new MediaItem(); media.MediaPosition = 100; vm.Handle(new PlayRequestMessage(media)); Assert.AreEqual(0, vm.SliderPosition); Assert.AreEqual(PlayerState.Playing, vm.MediaPlayerState); vm.SliderPosition = 10; vm.Handle(new PlayRequestMessage(media)); Assert.AreEqual(10, vm.SliderPosition); Assert.AreEqual(PlayerState.Playing, vm.MediaPlayerState); }
void slider_PointerEntered(object sender, PointerRoutedEventArgs e) { NowPlayingViewModel viewModel = (NowPlayingViewModel)DataContext; viewModel.sliderpressed = true; }
public void When_no_item_playing_then_should_not_change_play_state() { var eventAgg = new Mock<IEventAggregator>(); var vm = new NowPlayingViewModel(eventAgg.Object, new Mock<IMediaItemPersister>().Object); Assert.IsFalse(vm.CanPlayPause); Assert.IsFalse(vm.CanStop); Assert.AreEqual(PlayerState.Stopped, vm.MediaPlayerState); vm.MediaPlayerState = PlayerState.Paused; Assert.AreEqual(PlayerState.Stopped, vm.MediaPlayerState); vm.MediaPlayerState = PlayerState.Playing; Assert.AreEqual(PlayerState.Stopped, vm.MediaPlayerState); // now, requesting an item to be played should allow the state change var media = new Mock<MediaItem>(); vm.Handle(new PlayRequestMessage(media.Object)); Assert.IsTrue(vm.CanPlayPause); Assert.IsTrue(vm.CanStop); vm.MediaPlayerState = PlayerState.Playing; Assert.AreEqual(PlayerState.Playing, vm.MediaPlayerState); Assert.AreEqual("Pause", vm.PlayPauseText); }
protected override void OnResume() { NowPlayingViewModel.GetInstance().AppOnResume(); }