aboutsummaryrefslogtreecommitdiff
path: root/Emby.Naming
diff options
context:
space:
mode:
authorShadowghost <Ghost_of_Stone@web.de>2026-05-13 21:17:40 +0200
committerShadowghost <Ghost_of_Stone@web.de>2026-05-13 21:17:40 +0200
commitc91f640d37c93c48461925de9cf6d9ae677c80ce (patch)
treeb3678f24a367396abeaae532e3e6497752f45864 /Emby.Naming
parent7f5ff3dabd55fd4640b97eb3c5983c6b9a643901 (diff)
Support stacked multi versions
Diffstat (limited to 'Emby.Naming')
-rw-r--r--Emby.Naming/Video/VideoInfo.cs8
-rw-r--r--Emby.Naming/Video/VideoListResolver.cs7
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)
{