protected PlaylistsPageViewPresenterBase( IApplicationResources resources, IPlaylistsService playlistsService, INavigationService navigationService, IPlayQueueService playQueueService, ISongsCachingService cachingService, IApplicationStateService stateService, IRadioStationsService radioStationsService, ISettingsService settingsService) { this.resources = resources; this.playlistsService = playlistsService; this.navigationService = navigationService; this.playQueueService = playQueueService; this.cachingService = cachingService; this.stateService = stateService; this.radioStationsService = radioStationsService; this.settingsService = settingsService; Func <bool> canExecute = () => this.BindingModel.SelectedItems.Count > 0 && this.BindingModel.SelectedItems.All(x => (x.Playlist.PlaylistType == PlaylistType.UserPlaylist && !((UserPlaylist)x.Playlist).IsShared)); this.PlayCommand = new DelegateCommand(this.Play); this.QueueCommand = new DelegateCommand(this.Queue, canExecute); this.DownloadCommand = new DelegateCommand(this.Download, canExecute); this.UnPinCommand = new DelegateCommand(this.UnPin, canExecute); this.StartRadioCommand = new DelegateCommand(this.StartRadio, () => this.BindingModel != null && this.BindingModel.SelectedItems.Count == 1); }
public SearchViewModel(Common.Singletons.Library library, IMessenger messenger, ITrackCriteriaService trackCriteriaService, ITrackSearchService trackSearchService, IPlaylistsService repository, TrackContextMenuViewModel trackContextMenu, IPlayRequestHandler playRequestHandler) : base(TabType.Search, IconType.Search, "Library Search") { _library = library; _messenger = messenger; _repository = repository; _trackCriteriaService = trackCriteriaService; _trackSearchService = trackSearchService; _playRequestHandler = playRequestHandler; TrackContextMenu = trackContextMenu; Criteria = new ObservableCollection <CriteriaGroupViewModel>(); AddNewCriteriaGroupCommand = new RelayCommand(OnAddNewCriteriaGroup); SearchCommand = new RelayCommand(OnSearch); ClearCommand = new RelayCommand(OnClear); SaveAsCriteriaPlaylistCommand = new RelayCommand(OnSaveAsCriteriaPlaylist); SaveAsOrderedPlaylistCommand = new RelayCommand(OnSaveAsOrderedPlaylist); PlayCommand = new RelayCommand(OnPlay); EditCommand = new RelayCommand(OnEdit); RemoveGroupCommand = new RelayCommand <CriteriaGroupViewModel>(OnRemoveGroup); _library.Updated += OnLibraryUpdated; }
public PlaylistsPageViewPresenter( IApplicationResources resources, IPlaylistsService playlistsService, INavigationService navigationService, IPlayQueueService playQueueService, ISongsCachingService cachingService, IApplicationStateService stateService) : base(resources, playlistsService, navigationService, playQueueService, cachingService, stateService) { }
public PlaylistsViewModel(IPlaylistsService repository, Common.Singletons.Library library, IMessenger messenger, ITrackSearchService trackSearchService, IPlayRequestHandler playRequestHandler) : base(TabType.Playlists, IconType.ListUl, "Playlists") { _messenger = messenger; _repository = repository; OrderedPlaylists = new OrderedPlaylistsViewModel(this, _messenger, trackSearchService, _repository, playRequestHandler); CriteriaPlaylists = new CriteriaPlaylistsViewModel(this, messenger, trackSearchService, _repository, playRequestHandler); StandardPlaylists = new StandardPlaylistsViewModel(this, library, messenger, playRequestHandler, trackSearchService, _repository); }
public EditOrderedPlaylistViewModel(IMessenger messenger, IPlaylistsService repository, ITrackSearchService trackSearchService) : base(TabType.Playlists, IconType.Cog, "Edit Playlist", messenger, false) { _trackSearchService = trackSearchService; _messenger = messenger; _repository = repository; MoveUpCommand = new RelayCommand(OnMoveUp); MoveDownCommand = new RelayCommand(OnMoveDown); RemoveCommand = new RelayCommand(OnRemove); }
public QueueActionsPopupViewPresenter( SelectedItems selectedItems, IPlayQueueService playQueueService, IPlaylistsService playlistsService) { this.selectedItems = selectedItems; this.playQueueService = playQueueService; this.playlistsService = playlistsService; this.ShuffleAllCommand = new DelegateCommand(this.ShuffleAll); this.PlayCommand = new DelegateCommand(this.Play); this.AddCommand = new DelegateCommand(this.Add); }
public TrackContextMenuViewModel(IArchiveService archiveService, IMessenger messenger, IPlaylistsService playlistsService) { _archiveService = archiveService; _messenger = messenger; _playlistsService = playlistsService; ArchiveTrackCommand = new RelayCommand(OnArchiveTrack); EditTrackCommand = new RelayCommand(OnEditTrack); AddToPlaylistCommand = new RelayCommand <OrderedPlaylist>(OnAddToPlaylist); MenuItems = new ObservableCollection <MenuCommand>(); }
public ClearService( IYoutubeProvider youtubeProvider, ILogger <ClearService> logger, IChannelsService channelsService, IVideosService videosService, IPlaylistsService playlistsService) : base(youtubeProvider, logger) { this.channelsService = channelsService; this.videosService = videosService; this.playlistsService = playlistsService; }
public PlaylistPageViewPresenter( IDependencyResolverContainer container, IApplicationResources resources, IUserPlaylistsService userPlaylistsService, IPlaylistsService playlistsService) : base(container) { this.resources = resources; this.userPlaylistsService = userPlaylistsService; this.playlistsService = playlistsService; this.RemoveFromPlaylistCommand = new DelegateCommand(this.RemoveFromPlaylist); }
public SearchPageViewPresenter( IApplicationResources resources, ISongsRepository songsRepository, IPlaylistsService playlistsService, INavigationService navigationService, IUserPlaylistsRepository userPlaylistsRepository) { this.resources = resources; this.songsRepository = songsRepository; this.playlistsService = playlistsService; this.navigationService = navigationService; this.userPlaylistsRepository = userPlaylistsRepository; }
public PlayShortcutsViewModel(IPlayRequestHandler playRequestHandler, IPlaylistsService repository, ITrackSearchService trackSearchService, IMessenger messenger) { _messenger = messenger; _repository = repository; _playRequestHandler = playRequestHandler; _trackSearchService = trackSearchService; PlayCommand = new RelayCommand <Playlist>(OnPlay); ShuffleLibraryCommand = new RelayCommand(OnShuffleLibrary); Playlists = new ObservableCollection <Playlist>(); }
public StandardPlaylistsViewModel(PlaylistsViewModel parent, Common.Singletons.Library library, IMessenger messenger, IPlayRequestHandler playRequestHandler, ITrackSearchService trackSearchService, IPlaylistsService repository) { _library = library; _messenger = messenger; _playRequestHandler = playRequestHandler; _trackSearchService = trackSearchService; _repository = repository; _parent = parent; PlayCommand = new RelayCommand <StandardFilterViewModel>(OnPlay); FavouriteCommand = new RelayCommand <StandardFilterViewModel>(OnFavourite); Filters = new ObservableCollection <StandardFilterViewModel>(); }
public ArchiveService(IUserSettings userSettings, IFileService fileService, ITaggingService taggingService, IConfigSettings configSettings, ILibraryService libraryService, Library library, IPlaylistsService playlistsService, IPlaylist playlist, IDirectoryNamer directoryNamer) { _fileService = fileService; _taggingService = taggingService; _userSettings = userSettings; _configSettings = configSettings; _libraryService = libraryService; _library = library; _playlistsService = playlistsService; _playlist = playlist; _directoryNamer = directoryNamer; }
public EditCriteriaPlaylistViewModel(IMessenger messenger, IPlaylistsService repository, ITrackSearchService trackSearchService, Common.Singletons.Library library, ITrackCriteriaService trackCriteriaService) : base(TabType.Playlists, IconType.Cog, "Edit Playlist", messenger, false) { _library = library; _messenger = messenger; _trackCriteriaService = trackCriteriaService; _trackSearchService = trackSearchService; _repository = repository; AddNewCriteriaGroupCommand = new RelayCommand(OnAddNewCriteriaGroup); PreviewResultsCommand = new RelayCommand(OnPreviewResults); RemoveGroupCommand = new RelayCommand <CriteriaGroupViewModel>(OnRemoveGroup); }
public TransferService( IYoutubeProvider youtubeProvider, ILogger <TransferService> logger, string outputFolder, IChannelsService channelsService, IVideosService videosService, IPlaylistsService playlistsService, IVideoObfuscateService videoObfuscateService, int threshold) : base(youtubeProvider, logger) { this.outputFolder = outputFolder; this.channelsService = channelsService; this.videosService = videosService; this.playlistsService = playlistsService; this.videoObfuscateService = videoObfuscateService; this.threshold = threshold; }
public UserPlaylistsPageViewPresenter( IApplicationResources resources, INavigationService navigationService, IPlayQueueService playQueueService, IPlaylistsService playlistsService, IUserPlaylistsService userPlaylistsService, ISongsCachingService cachingService, IApplicationStateService stateService) : base(resources, playlistsService, navigationService, playQueueService, cachingService, stateService) { this.resources = resources; this.userPlaylistsService = userPlaylistsService; this.stateService = stateService; this.AddPlaylistCommand = new DelegateCommand(this.AddPlaylist); this.EditPlaylistCommand = new DelegateCommand(this.EditPlaylist, () => this.BindingModel.SelectedItems.Count == 1); this.DeletePlaylistsCommand = new DelegateCommand(this.DeletePlaylists, () => this.BindingModel.SelectedItems.Count > 0); }
public RadioPageViewPresenter( IApplicationResources resources, IPlaylistsService playlistsService, INavigationService navigationService, IPlayQueueService playQueueService, ISongsCachingService cachingService, IApplicationStateService stateService, IRadioWebService radioWebService) : base(resources, playlistsService, navigationService, playQueueService, cachingService, stateService) { this.resources = resources; this.navigationService = navigationService; this.playQueueService = playQueueService; this.radioWebService = radioWebService; this.EditRadioNameCommand = new DelegateCommand(this.EditRadioName, () => this.BindingModel.SelectedItems.Count == 1); this.DeleteRadioCommand = new DelegateCommand(this.DeleteRadio, () => this.BindingModel.SelectedItems.Count > 0); }
public CriteriaPlaylistsViewModel(PlaylistsViewModel parent, IMessenger messenger, ITrackSearchService playlistService, IPlaylistsService repository, IPlayRequestHandler playRequestHandler) { _messenger = messenger; _playlistService = playlistService; _parent = parent; _playRequestHandler = playRequestHandler; _repository = repository; Playlists = new ObservableCollection <CriteriaPlaylist>(); AddNewPlaylistCommand = new RelayCommand(OnAddNewPlaylist); DeleteCommand = new RelayCommand <CriteriaPlaylist>(OnDelete); EditCommand = new RelayCommand <CriteriaPlaylist>(OnEdit); PlayCommand = new RelayCommand <CriteriaPlaylist>(OnPlay); FavouriteCommand = new RelayCommand <CriteriaPlaylist>(OnFavourite); }
public PlaylistPageViewPresenterBase(IDependencyResolverContainer container) { this.playQueueService = container.Resolve <IPlayQueueService>(); this.metadataEditService = container.Resolve <ISongsService>(); this.playlistsService = container.Resolve <IPlaylistsService>(); this.resources = container.Resolve <IApplicationResources>(); this.cachingService = container.Resolve <ISongsCachingService>(); this.stateService = container.Resolve <IApplicationStateService>(); this.radioWebService = container.Resolve <IRadioWebService>(); this.navigationService = container.Resolve <INavigationService>(); this.QueueCommand = new DelegateCommand(this.Queue, () => this.BindingModel != null && this.BindingModel.SongsBindingModel.SelectedItems.Count > 0); this.AddToPlaylistCommand = new DelegateCommand(this.AddToPlaylist, () => this.BindingModel != null && this.BindingModel.SongsBindingModel.SelectedItems.Count > 0); this.DownloadCommand = new DelegateCommand(this.Download, () => this.BindingModel != null && this.BindingModel.SongsBindingModel.SelectedItems.Count > 0); this.UnPinCommand = new DelegateCommand(this.UnPin, () => this.BindingModel != null && this.BindingModel.SongsBindingModel.SelectedItems.Count > 0); this.RateSongCommand = new DelegateCommand(this.RateSong); this.StartRadioCommand = new DelegateCommand(this.StartRadio, () => this.BindingModel != null && this.BindingModel.SongsBindingModel.SelectedItems.Count == 1); }
public RadioPageViewPresenter( IApplicationResources resources, IPlaylistsService playlistsService, INavigationService navigationService, IPlayQueueService playQueueService, ISongsCachingService cachingService, IApplicationStateService stateService, IRadioStationsService radioStationsService, ISettingsService settingsService) : base(resources, playlistsService, navigationService, playQueueService, cachingService, stateService, radioStationsService, settingsService) { this.resources = resources; this.navigationService = navigationService; this.playQueueService = playQueueService; this.radioStationsService = radioStationsService; this.EditRadioNameCommand = new DelegateCommand(this.EditRadioName, () => this.BindingModel.SelectedItems.Count == 1); this.DeleteRadioCommand = new DelegateCommand(this.DeleteRadio, () => this.BindingModel.SelectedItems.Count > 0 && this.BindingModel.SelectedItems.All(x => !string.IsNullOrEmpty(x.Playlist.Id))); }
public SearchService( ILogManager logManager, IApplicationResources resources, INavigationService navigationService, IDispatcher dispatcher, IPlaylistsService playlistsService, ISongsRepository songsRepository, IUserPlaylistsRepository playlistsRepository, IAlbumArtCacheService albumArtCacheService) { this.logger = logManager.CreateLogger("SearchService"); this.resources = resources; this.navigationService = navigationService; this.dispatcher = dispatcher; this.playlistsService = playlistsService; this.songsRepository = songsRepository; this.playlistsRepository = playlistsRepository; this.albumArtCacheService = albumArtCacheService; }
public StartPageViewPresenter( IApplicationResources resources, ISettingsService settingsService, IAuthentificationService authentificationService, INavigationService navigationService, IPlayQueueService playQueueService, IPlaylistsService playlistsService, IMainFrameRegionProvider mainFrameRegionProvider, IGoogleMusicSessionService sessionService, ISearchService searchService, ISongsCachingService cachingService, IApplicationStateService stateService) { this.resources = resources; this.settingsService = settingsService; this.authentificationService = authentificationService; this.playQueueService = playQueueService; this.navigationService = navigationService; this.playlistsService = playlistsService; this.mainFrameRegionProvider = mainFrameRegionProvider; this.sessionService = sessionService; this.searchService = searchService; this.cachingService = cachingService; this.stateService = stateService; Func <bool> canExecute = () => this.BindingModel.SelectedItems.Count > 0 && this.BindingModel.SelectedItems.All(x => x.Playlist.PlaylistType != PlaylistType.Radio || (x.Playlist.PlaylistType == PlaylistType.UserPlaylist && !((UserPlaylist)x.Playlist).IsShared)); this.PlayCommand = new DelegateCommand(this.Play); this.QueueCommand = new DelegateCommand(this.Queue, canExecute); this.DownloadCommand = new DelegateCommand(this.Download, canExecute); this.UnPinCommand = new DelegateCommand(this.UnPin, canExecute); this.sessionService.SessionCleared += async(sender, args) => { await this.DeinitializeAsync(); this.ShowAuthentificationPopupView(); }; }
protected PlaylistsPageViewPresenterBase( IApplicationResources resources, IPlaylistsService playlistsService, INavigationService navigationService, IPlayQueueService playQueueService, ISongsCachingService cachingService, IApplicationStateService stateService) { this.resources = resources; this.playlistsService = playlistsService; this.navigationService = navigationService; this.playQueueService = playQueueService; this.cachingService = cachingService; this.stateService = stateService; this.PlayCommand = new DelegateCommand(this.Play); this.QueueCommand = new DelegateCommand(this.Queue, () => this.BindingModel.SelectedItems.Count > 0); this.DownloadCommand = new DelegateCommand(this.Download, () => this.BindingModel.SelectedItems.Count > 0); this.UnPinCommand = new DelegateCommand(this.UnPin, () => this.BindingModel.SelectedItems.Count > 0); }
public PlayQueueService( ILogManager logManager, IMediaElementContainer mediaElement, ISettingsService settingsService, ISongsCachingService songsCachingService, ICurrentSongPublisherService publisherService, IGoogleMusicSessionService sessionService, IPlaylistsService playlistsService, IRadioWebService radioWebService, IEventAggregator eventAggregator) { this.logger = logManager.CreateLogger("PlayQueueService"); this.mediaElement = mediaElement; this.settingsService = settingsService; this.songsCachingService = songsCachingService; this.publisherService = publisherService; this.playlistsService = playlistsService; this.radioWebService = radioWebService; this.eventAggregator = eventAggregator; this.currentQueueIndex = -1; this.IsRepeatAll = this.settingsService.GetValue("IsRepeatAllEnabled", defaultValue: false); this.IsShuffled = this.settingsService.GetValue("IsShuffleEnabled", defaultValue: false); this.State = QueueState.Unknown; this.mediaElement.MediaEnded += async(sender, args) => { if (this.CanSwitchToNext()) { await this.NextSongAsync(); } else { this.State = QueueState.Stopped; } }; sessionService.SessionCleared += async(sender, args) => { await ClearQueueAsync(); }; eventAggregator.GetEvent <ReloadSongsEvent>().Subscribe(async(e) => { await ClearQueueAsync(); }); }
internal ArtistPageViewPresenter( IApplicationResources resources, IPlayQueueService playQueueService, INavigationService navigationService, IPlaylistsService playlistsService, IAlbumsRepository albumsRepository, ISongsCachingService cachingService, IApplicationStateService stateService) { this.resources = resources; this.playQueueService = playQueueService; this.navigationService = navigationService; this.playlistsService = playlistsService; this.albumsRepository = albumsRepository; this.cachingService = cachingService; this.stateService = stateService; this.PlayCommand = new DelegateCommand(this.Play); this.ShowAllCommand = new DelegateCommand(this.ShowAll); this.QueueCommand = new DelegateCommand(this.Queue, () => this.BindingModel.SelectedItems.Count > 0); this.DownloadCommand = new DelegateCommand(this.Download, () => this.BindingModel.SelectedItems.Count > 0); this.UnPinCommand = new DelegateCommand(this.UnPin, () => this.BindingModel.SelectedItems.Count > 0); }
public StartPageViewPresenter( IApplicationResources resources, ISettingsService settingsService, IAuthentificationService authentificationService, INavigationService navigationService, IPlayQueueService playQueueService, IPlaylistsService playlistsService, IMainFrameRegionProvider mainFrameRegionProvider, IGoogleMusicSessionService sessionService, ISearchService searchService, ISongsCachingService cachingService, IApplicationStateService stateService) { this.resources = resources; this.settingsService = settingsService; this.authentificationService = authentificationService; this.playQueueService = playQueueService; this.navigationService = navigationService; this.playlistsService = playlistsService; this.mainFrameRegionProvider = mainFrameRegionProvider; this.sessionService = sessionService; this.searchService = searchService; this.cachingService = cachingService; this.stateService = stateService; this.PlayCommand = new DelegateCommand(this.Play); this.QueueCommand = new DelegateCommand(this.Queue, () => this.BindingModel.SelectedItems.Count > 0); this.DownloadCommand = new DelegateCommand(this.Download, () => this.BindingModel.SelectedItems.Count > 0); this.UnPinCommand = new DelegateCommand(this.UnPin, () => this.BindingModel.SelectedItems.Count > 0); this.sessionService.SessionCleared += async(sender, args) => { await this.DeinitializeAsync(); this.ShowAuthentificationPopupView(); }; }
public PostPlaylist(IPlaylistsService playlistsService) { _playlistsService = playlistsService ?? throw new ArgumentNullException(nameof(playlistsService)); }