diff --git a/Shokofin/Configuration/PluginConfiguration.cs b/Shokofin/Configuration/PluginConfiguration.cs index ddd7ebb3..882321f2 100644 --- a/Shokofin/Configuration/PluginConfiguration.cs +++ b/Shokofin/Configuration/PluginConfiguration.cs @@ -276,6 +276,12 @@ public virtual string PrettyUrl #region Library + /// + /// Automagically merge alternate versions after a library scan. + /// + [XmlElement("EXPERIMENTAL_AutoMergeVersions")] + public bool AutoMergeVersions { get; set; } + /// /// Use Shoko Groups to group Shoko Series together to create the show entries. /// @@ -438,11 +444,6 @@ public virtual string PrettyUrl #region Experimental features - /// - /// Automagically merge alternate versions after a library scan. - /// - public bool EXPERIMENTAL_AutoMergeVersions { get; set; } - /// /// Blur the boundaries between AniDB anime further by merging entries which could had just been a single anime entry based on name matching and a configurable merge window. /// @@ -536,6 +537,7 @@ public PluginConfiguration() VFS_Threads = 4; VFS_AddReleaseGroup = false; VFS_AddResolution = false; + AutoMergeVersions = true; UseGroupsForShows = false; SeparateMovies = false; FilterMovieLibraries = true; @@ -560,7 +562,6 @@ public PluginConfiguration() SignalR_RefreshEnabled = false; SignalR_FileEvents = false; UsageTracker_StalledTimeInSeconds = 10; - EXPERIMENTAL_AutoMergeVersions = true; EXPERIMENTAL_MergeSeasons = false; EXPERIMENTAL_MergeSeasonsTypes = new[] { SeriesType.OVA, SeriesType.TV, SeriesType.TVSpecial, SeriesType.Web, SeriesType.OVA }; EXPERIMENTAL_MergeSeasonsMergeWindowInDays = 185; diff --git a/Shokofin/Configuration/configController.js b/Shokofin/Configuration/configController.js index d4dd42b4..45e250e1 100644 --- a/Shokofin/Configuration/configController.js +++ b/Shokofin/Configuration/configController.js @@ -306,6 +306,7 @@ async function defaultSubmit(form) { config.AddTMDBId = form.querySelector("#AddTMDBId").checked; // Library settings + config.AutoMergeVersions = form.querySelector("#AutoMergeVersions").checked; config.UseGroupsForShows = form.querySelector("#UseGroupsForShows").checked; config.SeasonOrdering = form.querySelector("#SeasonOrdering").value; config.CollectionGrouping = form.querySelector("#CollectionGrouping").value; @@ -360,9 +361,6 @@ async function defaultSubmit(form) { // Experimental settings - config.EXPERIMENTAL_AutoMergeVersions = form.querySelector("#EXPERIMENTAL_AutoMergeVersions").checked; - config.EXPERIMENTAL_SplitThenMergeMovies = form.querySelector("#EXPERIMENTAL_SplitThenMergeMovies").checked; - config.EXPERIMENTAL_SplitThenMergeEpisodes = form.querySelector("#EXPERIMENTAL_SplitThenMergeEpisodes").checked; config.EXPERIMENTAL_MergeSeasons = form.querySelector("#EXPERIMENTAL_MergeSeasons").checked; // User settings @@ -518,6 +516,7 @@ async function syncSettings(form) { config.AddTMDBId = form.querySelector("#AddTMDBId").checked; // Library settings + config.AutoMergeVersions = form.querySelector("#AutoMergeVersions").checked; config.UseGroupsForShows = form.querySelector("#UseGroupsForShows").checked; config.SeasonOrdering = form.querySelector("#SeasonOrdering").value; config.SeparateMovies = form.querySelector("#SeparateMovies").checked; @@ -532,9 +531,6 @@ async function syncSettings(form) { config.AddMissingMetadata = form.querySelector("#AddMissingMetadata").checked; // Experimental settings - config.EXPERIMENTAL_AutoMergeVersions = form.querySelector("#EXPERIMENTAL_AutoMergeVersions").checked; - config.EXPERIMENTAL_SplitThenMergeMovies = form.querySelector("#EXPERIMENTAL_SplitThenMergeMovies").checked; - config.EXPERIMENTAL_SplitThenMergeEpisodes = form.querySelector("#EXPERIMENTAL_SplitThenMergeEpisodes").checked; config.EXPERIMENTAL_MergeSeasons = form.querySelector("#EXPERIMENTAL_MergeSeasons").checked; const result = await ApiClient.updatePluginConfiguration(PluginConfig.pluginId, config); @@ -982,6 +978,7 @@ export default function (page) { form.querySelector("#AddTMDBId").checked = config.AddTMDBId; // Library settings + form.querySelector("#AutoMergeVersions").checked = config.AutoMergeVersions || false; if (form.querySelector("#UseGroupsForShows").checked = config.UseGroupsForShows) { form.querySelector("#SeasonOrderingContainer").removeAttribute("hidden"); form.querySelector("#SeasonOrdering").disabled = false; @@ -1027,10 +1024,6 @@ export default function (page) { userSelector.innerHTML += users.map((user) => ``).join(""); // Experimental settings - form.querySelector("#EXPERIMENTAL_AutoMergeVersions").checked = config.EXPERIMENTAL_AutoMergeVersions || false; - form.querySelector("#EXPERIMENTAL_SplitThenMergeMovies").checked = config.EXPERIMENTAL_SplitThenMergeMovies != null - ? config.EXPERIMENTAL_SplitThenMergeMovies : true; - form.querySelector("#EXPERIMENTAL_SplitThenMergeEpisodes").checked = config.EXPERIMENTAL_SplitThenMergeEpisodes || false; form.querySelector("#EXPERIMENTAL_MergeSeasons").checked = config.EXPERIMENTAL_MergeSeasons || false; if (!config.ApiKey) { diff --git a/Shokofin/Configuration/configPage.html b/Shokofin/Configuration/configPage.html index 933a284e..0bad911c 100644 --- a/Shokofin/Configuration/configPage.html +++ b/Shokofin/Configuration/configPage.html @@ -1095,6 +1095,13 @@

Library Settings

Placeholder description.
+
+ +
Automatically merge multiple versions of the same video together after a library scan or refresh. Only applies to videos with Shoko IDs set.
+