diff --git a/src/NzbDrone.Core/MediaFiles/TrackImport/Manual/ManualImportService.cs b/src/NzbDrone.Core/MediaFiles/TrackImport/Manual/ManualImportService.cs index 36112e984..1f90b7904 100644 --- a/src/NzbDrone.Core/MediaFiles/TrackImport/Manual/ManualImportService.cs +++ b/src/NzbDrone.Core/MediaFiles/TrackImport/Manual/ManualImportService.cs @@ -167,6 +167,12 @@ private List ProcessFolder(string folder, string downloadId, A } var artistFiles = _diskScanService.GetAudioFiles(folder).ToList(); + + if (artist == null && artistFiles.Count > 100) + { + return ProcessDownloadDirectory(folder, artistFiles); + } + var idOverrides = new IdentificationOverrides { Artist = artist @@ -201,6 +207,23 @@ private List ProcessFolder(string folder, string downloadId, A return newItems.Concat(existingItems).ToList(); } + private List ProcessDownloadDirectory(string folder, List audioFiles) + { + var items = new List(); + + foreach (var file in audioFiles) + { + var localTrack = new LocalTrack(); + localTrack.Path = file.FullName; + localTrack.Quality = new QualityModel(Quality.Unknown); + localTrack.Size = file.Length; + + items.Add(MapItem(new ImportDecision(localTrack), null, false, false)); + } + + return items; + } + public List UpdateItems(List items) { var replaceExistingFiles = items.All(x => x.ReplaceExistingFiles);