Page 1 of 1

Language inner workings

Posted: 12 Jun 2017, 19:47
by devster
I'm trying to understand a bit better how audio languages are detected and processed.
The objective is to have "English" or "Eng, Ita" in case of single language or multi-language movies.
Which of the following is the preferred way to do things:

Code: Select all

{ audioLanguages.size() > 1 ? audioLanguages.join(", ").upperInitial() :
    { any {import net.filebot.Language; Language.findLanguage(audio.language[0]).name}
          {audio.LanguageString[0]} 
          {audioLanguages[0].name}
          {languages[0].name} // can also use .first() to replace [0]
    }
}
I don't know the details but it seems a bit redundant to put them all, I feel like there's at least some repetition here.
Also, how would I modify this in case I wanted to get ISO3 or 2/B codes also for the single-language movie?

Thank you

Command used (for reference) is:

Code: Select all

filebot -script fn:amc [other options] --def movieFormat=@/path/to/scripts/movie.groovy

Re: Language inner workings

Posted: 12 Jun 2017, 20:51
by rednoah
devster wrote: 12 Jun 2017, 19:47 The objective is to have "English" or "Eng, Ita" in case of single language or multi-language movies.
e.g.

Code: Select all

{def a = audioLanguages; a.size() > 1 ? a.ISO3 : a.name}
devster wrote: 12 Jun 2017, 19:47 Also, how would I modify this in case I wanted to get ISO3 or 2/B codes also for the single-language movie?
e.g.

Code: Select all

{audioLanguages.ISO3}

Code: Select all

{audioLanguages.ISO3B}

Code: Select all

{audioLanguages.ISO2}