Esempio n. 1
0
        public void Initalize()
        {
            LookupDictionary.Clear();

            PlaybackQueue = new ObservableCopyCollection <PlayQueueEntryViewModel, PlayQueueEntryModel>(rootModel.PlaybackQueue,
                                                                                                        (playQueueEntryModel) =>
            {
                return(new PlayQueueEntryViewModel(playQueueEntryModel));
            });

            foreach (PlayQueueEntryViewModel model in PlaybackQueue)
            {
                LookupDictionary.Add(model.RowId, model);
            }

            int currentPosition = 1;

            foreach (PlayQueueEntryViewModel model in PlaybackQueue)
            {
                model.TotalPosition = currentPosition;
                currentPosition++;
            }

            PlaybackQueue.CollectionChanged += HandlePlaybackQueueCollectionChanged;

            CurrentTrack = LibraryViewModel.Current.LookupSongById(rootModel.NowPlaying);
        }
Esempio n. 2
0
        public PlaylistViewModel(PlaylistModel model)
            : base(model)
        {
            _songs = new ObservableCopyCollection <PlaylistEntryViewModel, PlaylistEntryModel>(model.Songs,
                                                                                               (playlistEntryModel) => { return(new PlaylistEntryViewModel(playlistEntryModel)); });

            Songs.CollectionChanged += HandleSongsCollectionChanged;
            model.PropertyChanged   += HandleRootModelPropertyChanged;
        }