public MetadataService(ICacheService cacheService, IPlaybackService playbackService, ITrackRepository trackRepository, ITrackStatisticRepository trackStatisticRepository, IAlbumRepository albumRepository, IGenreRepository genreRepository, IArtistRepository artistRepository, IFileMetadataFactory metadataFactory) { this.cacheService = cacheService; this.playbackService = playbackService; this.trackStatisticRepository = trackStatisticRepository; this.trackRepository = trackRepository; this.albumRepository = albumRepository; this.genreRepository = genreRepository; this.artistRepository = artistRepository; this.metadataFactory = metadataFactory; this.fileMetadataDictionary = new Dictionary <string, IFileMetadata>(); this.updateFileMetadataTimer = new Timer(); this.updateFileMetadataTimer.Interval = this.updateFileMetadataLongTimeout; this.updateFileMetadataTimer.Elapsed += async(_, __) => await this.UpdateFileMetadataAsync(); this.playbackService.PlaybackStopped += async(_, __) => await this.UpdateFileMetadataAsync(); this.playbackService.PlaybackFailed += async(_, __) => await this.UpdateFileMetadataAsync(); this.playbackService.PlaybackSuccess += async(_, __) => await this.UpdateFileMetadataAsync(); }
public MetadataService(IPlaybackService playbackService, ICacheService cacheService, ITrackRepository trackRepository, IAlbumArtworkRepository albumArtworkRepository, IFileMetadataFactory metadataFactory) { this.playbackService = playbackService; this.cacheService = cacheService; this.trackRepository = trackRepository; this.albumArtworkRepository = albumArtworkRepository; this.metadataFactory = metadataFactory; this.updater = new FileMetadataUpdater(this.playbackService, this.trackRepository); }
public IndexingService(ISQLiteConnectionFactory factory, ICacheService cacheService, ITrackRepository trackRepository, IFolderRepository folderRepository, IFileMetadataFactory fileMetadataFactory) { this.cacheService = cacheService; this.trackRepository = trackRepository; this.folderRepository = folderRepository; this.factory = factory; this.fileMetadataFactory = fileMetadataFactory; this.watcherManager = new FolderWatcherManager(this.folderRepository); this.cache = new IndexerCache(this.factory); SettingsClient.SettingChanged += SettingsClient_SettingChanged; this.watcherManager.FoldersChanged += WatcherManager_FoldersChanged; this.isIndexing = false; }
public FileService(ICacheService cacheService, IFileMetadataFactory fileMetadataFactory, ITrackRepository trackRepository, IContainerProvider container) { this.cacheService = cacheService; this.fileMetadataFactory = fileMetadataFactory; this.trackRepository = trackRepository; this.container = container; // Unique identifier which will be used by this instance only to create cached artwork. // This prevents the cleanup function to delete artwork which is in use by this instance. this.instanceGuid = Guid.NewGuid().ToString(); this.files = new List <string>(); this.addFilesTimer = new Timer(); this.addFilesTimer.Interval = this.addFilesMilliseconds; this.addFilesTimer.Elapsed += AddFilesTimerElapsedHandler; this.DeleteFileArtworkFromCacheAsync(this.instanceGuid); }
public MetadataService(ICacheService cacheService, IPlaybackService playbackService, ITrackRepository trackRepository, IFileMetadataFactory metadataFactory, IContainerProvider container) { this.cacheService = cacheService; this.playbackService = playbackService; this.trackRepository = trackRepository; this.metadataFactory = metadataFactory; this.container = container; this.fileMetadataDictionary = new Dictionary <string, IFileMetadata>(); this.updateFileMetadataTimer = new Timer(); this.updateFileMetadataTimer.Interval = this.updateFileMetadataLongTimeout; this.updateFileMetadataTimer.Elapsed += async(_, __) => await this.UpdateFileMetadataAsync(); this.playbackService.PlaybackStopped += async(_, __) => await this.UpdateFileMetadataAsync(); this.playbackService.PlaybackFailed += async(_, __) => await this.UpdateFileMetadataAsync(); this.playbackService.PlaybackSuccess += async(_, __) => await this.UpdateFileMetadataAsync(); }