Append some common subtitle track titles

In order to not end up with multiple subitle tracks simply named for e.g. "English", add some common postfix to it when detected in track title.
This commit is contained in:
Rafał Dzięgiel
2021-06-02 15:47:09 +02:00
parent 7062af472b
commit 2d4353aaec
2 changed files with 26 additions and 1 deletions

View File

@@ -19,6 +19,16 @@ var settings = new Gio.Settings({
var maxVolume = 1.5;
/* Keys must be lowercase */
const subsTitles = {
sdh: 'SDH',
cc: 'CC',
traditional: 'Traditional',
simplified: 'Simplified',
honorifics: 'Honorifics',
};
const subsKeys = Object.keys(subsTitles);
let inhibitCookie;
function getClapperPath()
@@ -90,6 +100,17 @@ function getClapperThemeIconUri()
return iconUri;
}
function getSubsTitle(infoTitle)
{
if(!infoTitle)
return null;
const searchName = infoTitle.toLowerCase();
const found = subsKeys.find(key => key === searchName);
return (found) ? subsTitles[found] : null;
}
function loadCustomCss()
{
const clapperPath = getClapperPath();

View File

@@ -231,7 +231,11 @@ class ClapperWidget extends Gtk.Grid
break;
case GstClapper.ClapperSubtitleInfo:
type = 'subtitle';
text = info.get_language() || 'Undetermined';
const subsLang = info.get_language();
text = (subsLang) ? subsLang.split(',')[0] : 'Undetermined';
const subsTitle = Misc.getSubsTitle(info.get_title());
if(subsTitle)
text += ', ' + subsTitle;
break;
default:
debug(`unrecognized media info type: ${info.constructor}`);