04.2.2024, 12:10
(Tento příspěvek byl naposledy změněn: 04.2.2024, 15:40 uživatelem JiRo.
Důvod úpravy: Překlepy
)
Přepínání skinu mezi standardní velikostí a 2K rozměrem
To, jak dosáhnout zvětšení skinu na 2K rozměr, tedy z původních 1920x1080 na 2560x1440, jsem už popsal. Dosáhne se toho doplněním dalšího modu rozlišení do addon.xml:
Editací addon.xml je pak možné dosáhnout toho, že je možné si zvolit, zda chceme použít standardní rozlišení 1920x1080 nebo 2K rozlišení, 2560x1440. Je to potřeba, protože ne všichni mají velké (uhlopříčkou) obrazovky a i když jejich "malá" TV umí 4K rolišení, skin v rozměrech 2K je tam obtížně čitelný. Původně jsem to měl tak, že existovaly dva skiny Estuary Easy, klasický a tzv. Estuary Easy 2K. To ale bylo hodně nepraktické. Nakonec jsem, celkem náhodou zjistil, jak se vlastně skin engin při spuštění skinu, co se týče vztahu k parametrům <res> v addon.xml, chová.
Při spuštění skinu se vybírá ten parametr <res>, který je, z celého seznamu možných, tím nejbližším k aktuálně nastavenému zobrazení v nastavení Systém > Zobrazení > Rozlišení. Bere při tom v potaz nejen velkikost, ale i poměr stran. Tzn. že pokud mám v addon.xml:
a nastavím-li rozlišení na 1920x1080, použije se, z výše uvedeného seznamu rozlišení 1920x1080. a definiční soubory skinu se použijí z adresáře 1080. Nastavím-li ale rozlišení 3840x2160, použije se, z výše uvedeného seznamu rozlišení 2560x1440, a definiční soubory skinu se použijí z adresáře 1440.
Definiční soubory skinu mám tak uloženy ve dvou adresářích, 1080 a 1440. V obou adresářích jsou, až na jeden, všechny soubor shodné. Pokud tedy skin upravuji, provádím úpravu jen v jednom adresáři, a nakonec soubory překopíruji do druhého. Ten jediný soubor, který je v každém adresáři unikátní, jsem nazval .settings.xml. Jeho obsah je v každém adresáři různý. V adresáři 1080 je jeho obsah tento:
v adresáři 1440, celkem očekávaně, pak:
Díky tomu se při spuštění skinu, na základě hodnoty ve skin_directory, vše nastaví tak, jak je pro daný rozměr skinu třeba.
Aby to celé fungovalo správně, je třeba, vždy po změně rozlišení v nastavení systému, provést restart Kodi. Ve skinu Estuary Easy je na to pamatováno a pokud uživatel změnu v nastavení provede, je na to upozorněn. Zároveň, aby to bylo zřejmé, tak jsem aktuální nastavení skinu zobrazil i ve stavové infomaci v horním řádku hlavního menu, vedle loga Kodi. Můžete si toho všimnout u obou níže uvedených screenshot-ů:
To, jak dosáhnout zvětšení skinu na 2K rozměr, tedy z původních 1920x1080 na 2560x1440, jsem už popsal. Dosáhne se toho doplněním dalšího modu rozlišení do addon.xml:
Kód:
<res width="2560" height="1440" aspect="16:9" default="false" folder="1440" />Při spuštění skinu se vybírá ten parametr <res>, který je, z celého seznamu možných, tím nejbližším k aktuálně nastavenému zobrazení v nastavení Systém > Zobrazení > Rozlišení. Bere při tom v potaz nejen velkikost, ale i poměr stran. Tzn. že pokud mám v addon.xml:
Kód:
<extension point="xbmc.gui.skin" debugging="false">
<res width="1920" height="1440" aspect="4:3" default="false" folder="1080" />
<res width="1920" height="1280" aspect="3:2" default="false" folder="1080" />
<res width="1920" height="1200" aspect="16:10" default="false" folder="1080" />
<res width="2040" height="1080" aspect="17:9" default="false" folder="1080" />
<res width="1920" height="1080" aspect="16:9" default="false" folder="1080" />
<res width="2560" height="1080" aspect="21:9" default="false" folder="1080" />
<res width="2338" height="1080" aspect="19.5:9" default="false" folder="1080" />
<res width="2160" height="1080" aspect="18:9" default="false" folder="1080" />
<res width="2560" height="1440" aspect="16:9" default="false" folder="1440" />
</extension>Definiční soubory skinu mám tak uloženy ve dvou adresářích, 1080 a 1440. V obou adresářích jsou, až na jeden, všechny soubor shodné. Pokud tedy skin upravuji, provádím úpravu jen v jednom adresáři, a nakonec soubory překopíruji do druhého. Ten jediný soubor, který je v každém adresáři unikátní, jsem nazval .settings.xml. Jeho obsah je v každém adresáři různý. V adresáři 1080 je jeho obsah tento:
Kód:
<?xml version="1.0" encoding="UTF-8"?>
<includes>
<include name="SkinSettings">
<onload>Skin.SetString(skin_directory,1080)</onload>
</include>
</includes>Kód:
<?xml version="1.0" encoding="UTF-8"?>
<includes>
<include name="SkinSettings">
<onload>Skin.SetString(skin_directory,1440)</onload>
</include>
</includes>Aby to celé fungovalo správně, je třeba, vždy po změně rozlišení v nastavení systému, provést restart Kodi. Ve skinu Estuary Easy je na to pamatováno a pokud uživatel změnu v nastavení provede, je na to upozorněn. Zároveň, aby to bylo zřejmé, tak jsem aktuální nastavení skinu zobrazil i ve stavové infomaci v horním řádku hlavního menu, vedle loga Kodi. Můžete si toho všimnout u obou níže uvedených screenshot-ů:
- Estuary Easy 3.0.10.0 1080
- Estuary Easy 2K 3.0.10.0 1440
