diff options
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) { |
