Only process cue-originated audio files if there is any.

(cherry picked from commit 4afaf5f058c682d7f2e1d7a9b51588dcd588b873)
pull/4200/head
zhangdoa 8 months ago
parent 1f9adce15d
commit 14bf91360a

@ -99,6 +99,8 @@ namespace NzbDrone.Core.MediaFiles
var decisions = new List<ImportDecision<LocalTrack>>(); var decisions = new List<ImportDecision<LocalTrack>>();
var cueFiles = mediaFileList.Where(x => x.Extension.Equals(".cue")).ToList(); var cueFiles = mediaFileList.Where(x => x.Extension.Equals(".cue")).ToList();
if (cueFiles.Count > 0)
{
mediaFileList.RemoveAll(l => cueFiles.Contains(l)); mediaFileList.RemoveAll(l => cueFiles.Contains(l));
var cueSheetInfos = new List<CueSheetInfo>(); var cueSheetInfos = new List<CueSheetInfo>();
foreach (var cueFile in cueFiles) foreach (var cueFile in cueFiles)
@ -134,6 +136,7 @@ namespace NzbDrone.Core.MediaFiles
mediaFileList.RemoveAll(x => cueSheetInfo.MusicFiles.Contains(x)); mediaFileList.RemoveAll(x => cueSheetInfo.MusicFiles.Contains(x));
} }
} }
}
decisions.AddRange(_importDecisionMaker.GetImportDecisions(mediaFileList, null, itemInfo, config)); decisions.AddRange(_importDecisionMaker.GetImportDecisions(mediaFileList, null, itemInfo, config));

@ -155,6 +155,8 @@ namespace NzbDrone.Core.MediaFiles.TrackImport.Manual
// Split cue and non-cue files // Split cue and non-cue files
var cueFiles = audioFiles.Where(x => x.Extension.Equals(".cue")).ToList(); var cueFiles = audioFiles.Where(x => x.Extension.Equals(".cue")).ToList();
if (cueFiles.Count > 0)
{
audioFiles.RemoveAll(l => cueFiles.Contains(l)); audioFiles.RemoveAll(l => cueFiles.Contains(l));
var cueSheetInfos = new List<CueSheetInfo>(); var cueSheetInfos = new List<CueSheetInfo>();
foreach (var cueFile in cueFiles) foreach (var cueFile in cueFiles)
@ -171,6 +173,7 @@ namespace NzbDrone.Core.MediaFiles.TrackImport.Manual
RemoveProcessedAudioFiles(audioFiles, cueSheetInfos, manualImportItems); RemoveProcessedAudioFiles(audioFiles, cueSheetInfos, manualImportItems);
} }
}
var idOverrides = new IdentificationOverrides var idOverrides = new IdentificationOverrides
{ {
@ -293,11 +296,15 @@ namespace NzbDrone.Core.MediaFiles.TrackImport.Manual
} }
} }
var singleFileReleaseDecisions = _importDecisionMaker.GetImportDecisions(audioFilesForCues, cueSheetInfos[0].IdOverrides, itemInfo, config, cueSheetInfos); if (audioFilesForCues.Count > 0)
{
var idOverrides = cueSheetInfos.Count > 0 ? cueSheetInfos[0].IdOverrides : null;
var singleFileReleaseDecisions = _importDecisionMaker.GetImportDecisions(audioFilesForCues, idOverrides, itemInfo, config, cueSheetInfos);
var manualImportItems = UpdateItems(group, singleFileReleaseDecisions, replaceExistingFiles, disableReleaseSwitching); var manualImportItems = UpdateItems(group, singleFileReleaseDecisions, replaceExistingFiles, disableReleaseSwitching);
result.AddRange(manualImportItems); result.AddRange(manualImportItems);
RemoveProcessedAudioFiles(audioFiles, cueSheetInfos, manualImportItems); RemoveProcessedAudioFiles(audioFiles, cueSheetInfos, manualImportItems);
}
var idOverride = new IdentificationOverrides var idOverride = new IdentificationOverrides
{ {

Loading…
Cancel
Save