diff options
| author | Shadowghost <Ghost_of_Stone@web.de> | 2026-05-13 21:17:40 +0200 |
|---|---|---|
| committer | Shadowghost <Ghost_of_Stone@web.de> | 2026-05-13 21:17:40 +0200 |
| commit | c91f640d37c93c48461925de9cf6d9ae677c80ce (patch) | |
| tree | b3678f24a367396abeaae532e3e6497752f45864 /Emby.Naming | |
| parent | 7f5ff3dabd55fd4640b97eb3c5983c6b9a643901 (diff) | |
Support stacked multi versions
Diffstat (limited to 'Emby.Naming')
| -rw-r--r-- | Emby.Naming/Video/VideoInfo.cs | 8 | ||||
| -rw-r--r-- | Emby.Naming/Video/VideoListResolver.cs | 7 |
2 files changed, 9 insertions, 6 deletions
diff --git a/Emby.Naming/Video/VideoInfo.cs b/Emby.Naming/Video/VideoInfo.cs index 8847ee9bc9..028b639122 100644 --- a/Emby.Naming/Video/VideoInfo.cs +++ b/Emby.Naming/Video/VideoInfo.cs @@ -17,8 +17,8 @@ namespace Emby.Naming.Video { Name = name; - Files = Array.Empty<VideoFileInfo>(); - AlternateVersions = Array.Empty<VideoFileInfo>(); + Files = []; + AlternateVersions = []; } /// <summary> @@ -40,10 +40,10 @@ namespace Emby.Naming.Video public IReadOnlyList<VideoFileInfo> Files { get; set; } /// <summary> - /// Gets or sets the alternate versions. + /// Gets or sets the alternate versions. Each alternate may itself span multiple files. /// </summary> /// <value>The alternate versions.</value> - public IReadOnlyList<VideoFileInfo> AlternateVersions { get; set; } + public IReadOnlyList<VideoInfo> AlternateVersions { get; set; } /// <summary> /// Gets or sets the extra type. diff --git a/Emby.Naming/Video/VideoListResolver.cs b/Emby.Naming/Video/VideoListResolver.cs index 7f25441076..29330b132d 100644 --- a/Emby.Naming/Video/VideoListResolver.cs +++ b/Emby.Naming/Video/VideoListResolver.cs @@ -296,10 +296,13 @@ namespace Emby.Naming.Video } } - var primary = primaryOverride ?? videos[0]; + // Prefer a stacked entry (more than one part) as primary + var primary = primaryOverride + ?? videos.FirstOrDefault(v => v.Files.Count > 1) + ?? videos[0]; videos.Remove(primary); - primary.AlternateVersions = [.. videos.Select(x => x.Files[0])]; + primary.AlternateVersions = videos; if (nameOverride is not null) { |
