Reorganize settings by relation

This commit is contained in:
TwistedUmbrellaX 2024-10-28 20:11:50 -04:00 committed by TwistedUmbrellaX
parent c2eaed2f63
commit 29ca500ef1

View File

@ -53,34 +53,36 @@
</div> </div>
<div class="checkboxContainer checkboxContainer-withDescription"> <div class="checkboxContainer checkboxContainer-withDescription">
<label class="emby-checkbox-label">
<input id="UpdateMediaSegments" type="checkbox" is="emby-checkbox" />
<span>Update Segments for New Media During Scan</span>
</label>
<div class="fieldDescription">
Enable this option to update media segments for newly added files during a scan.
<br />
<b>Warning:</b> This should be disabled if you're using media segment providers other than Intro Skipper.
</div>
</div>
<div class="checkboxContainer">
<label class="emby-checkbox-label"> <label class="emby-checkbox-label">
<input id="AnalyzeMovies" type="checkbox" is="emby-checkbox" /> <input id="AnalyzeMovies" type="checkbox" is="emby-checkbox" />
<span>Analyze Movies</span> <span>Analyze Movies</span>
</label> </label>
<div class="fieldDescription">If checked, movies will be included in analysis.</div>
</div> </div>
<div class="checkboxContainer checkboxContainer-withDescription"> <div class="checkboxContainer checkboxContainer-withDescription">
<label class="emby-checkbox-label"> <label class="emby-checkbox-label">
<input id="AnalyzeSeasonZero" type="checkbox" is="emby-checkbox" /> <input id="AnalyzeSeasonZero" type="checkbox" is="emby-checkbox" />
<span>Analyze season 0</span> <span>Analyze Season 0 (Specials / Extras)</span>
</label> </label>
<div class="fieldDescription"> <div class="fieldDescription">
If checked, season 0 (specials / extras) will be included in analysis.
<br />
<br />
Note: Shows containing both a specials and extra folder will identify extras as season 0 and ignore specials, regardless of this setting. Note: Shows containing both a specials and extra folder will identify extras as season 0 and ignore specials, regardless of this setting.
</div> </div>
</div> </div>
<div class="inputContainer">
<label class="inputLabel inputLabelUnfocused" for="MaxParallelism"> Maximum degree of parallelism </label>
<input id="MaxParallelism" type="number" is="emby-input" min="1" />
<div class="fieldDescription">Maximum number of simultaneous async episode analysis operations.</div>
</div>
<div class="checkboxContainer checkboxContainer-withDescription"> <div class="checkboxContainer checkboxContainer-withDescription">
<label class="emby-checkbox-label"> <label class="emby-checkbox-label">
<input id="SelectAllLibraries" type="checkbox" is="emby-checkbox" /> <input id="SelectAllLibraries" type="checkbox" is="emby-checkbox" />
@ -142,34 +144,22 @@
<div class="fieldDescription">Similar sounding audio which is longer than this duration will not be considered credits.</div> <div class="fieldDescription">Similar sounding audio which is longer than this duration will not be considered credits.</div>
</div> </div>
<p>The amount of each episode's audio that will be analyzed is determined using both the percentage of audio and maximum runtime of audio to analyze. The minimum of (episode duration * percent, maximum runtime) is the amount of audio that will be analyzed.</p>
<p>
If the audio percentage or maximum runtime settings are modified, the cached fingerprints and introduction timestamps for each season you want to analyze with the modified settings <b>will have to be deleted.</b>
Increasing either of these settings will cause episode analysis to take much longer.
</p>
<div class="inputContainer" id="movieCreditsDuration"> <div class="inputContainer" id="movieCreditsDuration">
<label class="inputLabel inputLabelUnfocused" for="MaximumMovieCreditsDuration"> Maximum movie credits duration (in seconds) </label> <label class="inputLabel inputLabelUnfocused" for="MaximumMovieCreditsDuration"> Maximum movie credits duration (in seconds) </label>
<input id="MaximumMovieCreditsDuration" type="number" is="emby-input" min="1" /> <input id="MaximumMovieCreditsDuration" type="number" is="emby-input" min="1" />
<div class="fieldDescription">Segments longer than this duration will not be considered movie credits.</div> <div class="fieldDescription">Segments longer than this duration will not be considered movie credits.</div>
<br /> <br />
</div> </div>
</details>
<details id="mediasegment"> <p>
<summary>Jellyfin MediaSegment Generation</summary> The amount of each item's audio or content that will be analyzed is determined using both the percentage of audio and maximum runtime to analyze. The minimum of (duration * percent, maximum runtime) is the amount that will be analyzed.
</p>
<br /> <p>
<div class="checkboxContainer checkboxContainer-withDescription"> If the audio percentage or maximum runtime settings are modified, the cached fingerprints and timestamps for each series, season, or movie you want to analyze with the modified settings <b>will have to be deleted</b>.
<label class="emby-checkbox-label"> <br />
<input id="UpdateMediaSegments" type="checkbox" is="emby-checkbox" /> Increasing either of these settings will cause episode analysis to take much longer.
<span>Update Media Segments for Newly Added Files During Scan</span> </p>
</label>
<div class="fieldDescription">Enable this option to update media segments for newly added files during a scan. <b>Warning:</b> This should be disabled if you're using media segment providers other than Intro Skipper.</div>
</div>
<div class="checkboxContainer checkboxContainer-withDescription"> <div class="checkboxContainer checkboxContainer-withDescription">
<label class="emby-checkbox-label"> <label class="emby-checkbox-label">
@ -202,6 +192,12 @@
<summary>Process Configuration</summary> <summary>Process Configuration</summary>
<br /> <br />
<div class="inputContainer">
<label class="inputLabel inputLabelUnfocused" for="MaxParallelism"> Maximum degree of parallelism </label>
<input id="MaxParallelism" type="number" is="emby-input" min="1" />
<div class="fieldDescription">Maximum number of simultaneous async episode analysis operations.</div>
</div>
<div class="checkboxContainer checkboxContainer-withDescription"> <div class="checkboxContainer checkboxContainer-withDescription">
<label class="emby-checkbox-label"> <label class="emby-checkbox-label">
<input id="CacheFingerprints" type="checkbox" is="emby-checkbox" /> <input id="CacheFingerprints" type="checkbox" is="emby-checkbox" />
@ -257,7 +253,7 @@
<div class="checkboxContainer checkboxContainer-withDescription"> <div class="checkboxContainer checkboxContainer-withDescription">
<label class="emby-checkbox-label"> <label class="emby-checkbox-label">
<input id="AutoSkip" type="checkbox" is="emby-checkbox" /> <input id="AutoSkip" type="checkbox" is="emby-checkbox" />
<span>Automatically skip intros</span> <span>Automatically Skip Intros</span>
</label> </label>
<div class="fieldDescription"> <div class="fieldDescription">
@ -269,7 +265,7 @@
<div id="divSkipFirstEpisode" class="checkboxContainer checkboxContainer-withDescription"> <div id="divSkipFirstEpisode" class="checkboxContainer checkboxContainer-withDescription">
<label class="emby-checkbox-label"> <label class="emby-checkbox-label">
<input id="SkipFirstEpisode" type="checkbox" is="emby-checkbox" /> <input id="SkipFirstEpisode" type="checkbox" is="emby-checkbox" />
<span>Play intro for first episode of a season</span> <span>Play Intro for First Episode of a Season</span>
</label> </label>
<div class="fieldDescription">If checked, auto skip will play the introduction of the first episode in a season.<br /></div> <div class="fieldDescription">If checked, auto skip will play the introduction of the first episode in a season.<br /></div>
@ -283,10 +279,16 @@
<br /> <br />
</div> </div>
<div class="inputContainer">
<label class="inputLabel inputLabelUnfocused" for="RemainingSecondsOfIntro"> Intro playback duration (in seconds) </label>
<input id="RemainingSecondsOfIntro" type="number" is="emby-input" min="0" />
<div class="fieldDescription">Seconds of introduction ending that should be played. Defaults to 2.</div>
</div>
<div class="checkboxContainer checkboxContainer-withDescription"> <div class="checkboxContainer checkboxContainer-withDescription">
<label class="emby-checkbox-label"> <label class="emby-checkbox-label">
<input id="AutoSkipCredits" type="checkbox" is="emby-checkbox" /> <input id="AutoSkipCredits" type="checkbox" is="emby-checkbox" />
<span>Automatically skip credits</span> <span>Automatically Skip Credits</span>
</label> </label>
<div class="fieldDescription"> <div class="fieldDescription">
@ -313,7 +315,7 @@
<div id="SkipButtonContainer" class="checkboxContainer checkboxContainer-withDescription"> <div id="SkipButtonContainer" class="checkboxContainer checkboxContainer-withDescription">
<label class="emby-checkbox-label"> <label class="emby-checkbox-label">
<input id="SkipButtonEnabled" type="checkbox" is="emby-checkbox" /> <input id="SkipButtonEnabled" type="checkbox" is="emby-checkbox" />
<span id="SkipButtonVisibleLabel">Show skip intro / credit button</span> <span id="SkipButtonVisibleLabel">Show All Skip Buttons</span>
</label> </label>
<div class="fieldDescription"> <div class="fieldDescription">
@ -326,45 +328,39 @@
Failed to add skip button to web interface. See <a href="https://github.com/intro-skipper/intro-skipper/wiki/Troubleshooting#skip-button-is-not-visible" target="_blank" rel="noopener noreferrer">troubleshooting guide</a> for the most common issues. Failed to add skip button to web interface. See <a href="https://github.com/intro-skipper/intro-skipper/wiki/Troubleshooting#skip-button-is-not-visible" target="_blank" rel="noopener noreferrer">troubleshooting guide</a> for the most common issues.
</div> </div>
<div id="SkipButtonSettings">
<div id="PersistContainer" class="checkboxContainer checkboxContainer-withDescription">
<label class="emby-checkbox-label">
<input id="PersistSkipButton" type="checkbox" is="emby-checkbox" />
<span>Display button for intro duration</span>
</label>
<div class="fieldDescription">
If checked, skip button will remain visible throught the intro (offset and timeout are ignored).
<br />
Note: If unchecked, button will only appear in the player controls after the set timeout.
</div>
</div>
<div id="divShowPromptAdjustment" class="inputContainer">
<label class="inputLabel inputLabelUnfocused" for="ShowPromptAdjustment"> Skip prompt offset (in seconds) </label>
<input id="ShowPromptAdjustment" type="number" is="emby-input" min="0" />
<div class="fieldDescription">Seconds to display skip prompt before introduction begins.</div>
<br />
</div>
<div id="divHidePromptAdjustment" class="inputContainer">
<label class="inputLabel inputLabelUnfocused" for="HidePromptAdjustment"> Skip prompt timeout (in seconds) </label>
<input id="HidePromptAdjustment" type="number" is="emby-input" min="2" />
<div class="fieldDescription">Seconds after introduction before skip prompt is hidden.</div>
<br />
</div>
</div>
<div class="inputContainer">
<label class="inputLabel inputLabelUnfocused" for="RemainingSecondsOfIntro"> Intro playback duration (in seconds) </label>
<input id="RemainingSecondsOfIntro" type="number" is="emby-input" min="0" />
<div class="fieldDescription">Seconds of introduction ending that should be played. Defaults to 2.</div>
</div>
<details> <details>
<summary>User Interface Customization</summary> <summary>User Interface Customization</summary>
<br /> <br />
<div id="SkipButtonSettings">
<div id="PersistContainer" class="checkboxContainer checkboxContainer-withDescription">
<label class="emby-checkbox-label">
<input id="PersistSkipButton" type="checkbox" is="emby-checkbox" />
<span>Display Button for Segment Duration</span>
</label>
<div class="fieldDescription">
If checked, skip button will remain visible for the entire intro (offset and timeout are ignored).
<br />
Note: If unchecked, button will only appear in the player controls after the set timeout.
</div>
</div>
<div id="divShowPromptAdjustment" class="inputContainer">
<label class="inputLabel inputLabelUnfocused" for="ShowPromptAdjustment"> Skip prompt offset (in seconds) </label>
<input id="ShowPromptAdjustment" type="number" is="emby-input" min="0" />
<div class="fieldDescription">Seconds to display skip prompt before introduction begins.</div>
<br />
</div>
<div id="divHidePromptAdjustment" class="inputContainer">
<label class="inputLabel inputLabelUnfocused" for="HidePromptAdjustment"> Skip prompt timeout (in seconds) </label>
<input id="HidePromptAdjustment" type="number" is="emby-input" min="2" />
<div class="fieldDescription">Seconds after introduction before skip prompt is hidden.</div>
<br />
</div>
</div>
<div class="inputContainer"> <div class="inputContainer">
<label class="inputLabel" for="SkipButtonIntroText"> Skip intro button text </label> <label class="inputLabel" for="SkipButtonIntroText"> Skip intro button text </label>
<input id="SkipButtonIntroText" type="text" is="emby-input" /> <input id="SkipButtonIntroText" type="text" is="emby-input" />
@ -733,15 +729,15 @@
} else if (autoSkip.checked) { } else if (autoSkip.checked) {
autoSkipClientList.style.display = "unset"; autoSkipClientList.style.display = "unset";
autoSkipClientList.style.width = "100%"; autoSkipClientList.style.width = "100%";
skipButtonVisibleLabel.textContent = "Show skip credit button"; skipButtonVisibleLabel.textContent = "Show Skip Credit Button";
} else if (autoSkipCredits.checked) { } else if (autoSkipCredits.checked) {
autoSkipClientList.style.display = "unset"; autoSkipClientList.style.display = "unset";
autoSkipClientList.style.width = "100%"; autoSkipClientList.style.width = "100%";
skipButtonVisibleLabel.textContent = "Show skip intro button"; skipButtonVisibleLabel.textContent = "Show Skip Intro Button";
} else { } else {
autoSkipClientList.style.display = "unset"; autoSkipClientList.style.display = "unset";
autoSkipClientList.style.width = "100%"; autoSkipClientList.style.width = "100%";
skipButtonVisibleLabel.textContent = "Show skip intro / credit button"; skipButtonVisibleLabel.textContent = "Show All Skip Buttons";
} }
skipButtonVisibleChanged(); skipButtonVisibleChanged();
} }