Change subtitle preferences to prefer forced-only and PGS
Some checks failed
Build JellyCon / build (py2) (push) Has been cancelled
Build JellyCon / build (py3) (push) Has been cancelled
CodeQL Analysis / analyze (python, 3.9) (push) Has been cancelled
Release Drafter / Update release draft (push) Has been cancelled
Test JellyCon / test (3.9) (push) Has been cancelled
Some checks failed
Build JellyCon / build (py2) (push) Has been cancelled
Build JellyCon / build (py3) (push) Has been cancelled
CodeQL Analysis / analyze (python, 3.9) (push) Has been cancelled
Release Drafter / Update release draft (push) Has been cancelled
Test JellyCon / test (3.9) (push) Has been cancelled
- Change prefer_srt_over_pgs default from true to false PGS has better quality when burned in during transcoding - Add only_forced_subtitles setting (default: true) When enabled, only forced subtitles are selected Regular subtitles are skipped even if they match the language - Skip non-forced subtitles in auto-selection when only_forced is enabled Prevents selecting regular German subs when watching German content Only shows forced subs for foreign language parts This is useful for native language content where only foreign language parts need subtitles (forced), not the entire movie.
This commit is contained in:
@@ -1325,3 +1325,7 @@ msgstr "Bei keinem Treffer automatisch 'Keine Untertitel' wählen"
|
||||
msgctxt "#30701"
|
||||
msgid "Abspielen mit Track-Auswahl"
|
||||
msgstr "Abspielen mit Track-Auswahl"
|
||||
|
||||
msgctxt "#30702"
|
||||
msgid "Nur Forced-Untertitel auswählen (keine normalen)"
|
||||
msgstr "Nur Forced-Untertitel auswählen (keine normalen)"
|
||||
|
||||
@@ -1316,3 +1316,7 @@ msgstr "Auto-select 'No subtitles' if no match found"
|
||||
msgctxt "#30701"
|
||||
msgid "Play with track selection"
|
||||
msgstr "Play with track selection"
|
||||
|
||||
msgctxt "#30702"
|
||||
msgid "Only select forced subtitles (no regular subs)"
|
||||
msgstr "Only select forced subtitles (no regular subs)"
|
||||
|
||||
@@ -810,6 +810,7 @@ def audio_subs_pref(url, list_item, media_source, item_id, audio_stream_index, s
|
||||
preferred_sub_lang = sub_lang_index_map[sub_lang_index] if sub_lang_index < len(sub_lang_index_map) else ''
|
||||
|
||||
prefer_forced = settings.getSetting("prefer_forced_subtitles") == "true"
|
||||
only_forced = settings.getSetting("only_forced_subtitles") == "true"
|
||||
prefer_srt = settings.getSetting("prefer_srt_over_pgs") == "true"
|
||||
auto_no_subs = settings.getSetting("auto_no_subtitles_if_no_match") == "true"
|
||||
|
||||
@@ -965,8 +966,8 @@ def audio_subs_pref(url, list_item, media_source, item_id, audio_stream_index, s
|
||||
auto_selected = None
|
||||
best_score = -1
|
||||
|
||||
log.debug("Auto-selecting subtitle: preferred_lang={0}, prefer_forced={1}, prefer_srt={2}".format(
|
||||
preferred_sub_lang, prefer_forced, prefer_srt))
|
||||
log.debug("Auto-selecting subtitle: preferred_lang={0}, prefer_forced={1}, only_forced={2}, prefer_srt={3}".format(
|
||||
preferred_sub_lang, prefer_forced, only_forced, prefer_srt))
|
||||
|
||||
for stream in subtitle_streams_data:
|
||||
score = 0
|
||||
@@ -975,6 +976,12 @@ def audio_subs_pref(url, list_item, media_source, item_id, audio_stream_index, s
|
||||
is_forced = stream.get('IsForced', False)
|
||||
is_default = stream.get('IsDefault', False)
|
||||
|
||||
# Skip non-forced subtitles if only_forced is enabled
|
||||
if only_forced and not is_forced:
|
||||
log.debug("Skipping non-forced subtitle {0} ({1}) - only_forced is enabled".format(
|
||||
stream_lang, stream['Index']))
|
||||
continue
|
||||
|
||||
# Score based on language match
|
||||
if preferred_sub_lang and language_matches(stream_lang, preferred_sub_lang):
|
||||
score += 100
|
||||
|
||||
@@ -54,7 +54,8 @@
|
||||
<setting id="auto_select_default_audio" type="bool" label="30687" default="true" visible="true"/>
|
||||
<setting id="preferred_subtitle_language" type="select" label="30688" lvalues="30699|30691|30692|30693|30694|30695|30696|30697|30698" default="1" visible="true"/>
|
||||
<setting id="prefer_forced_subtitles" type="bool" label="30689" default="true" visible="true"/>
|
||||
<setting id="prefer_srt_over_pgs" type="bool" label="30690" default="true" visible="true"/>
|
||||
<setting id="only_forced_subtitles" type="bool" label="30702" default="true" visible="true"/>
|
||||
<setting id="prefer_srt_over_pgs" type="bool" label="30690" default="false" visible="true"/>
|
||||
<setting id="auto_no_subtitles_if_no_match" type="bool" label="30700" default="true" visible="true"/>
|
||||
<setting id="max_play_queue" type="slider" label="30447" default="200" range="20, 10, 1000" option="int" visible="true"/>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user