public ViewModel() { _albums = new ObservableCollection <Album>(); FilteredAlbums = new ListCollectionView(_albums); FilteredAlbums.CurrentChanged += FilteredAlbums_CurrentChanged; _library = new Library(); _library.LibraryUpdated += _library_LibraryUpdated; Task.Run(() => _library.Load()); Playlist = new PiDu.Playlist(); Playlist.NewList += Playlist_NewList; Playlist.CurrentSongChanged += Playlist_CurrentSongChanged; _player = new Player(); _player.PlayFinished += _player_PlayFinished; _player.CurrentPlayPosition += _player_CurrentPlayPosition; SelectAlbum = new AlbumSelectCommand(); PlayAlbum = new DelegateCommand <Album>(this.Play); PlaySong = new DelegateCommand <Song>(this.Play); PlayPauseSong = new DelegateCommand(this.PlayPause); NextSong = new DelegateCommand(this.Next); PreviousSong = new DelegateCommand(this.Previous); ToggleLoop = new DelegateCommand(this.Loop); ShowCurrentPlaylist = new DelegateCommand(this.ShowPlaylist); PrepareSeek = new DelegateCommand <double>(this.TempUpdateSeekPos); Seek = new DelegateCommand <double>(this.SeekToPos); TotalSeconds = 10; CurrentTime = 0; IsLooped = false; }
private void InitializeCommands() { SelectAlbum = new AlbumSelectCommand(); PlayAlbum = new DelegateCommand <IAlbum>(this.Play); PlaySong = new DelegateCommand <ISong>(this.Play); PlayPauseSong = new DelegateCommand(this.PlayPause); NextSong = new DelegateCommand(this.Next); PreviousSong = new DelegateCommand(this.Previous); ToggleLoop = new DelegateCommand(this.Loop); ShowCurrentPlaylist = new DelegateCommand(this.ShowPlaylist); PrepareSeek = new DelegateCommand <double>(this.TempUpdateSeekPos); Seek = new DelegateCommand <double>(this.SeekToPos); }