feat: add considerHdrTagsAsEqual config option

This commit is contained in:
Viren070
2024-12-14 18:52:38 +00:00
parent bbf669e9cd
commit 2a7f3571a1
+9 -3
View File
@@ -22,7 +22,8 @@ const CONFIG = {
"Unknown", "Unknown",
], ],
visualTags: ["HDR10+", "HDR10", "HDR", "DV", "IMAX", "AI"], visualTags: ["HDR10+", "HDR10", "HDR", "DV", "IMAX", "AI"],
sortBy: ["resolution", "visualTag", "quality", "size"], sortBy: ["resolution", "visualTag", "size", "quality"],
considerHdrTagsAsEqual: true,
addonName: "GDrive", addonName: "GDrive",
prioritiseLanguage: null, prioritiseLanguage: null,
proxiedPlayback: true, proxiedPlayback: true,
@@ -182,15 +183,20 @@ function compareByField(a, b, field) {
); );
} else if (field === "visualTag") { } else if (field === "visualTag") {
// Find the highest priority visual tag in each file // Find the highest priority visual tag in each file
const getIndexOfTag = (tag) => (
CONFIG.considerHdrTagsAsEqual && tag.startsWith("HDR")
? CONFIG.visualTags.indexOf("HDR10+")
: CONFIG.visualTags.indexOf(tag)
)
const aVisualTagIndex = a.visualTags.reduce( const aVisualTagIndex = a.visualTags.reduce(
(minIndex, tag) => (minIndex, tag) =>
Math.min(minIndex, CONFIG.visualTags.indexOf(tag)), Math.min(minIndex, getIndexOfTag(tag)),
CONFIG.visualTags.length CONFIG.visualTags.length
); );
const bVisualTagIndex = b.visualTags.reduce( const bVisualTagIndex = b.visualTags.reduce(
(minIndex, tag) => (minIndex, tag) =>
Math.min(minIndex, CONFIG.visualTags.indexOf(tag)), Math.min(minIndex, getIndexOfTag(tag)),
CONFIG.visualTags.length CONFIG.visualTags.length
); );
// Sort by the visual tag index // Sort by the visual tag index