MKV container supports to tag audio/video tracks so PMS can detect what language it is.
When container doesn't support it (mainly AVI[Divx/XviD]) or your external subs are named without lang ID, then PMS detects them as UND {undetermined}
When tag is recognized, it is easier to define preference like "eng,off;jpn,eng" what means disable subs if ENG audio is played or eng subs when jpn audio is played.
With und audio or und subs, you need to define it same way. Eg. my test config for Audio/Sub priority:
- Code: Select all
cs,off;en,cs;und,off;en,en;*,cs;*,off
For all IFs this apply ==> {if above wasn't true then continue to the next statement}- If CS audio is present, no subs are loaded
- If EN audio is played, select CS subs (if exists)
- If audio is unknown, disable subs --> it is because most of my UND files (AVI) are in my native language and other ones like MKV all have lang tag set
- If en audio is present, play en subs (if exists)
- If any other (see above what is "any other") audio is detected, play them with CS subs (if exists)
- If any other audio is detected but CS subs wasn't found, it disables subs totally
- if none of above will fit, subs preference can't find correct subs so no subs are loaded --> not in my case where last IF fits to all possilities
EDIT:
And how to define language tag for external subs?
Moviename.mkv (video file name)
Moviename.CS.srt (czech subs with CS tag defined => "." is separator)
Moviename.EN.srt (english subs with EN tag defined => "." is separator)
Moviename.CS-forced.srt (czech forced subs with CS-FORCED tag defined => "." is separator for language and "-" for "forced" tag how PMS recognize them)
Forced subs are also loaded in case you will play native audio ==> CS,OFF
Preference says to disable subs when your native audio is played but when FORCED is detected, you want to load them because you want to know what they talk in clingon/latin/etc... (it is not dubbed)