Exemple #1
0
        public OperatorViewModel(
            IMediaProviderService mediaProviderService,
            IThumbnailService thumbnailService,
            IOptionsService optionsService,
            IPageService pageService,
            IFolderWatcherService folderWatcherService,
            IMediaMetaDataService metaDataService)
        {
            _mediaProviderService = mediaProviderService;

            _thumbnailService = thumbnailService;
            _thumbnailService.ThumbnailsPurgedEvent += HandleThumbnailsPurgedEvent;

            _optionsService = optionsService;
            _optionsService.MediaFolderChangedEvent               += HandleMediaFolderChangedEvent;
            _optionsService.AllowVideoPauseChangedEvent           += HandleAllowVideoPauseChangedEvent;
            _optionsService.AllowVideoPositionSeekingChangedEvent += HandleAllowVideoPositionSeekingChangedEvent;

            folderWatcherService.ChangesFoundEvent += HandleFileChangesFoundEvent;

            _pageService = pageService;
            _pageService.MediaChangeEvent          += HandleMediaChangeEvent;
            _pageService.MediaMonitorChangedEvent  += HandleMediaMonitorChangedEvent;
            _pageService.MediaPositionChangedEvent += HandleMediaPositionChangedEvent;

            _metaDataService = metaDataService;

            LoadMediaItems();
            InitCommands();

            LaunchThumbnailQueueConsumer();

            Messenger.Default.Register <ShutDownMessage>(this, OnShutDown);
        }
Exemple #2
0
        public MetaDataQueueConsumer(
            IThumbnailService thumbnailService,
            IMediaMetaDataService metaDataService,
            BlockingCollection <MediaItem> metaDataProducerCollection,
            CancellationToken cancellationToken)
        {
            _thumbnailService = thumbnailService;
            _metaDataService  = metaDataService;

            _collection        = metaDataProducerCollection;
            _cancellationToken = cancellationToken;

            _problemFiles = new BlockingCollection <MediaItem>();
        }
Exemple #3
0
        public MetaDataQueueConsumer(
            IThumbnailService thumbnailService,
            IMediaMetaDataService metaDataService,
            IOptionsService optionsService,
            BlockingCollection <MediaItem> metaDataProducerCollection,
            string ffmpegFolder,
            CancellationToken cancellationToken)
        {
            _thumbnailService = thumbnailService;
            _metaDataService  = metaDataService;
            _optionsService   = optionsService;

            _ffmpegFolder = ffmpegFolder;

            _collection        = metaDataProducerCollection;
            _cancellationToken = cancellationToken;
        }
Exemple #4
0
        public OperatorViewModel(
            IMediaProviderService mediaProviderService,
            IThumbnailService thumbnailService,
            IMediaMetaDataService metaDataService,
            IOptionsService optionsService,
            IPageService pageService,
            IFolderWatcherService folderWatcherService,
            IMediaStatusChangingService mediaStatusChangingService,
            IHiddenMediaItemsService hiddenMediaItemsService,
            IActiveMediaItemsService activeMediaItemsService,
            IFrozenVideosService frozenVideosService)
        {
            _mediaProviderService       = mediaProviderService;
            _mediaStatusChangingService = mediaStatusChangingService;

            _hiddenMediaItemsService = hiddenMediaItemsService;
            _hiddenMediaItemsService.UnhideAllEvent += HandleUnhideAllEvent;

            _activeMediaItemsService = activeMediaItemsService;
            _frozenVideosService     = frozenVideosService;

            _thumbnailService = thumbnailService;
            _thumbnailService.ThumbnailsPurgedEvent += HandleThumbnailsPurgedEvent;

            _metaDataService = metaDataService;

            _optionsService = optionsService;
            _optionsService.MediaFolderChangedEvent               += HandleMediaFolderChangedEvent;
            _optionsService.AutoRotateChangedEvent                += HandleAutoRotateChangedEvent;
            _optionsService.AllowVideoPauseChangedEvent           += HandleAllowVideoPauseChangedEvent;
            _optionsService.AllowVideoPositionSeekingChangedEvent += HandleAllowVideoPositionSeekingChangedEvent;
            _optionsService.UseInternalMediaTitlesChangedEvent    += HandleUseInternalMediaTitlesChangedEvent;
            _optionsService.ShowMediaItemCommandPanelChangedEvent += HandleShowMediaItemCommandPanelChangedEvent;
            _optionsService.ShowFreezeCommandChangedEvent         += HandleShowFreezeCommandChangedEvent;
            _optionsService.OperatingDateChangedEvent             += HandleOperatingDateChangedEvent;
            _optionsService.MaxItemCountChangedEvent              += HandleMaxItemCountChangedEvent;
            _optionsService.PermanentBackdropChangedEvent         += async(sender, e) =>
            {
                await HandlePermanentBackdropChangedEvent(sender, e);
            };
            _optionsService.IncludeBlankScreenItemChangedEvent += async(sender, e) =>
            {
                await HandleIncludeBlankScreenItemChangedEvent(sender, e);
            };

            folderWatcherService.ChangesFoundEvent += HandleFileChangesFoundEvent;

            _pageService = pageService;
            _pageService.MediaChangeEvent          += HandleMediaChangeEvent;
            _pageService.SlideTransitionEvent      += HandleSlideTransitionEvent;
            _pageService.MediaMonitorChangedEvent  += HandleMediaMonitorChangedEvent;
            _pageService.MediaPositionChangedEvent += HandleMediaPositionChangedEvent;
            _pageService.MediaNearEndEvent         += async(sender, e) =>
            {
                await HandleMediaNearEndEvent(sender, e);
            };
            _pageService.NavigationEvent += HandleNavigationEvent;

            LoadMediaItems();
            InitCommands();

            LaunchThumbnailQueueConsumer();

            Messenger.Default.Register <ShutDownMessage>(this, OnShutDown);
        }