|
@@ -2721,6 +2721,8 @@ namespace Emby.Server.Implementations.Library
|
|
if (current.IsDirectory && _namingOptions.AllExtrasTypesFolderNames.ContainsKey(current.Name))
|
|
if (current.IsDirectory && _namingOptions.AllExtrasTypesFolderNames.ContainsKey(current.Name))
|
|
{
|
|
{
|
|
var filesInSubFolder = _fileSystem.GetFiles(current.FullName, null, false, false);
|
|
var filesInSubFolder = _fileSystem.GetFiles(current.FullName, null, false, false);
|
|
|
|
+ bool subFolderIsMixedFolder = filesInSubFolder.Count() > 1;
|
|
|
|
+
|
|
foreach (var file in filesInSubFolder)
|
|
foreach (var file in filesInSubFolder)
|
|
{
|
|
{
|
|
if (!_extraResolver.TryGetExtraTypeForOwner(file.FullName, ownerVideoInfo, out var extraType))
|
|
if (!_extraResolver.TryGetExtraTypeForOwner(file.FullName, ownerVideoInfo, out var extraType))
|
|
@@ -2728,7 +2730,7 @@ namespace Emby.Server.Implementations.Library
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
|
|
|
|
- var extra = GetExtra(file, extraType.Value);
|
|
|
|
|
|
+ var extra = GetExtra(file, extraType.Value, subFolderIsMixedFolder);
|
|
if (extra is not null)
|
|
if (extra is not null)
|
|
{
|
|
{
|
|
yield return extra;
|
|
yield return extra;
|
|
@@ -2737,7 +2739,7 @@ namespace Emby.Server.Implementations.Library
|
|
}
|
|
}
|
|
else if (!current.IsDirectory && _extraResolver.TryGetExtraTypeForOwner(current.FullName, ownerVideoInfo, out var extraType))
|
|
else if (!current.IsDirectory && _extraResolver.TryGetExtraTypeForOwner(current.FullName, ownerVideoInfo, out var extraType))
|
|
{
|
|
{
|
|
- var extra = GetExtra(current, extraType.Value);
|
|
|
|
|
|
+ var extra = GetExtra(current, extraType.Value, false);
|
|
if (extra is not null)
|
|
if (extra is not null)
|
|
{
|
|
{
|
|
yield return extra;
|
|
yield return extra;
|
|
@@ -2745,7 +2747,7 @@ namespace Emby.Server.Implementations.Library
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- BaseItem? GetExtra(FileSystemMetadata file, ExtraType extraType)
|
|
|
|
|
|
+ BaseItem? GetExtra(FileSystemMetadata file, ExtraType extraType, bool isInMixedFolder)
|
|
{
|
|
{
|
|
var extra = ResolvePath(_fileSystem.GetFileInfo(file.FullName), directoryService, _extraResolver.GetResolversForExtraType(extraType));
|
|
var extra = ResolvePath(_fileSystem.GetFileInfo(file.FullName), directoryService, _extraResolver.GetResolversForExtraType(extraType));
|
|
if (extra is not Video && extra is not Audio)
|
|
if (extra is not Video && extra is not Audio)
|
|
@@ -2768,6 +2770,7 @@ namespace Emby.Server.Implementations.Library
|
|
|
|
|
|
extra.ParentId = Guid.Empty;
|
|
extra.ParentId = Guid.Empty;
|
|
extra.OwnerId = owner.Id;
|
|
extra.OwnerId = owner.Id;
|
|
|
|
+ extra.IsInMixedFolder = isInMixedFolder;
|
|
return extra;
|
|
return extra;
|
|
}
|
|
}
|
|
}
|
|
}
|