• Vítejte na XBMC-Kodi.cz
  • Česko-slovenská komunita fanoušků XBMC/Kodi
Vítejte návštevníku! Přihlášení Registrace


Hodnocení tématu:
  • 0 Hlas(ů) - 0 Průměr
  • 1
  • 2
  • 3
  • 4
  • 5
Skiny pro 4k a větší uhlopříčky "zobrazovadel"
#24
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:
 
Kód:
<res width="2560" height="1440" aspect="16:9" default="false" folder="1440" />
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:
 
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>
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:
 
Kód:
<?xml version="1.0" encoding="UTF-8"?>
<includes>
    <include name="SkinSettings">
        <onload>Skin.SetString(skin_directory,1080)</onload>
    </include>
</includes>
v adresáři 1440, celkem očekávaně, pak:
 
Kód:
<?xml version="1.0" encoding="UTF-8"?>
<includes>
    <include name="SkinSettings">
        <onload>Skin.SetString(skin_directory,1440)</onload>
    </include>
</includes>
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-ů:
  • Estuary Easy 3.0.10.0 1080
  • Estuary Easy 2K 3.0.10.0 1440
[attachment=10076][attachment=10077]
 
Citovat
  


Příspěvků v tématu
RE: Skiny pro 4k a větší uhlopříčky "zobrazovadel" - od JiRo - 04.2.2024, 12:10

Přejít na fórum:


Prochází: 1 host(ů)