This commit is contained in:
mammo0 2025-08-02 06:59:42 -04:00 committed by GitHub
commit cc2cf4c200
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 18 additions and 9 deletions

View File

@ -737,7 +737,7 @@ namespace Emby.Server.Implementations.Library
foreach (var resolver in multiItemResolvers) foreach (var resolver in multiItemResolvers)
{ {
var result = resolver.ResolveMultiple(parent, fileList, collectionType, directoryService); var result = resolver.ResolveMultiple(parent, fileList, collectionType, directoryService, libraryOptions);
if (result?.Items.Count > 0) if (result?.Items.Count > 0)
{ {

View File

@ -15,6 +15,7 @@ using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Providers; using MediaBrowser.Controller.Providers;
using MediaBrowser.Controller.Resolvers; using MediaBrowser.Controller.Resolvers;
using MediaBrowser.Model.Configuration;
using MediaBrowser.Model.IO; using MediaBrowser.Model.IO;
namespace Emby.Server.Implementations.Library.Resolvers.Audio namespace Emby.Server.Implementations.Library.Resolvers.Audio
@ -41,7 +42,8 @@ namespace Emby.Server.Implementations.Library.Resolvers.Audio
Folder parent, Folder parent,
List<FileSystemMetadata> files, List<FileSystemMetadata> files,
CollectionType? collectionType, CollectionType? collectionType,
IDirectoryService directoryService) IDirectoryService directoryService,
LibraryOptions libraryOptions)
{ {
var result = ResolveMultipleInternal(parent, files, collectionType); var result = ResolveMultipleInternal(parent, files, collectionType);

View File

@ -16,6 +16,7 @@ using MediaBrowser.Controller.Entities.TV;
using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Providers; using MediaBrowser.Controller.Providers;
using MediaBrowser.Controller.Resolvers; using MediaBrowser.Controller.Resolvers;
using MediaBrowser.Model.Configuration;
using MediaBrowser.Model.Entities; using MediaBrowser.Model.Entities;
using MediaBrowser.Model.IO; using MediaBrowser.Model.IO;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
@ -65,9 +66,10 @@ namespace Emby.Server.Implementations.Library.Resolvers.Movies
Folder parent, Folder parent,
List<FileSystemMetadata> files, List<FileSystemMetadata> files,
CollectionType? collectionType, CollectionType? collectionType,
IDirectoryService directoryService) IDirectoryService directoryService,
LibraryOptions libraryOptions)
{ {
var result = ResolveMultipleInternal(parent, files, collectionType); var result = ResolveMultipleInternal(parent, files, collectionType, libraryOptions.EnableVersionGrouping);
if (result is not null) if (result is not null)
{ {
@ -188,7 +190,8 @@ namespace Emby.Server.Implementations.Library.Resolvers.Movies
private MultiItemResolverResult ResolveMultipleInternal( private MultiItemResolverResult ResolveMultipleInternal(
Folder parent, Folder parent,
List<FileSystemMetadata> files, List<FileSystemMetadata> files,
CollectionType? collectionType) CollectionType? collectionType,
bool supportMultiEditions)
{ {
if (IsInvalid(parent, collectionType)) if (IsInvalid(parent, collectionType))
{ {
@ -197,7 +200,7 @@ namespace Emby.Server.Implementations.Library.Resolvers.Movies
if (collectionType is CollectionType.musicvideos) if (collectionType is CollectionType.musicvideos)
{ {
return ResolveVideos<MusicVideo>(parent, files, true, collectionType, false); return ResolveVideos<MusicVideo>(parent, files, supportMultiEditions, collectionType, false);
} }
if (collectionType == CollectionType.homevideos || collectionType == CollectionType.photos) if (collectionType == CollectionType.homevideos || collectionType == CollectionType.photos)
@ -223,12 +226,12 @@ namespace Emby.Server.Implementations.Library.Resolvers.Movies
if (collectionType == CollectionType.movies) if (collectionType == CollectionType.movies)
{ {
return ResolveVideos<Movie>(parent, files, true, collectionType, true); return ResolveVideos<Movie>(parent, files, supportMultiEditions, collectionType, true);
} }
if (collectionType == CollectionType.tvshows) if (collectionType == CollectionType.tvshows)
{ {
return ResolveVideos<Episode>(parent, files, false, collectionType, true); return ResolveVideos<Episode>(parent, files, supportMultiEditions, collectionType, true);
} }
return null; return null;

View File

@ -5,6 +5,7 @@ using Jellyfin.Data.Enums;
using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Providers; using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Configuration;
using MediaBrowser.Model.IO; using MediaBrowser.Model.IO;
namespace MediaBrowser.Controller.Resolvers namespace MediaBrowser.Controller.Resolvers
@ -34,7 +35,8 @@ namespace MediaBrowser.Controller.Resolvers
Folder parent, Folder parent,
List<FileSystemMetadata> files, List<FileSystemMetadata> files,
CollectionType? collectionType, CollectionType? collectionType,
IDirectoryService directoryService); IDirectoryService directoryService,
LibraryOptions libraryOptions);
} }
public class MultiItemResolverResult public class MultiItemResolverResult

View File

@ -56,6 +56,8 @@ namespace MediaBrowser.Model.Configuration
public bool ExtractTrickplayImagesDuringLibraryScan { get; set; } public bool ExtractTrickplayImagesDuringLibraryScan { get; set; }
public bool EnableVersionGrouping { get; set; }
public MediaPathInfo[] PathInfos { get; set; } public MediaPathInfo[] PathInfos { get; set; }
public bool SaveLocalMetadata { get; set; } public bool SaveLocalMetadata { get; set; }