From 03af05c3c6fd7090d8ad851924e8717d31b2cd26 Mon Sep 17 00:00:00 2001 From: rlauuzo <46294892+rlauuzo@users.noreply.github.com> Date: Fri, 10 May 2024 14:05:59 +0200 Subject: [PATCH] change chromaprint offset, reorder analyzers, improve prompt timing (#153) --- .../Analyzers/BlackFrameAnalyzer.cs | 2 +- .../Analyzers/ChromaprintAnalyzer.cs | 2 +- .../Configuration/configPage.html | 16 ++++++++-------- .../Controllers/SkipIntroController.cs | 4 ++-- .../ScheduledTasks/BaseItemAnalyzerTask.cs | 10 +++++----- 5 files changed, 17 insertions(+), 17 deletions(-) diff --git a/ConfusedPolarBear.Plugin.IntroSkipper/Analyzers/BlackFrameAnalyzer.cs b/ConfusedPolarBear.Plugin.IntroSkipper/Analyzers/BlackFrameAnalyzer.cs index 57ed3ed..88080d6 100644 --- a/ConfusedPolarBear.Plugin.IntroSkipper/Analyzers/BlackFrameAnalyzer.cs +++ b/ConfusedPolarBear.Plugin.IntroSkipper/Analyzers/BlackFrameAnalyzer.cs @@ -168,7 +168,7 @@ public class BlackFrameAnalyzer : IMediaFileAnalyzer if (frames.Length == 0) { // Since no black frames were found, slide the range closer to the end - start = midpoint; + start = midpoint - TimeSpan.FromSeconds(2); if (midpoint - TimeSpan.FromSeconds(lowerLimit) < _maximumError) { diff --git a/ConfusedPolarBear.Plugin.IntroSkipper/Analyzers/ChromaprintAnalyzer.cs b/ConfusedPolarBear.Plugin.IntroSkipper/Analyzers/ChromaprintAnalyzer.cs index e80c581..813c89d 100644 --- a/ConfusedPolarBear.Plugin.IntroSkipper/Analyzers/ChromaprintAnalyzer.cs +++ b/ConfusedPolarBear.Plugin.IntroSkipper/Analyzers/ChromaprintAnalyzer.cs @@ -17,7 +17,7 @@ public class ChromaprintAnalyzer : IMediaFileAnalyzer /// Seconds of audio in one fingerprint point. /// This value is defined by the Chromaprint library and should not be changed. /// - private const double SamplesToSeconds = 0.128; + private const double SamplesToSeconds = 0.1238; private int minimumIntroDuration; diff --git a/ConfusedPolarBear.Plugin.IntroSkipper/Configuration/configPage.html b/ConfusedPolarBear.Plugin.IntroSkipper/Configuration/configPage.html index 92aa13e..4fb0642 100644 --- a/ConfusedPolarBear.Plugin.IntroSkipper/Configuration/configPage.html +++ b/ConfusedPolarBear.Plugin.IntroSkipper/Configuration/configPage.html @@ -531,14 +531,14 @@ Up arrow - Shift the left episode up by 0.128 seconds. + Shift the left episode up by 0.1238 seconds. Holding control will shift the episode by 10 seconds. Down arrow - Shift the left episode down by 0.128 seconds. + Shift the left episode down by 0.1238 seconds. Holding control will shift the episode by 10 seconds. @@ -919,13 +919,13 @@ case "ArrowDown": if (timestampError.value != "") { // if the control key is pressed, shift LHS by 10s. Otherwise, shift by 1. - offsetDelta = e.ctrlKey ? 10 / 0.128 : 1; + offsetDelta = e.ctrlKey ? 10 / 0.1238 : 1; } break; case "ArrowUp": if (timestampError.value != "") { - offsetDelta = e.ctrlKey ? -10 / 0.128 : -1; + offsetDelta = e.ctrlKey ? -10 / 0.1238 : -1; } break; @@ -1108,12 +1108,12 @@ let lTime, rTime, diffPos; if (shift < 0) { - lTime = y * 0.128; - rTime = (y + shift) * 0.128; + lTime = y * 0.1238; + rTime = (y + shift) * 0.1238; diffPos = y + shift; } else { - lTime = (y - shift) * 0.128; - rTime = y * 0.128; + lTime = (y - shift) * 0.1238; + rTime = y * 0.1238; diffPos = y - shift; } diff --git a/ConfusedPolarBear.Plugin.IntroSkipper/Controllers/SkipIntroController.cs b/ConfusedPolarBear.Plugin.IntroSkipper/Controllers/SkipIntroController.cs index ae025ee..9742333 100644 --- a/ConfusedPolarBear.Plugin.IntroSkipper/Controllers/SkipIntroController.cs +++ b/ConfusedPolarBear.Plugin.IntroSkipper/Controllers/SkipIntroController.cs @@ -91,14 +91,14 @@ public class SkipIntroController : ControllerBase if (config.PersistSkipButton) { segment.ShowSkipPromptAt = segment.IntroStart; - segment.HideSkipPromptAt = segment.IntroEnd; + segment.HideSkipPromptAt = segment.IntroEnd - 1; } else { segment.ShowSkipPromptAt = Math.Max(0, segment.IntroStart - config.ShowPromptAdjustment); segment.HideSkipPromptAt = Math.Min( segment.IntroStart + config.HidePromptAdjustment, - segment.IntroEnd); + segment.IntroEnd - 1); } return segment; diff --git a/ConfusedPolarBear.Plugin.IntroSkipper/ScheduledTasks/BaseItemAnalyzerTask.cs b/ConfusedPolarBear.Plugin.IntroSkipper/ScheduledTasks/BaseItemAnalyzerTask.cs index fa4650d..0750659 100644 --- a/ConfusedPolarBear.Plugin.IntroSkipper/ScheduledTasks/BaseItemAnalyzerTask.cs +++ b/ConfusedPolarBear.Plugin.IntroSkipper/ScheduledTasks/BaseItemAnalyzerTask.cs @@ -204,16 +204,16 @@ public class BaseItemAnalyzerTask var analyzers = new Collection(); analyzers.Add(new ChapterAnalyzer(_loggerFactory.CreateLogger())); - if (Plugin.Instance!.Configuration.UseChromaprint) - { - analyzers.Add(new ChromaprintAnalyzer(_loggerFactory.CreateLogger())); - } - if (mode == AnalysisMode.Credits) { analyzers.Add(new BlackFrameAnalyzer(_loggerFactory.CreateLogger())); } + if (Plugin.Instance!.Configuration.UseChromaprint) + { + analyzers.Add(new ChromaprintAnalyzer(_loggerFactory.CreateLogger())); + } + // Use each analyzer to find skippable ranges in all media files, removing successfully // analyzed items from the queue. foreach (var analyzer in analyzers)