mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-05-20 15:46:50 +01:00
Support stacked multi versions
This commit is contained in:
@@ -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.
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user