Add option to manual skip when a full video segment exists

This commit is contained in:
Ajay 2022-09-03 23:16:18 -04:00
parent e81ff66dd3
commit 00d625013b
4 changed files with 25 additions and 2 deletions

View file

@ -463,6 +463,12 @@
"minDurationDescription": {
"message": "Segments shorter than the set value will not be skipped or show in the player."
},
"enableManualSkipOnFullVideo": {
"message": "Use manual skip when a full video label exists"
},
"whatManualSkipOnFullVideo": {
"message": "For people who want to watch the video uninteruppted if it is fully sponsored or self promotion."
},
"skipNoticeDuration": {
"message": "Skip notice duration (seconds):"
},

View file

@ -98,6 +98,20 @@
<div class="small-description">__MSG_minDurationDescription__</div>
</div>
<div data-type="toggle" data-sync="manualSkipOnFullVideo">
<div class="switch-container">
<label class="switch">
<input id="manualSkipOnFullVideo" type="checkbox" checked>
<span class="slider round"></span>
</label>
<label class="switch-label" for="manualSkipOnFullVideo">
__MSG_enableManualSkipOnFullVideo__
</label>
</div>
<div class="small-description">__MSG_whatManualSkipOnFullVideo__</div>
</div>
<div data-type="toggle" data-sync="forceChannelCheck">
<div class="switch-container">

View file

@ -25,6 +25,7 @@ interface SBConfig {
disableSkipping: boolean,
muteSegments: boolean,
fullVideoSegments: boolean,
manualSkipOnFullVideo: boolean,
trackViewCount: boolean,
trackViewCountInPrivate: boolean,
trackDownvotes: boolean,
@ -159,6 +160,7 @@ const Config: SBObject = {
disableSkipping: false,
muteSegments: true,
fullVideoSegments: true,
manualSkipOnFullVideo: false,
trackViewCount: true,
trackViewCountInPrivate: true,
trackDownvotes: true,

View file

@ -1690,9 +1690,10 @@ function createButton(baseID: string, title: string, callback: () => void, image
}
function shouldAutoSkip(segment: SponsorTime): boolean {
return utils.getCategorySelection(segment.category)?.option === CategorySkipOption.AutoSkip ||
return (!Config.config.manualSkipOnFullVideo || !sponsorTimes?.some((s) => s.category === segment.category && s.actionType === ActionType.Full))
&& (utils.getCategorySelection(segment.category)?.option === CategorySkipOption.AutoSkip ||
(Config.config.autoSkipOnMusicVideos && sponsorTimes?.some((s) => s.category === "music_offtopic")
&& segment.actionType !== ActionType.Poi);
&& segment.actionType !== ActionType.Poi));
}
function shouldSkip(segment: SponsorTime): boolean {