private void ConsumerTask() { try { while (true) { string fileFullPath; if (_filesChanged.TryDequeue(out fileFullPath)) { Beatmap beatmap = null; _settings.Add(_names.LoadingRawBeatmaps.Name, true); Interlocked.Increment(ref _numberOfBeatmapsCurrentlyBeingLoaded); _logger.Log("Processing new beatmap", LogLevel.Debug); beatmap = BeatmapHelpers.ReadBeatmap(fileFullPath); _sqlite.StoreTempBeatmap(beatmap); _logger.Log("Added new Temporary beatmap {0} - {1} [{2}]", LogLevel.Debug, beatmap.ArtistRoman, beatmap.TitleRoman, beatmap.DiffName); if (Interlocked.Decrement(ref _numberOfBeatmapsCurrentlyBeingLoaded) == 0) { _settings.Add(_names.LoadingRawBeatmaps.Name, false); } } Thread.Sleep(5); } } catch (ThreadAbortException ex) { return; } }
private void Watcher_FileCreated(object sender, FileSystemEventArgs e) { _settings.Add(_names.LoadingRawBeatmaps.Name, true); Interlocked.Increment(ref _numberOfBeatmapsCurrentlyBeingLoaded); _logger.Log("Detected new beatmap in songs folder", LogLevel.Debug); var beatmap = BeatmapHelpers.ReadBeatmap(e.FullPath); _sqlite.StoreTempBeatmap(beatmap); _logger.Log("Added new Temporary beatmap {0} - {1}", LogLevel.Debug, beatmap.ArtistRoman, beatmap.TitleRoman); if (Interlocked.Decrement(ref _numberOfBeatmapsCurrentlyBeingLoaded) == 0) { _settings.Add(_names.LoadingRawBeatmaps.Name, false); } }