2019-02-21 01:57:43 -08:00
|
|
|
using MediaBrowser.Model.Plugins;
|
2019-03-10 08:53:30 +09:00
|
|
|
|
2022-04-29 23:52:50 -05:00
|
|
|
namespace ConfusedPolarBear.Plugin.IntroSkipper.Configuration;
|
2021-12-13 16:58:05 -07:00
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Plugin configuration.
|
|
|
|
/// </summary>
|
|
|
|
public class PluginConfiguration : BasePluginConfiguration
|
|
|
|
{
|
|
|
|
/// <summary>
|
|
|
|
/// Initializes a new instance of the <see cref="PluginConfiguration"/> class.
|
|
|
|
/// </summary>
|
|
|
|
public PluginConfiguration()
|
2019-02-21 01:57:43 -08:00
|
|
|
{
|
|
|
|
}
|
2021-12-13 16:58:05 -07:00
|
|
|
|
2022-06-26 22:54:47 -05:00
|
|
|
// ===== Analysis settings =====
|
|
|
|
|
2021-12-13 16:58:05 -07:00
|
|
|
/// <summary>
|
2022-06-09 14:07:40 -05:00
|
|
|
/// Gets or sets a value indicating whether the episode's fingerprint should be cached to the filesystem.
|
2021-12-13 16:58:05 -07:00
|
|
|
/// </summary>
|
2022-06-07 21:36:20 -05:00
|
|
|
public bool CacheFingerprints { get; set; } = true;
|
2022-05-05 18:26:02 -05:00
|
|
|
|
2022-06-09 20:34:18 -05:00
|
|
|
/// <summary>
|
|
|
|
/// Gets or sets the max degree of parallelism used when analyzing episodes.
|
|
|
|
/// </summary>
|
|
|
|
public int MaxParallelism { get; set; } = 2;
|
|
|
|
|
2022-06-27 00:21:30 -05:00
|
|
|
/// <summary>
|
|
|
|
/// Gets or sets the comma separated list of library names to analyze. If empty, all libraries will be analyzed.
|
|
|
|
/// </summary>
|
|
|
|
public string SelectedLibraries { get; set; } = string.Empty;
|
|
|
|
|
2022-07-08 01:02:50 -05:00
|
|
|
// ===== EDL handling =====
|
|
|
|
|
2022-06-15 01:00:03 -05:00
|
|
|
/// <summary>
|
|
|
|
/// Gets or sets a value indicating the action to write to created EDL files.
|
|
|
|
/// </summary>
|
|
|
|
public EdlAction EdlAction { get; set; } = EdlAction.None;
|
|
|
|
|
2022-06-20 01:39:56 -05:00
|
|
|
/// <summary>
|
2022-06-24 00:02:08 -05:00
|
|
|
/// Gets or sets a value indicating whether to regenerate all EDL files during the next scan.
|
|
|
|
/// By default, EDL files are only written for a season if the season had at least one newly analyzed episode.
|
|
|
|
/// If this is set, all EDL files will be regenerated and overwrite any existing EDL file.
|
2022-06-20 01:39:56 -05:00
|
|
|
/// </summary>
|
2022-06-24 00:02:08 -05:00
|
|
|
public bool RegenerateEdlFiles { get; set; } = false;
|
2022-06-20 01:39:56 -05:00
|
|
|
|
2022-07-08 00:57:12 -05:00
|
|
|
// ===== Custom analysis settings =====
|
|
|
|
|
2022-06-26 22:54:47 -05:00
|
|
|
/// <summary>
|
|
|
|
/// Gets or sets the percentage of each episode's audio track to analyze.
|
|
|
|
/// </summary>
|
|
|
|
public int AnalysisPercent { get; set; } = 25;
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Gets or sets the upper limit (in minutes) on the length of each episode's audio track that will be analyzed.
|
|
|
|
/// </summary>
|
|
|
|
public int AnalysisLengthLimit { get; set; } = 10;
|
|
|
|
|
2022-07-03 01:59:16 -05:00
|
|
|
/// <summary>
|
|
|
|
/// Gets or sets the minimum length of similar audio that will be considered an introduction.
|
|
|
|
/// </summary>
|
|
|
|
public int MinimumIntroDuration { get; set; } = 15;
|
|
|
|
|
2022-06-26 22:54:47 -05:00
|
|
|
// ===== Playback settings =====
|
|
|
|
|
2022-06-07 18:33:59 -05:00
|
|
|
/// <summary>
|
|
|
|
/// Gets or sets a value indicating whether introductions should be automatically skipped.
|
|
|
|
/// </summary>
|
|
|
|
public bool AutoSkip { get; set; }
|
|
|
|
|
2022-05-05 18:26:02 -05:00
|
|
|
/// <summary>
|
2022-05-09 22:50:41 -05:00
|
|
|
/// Gets or sets the seconds before the intro starts to show the skip prompt at.
|
2022-05-05 18:26:02 -05:00
|
|
|
/// </summary>
|
|
|
|
public int ShowPromptAdjustment { get; set; } = 5;
|
|
|
|
|
|
|
|
/// <summary>
|
2022-05-09 22:50:41 -05:00
|
|
|
/// Gets or sets the seconds after the intro starts to hide the skip prompt at.
|
2022-05-05 18:26:02 -05:00
|
|
|
/// </summary>
|
|
|
|
public int HidePromptAdjustment { get; set; } = 10;
|
2019-03-10 08:53:30 +09:00
|
|
|
}
|