View Single Post
Old 20th March 2018, 23:26   #22684  |  Link
sneaker_ger
Registered User
 
Join Date: Dec 2002
Posts: 5,565
Quote:
Originally Posted by tyrindor View Post
For example:
*|d;eng:*|f;jpn:eng

I would read this as "First set default track, if english is found enable english forced subs instead, if Japanese is found enable english subs instead. This doesn't work though, some english audio content still has default subs selected.
Priority is from left to right. It stops after the first match. If "*|d" (which I assume is the same as "*:*|d") is there it will match any audio, any subtitle language as long as there is a track marked as "default". Nothing after that is considered anymore when such a match is found.

Quote:
Originally Posted by tyrindor View Post
So what's the best way to achieve this in one command?
- If japanese audio is found enable english subs, if no english subs enable default subs.
- If english is found enable forced subs.
- If unknown language enable default subs. <-this is what I am struggling with, it always overwrites everything else.
If I strictly go by your description:
jpn:eng jpn:*|d eng:*|f *:*|d

But I also assume you want subtitles to be off for English audio unless there is English forced subs. You need an extra rule for that so it doesn't match the last rule which is basically a wildcard:
jpn:eng jpn:*|d eng:*|f eng:off *:*|d
And mostly you don't want any forced subtitles for English audio but also the English ones first:
jpn:eng jpn:*|d eng:eng|f eng:*|f eng:off *:*|d

You have to be exact.

Last edited by sneaker_ger; 20th March 2018 at 23:29.
sneaker_ger is offline   Reply With Quote