• 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:
  • 5 Hlas(ů) - 2.6 Průměr
  • 1
  • 2
  • 3
  • 4
  • 5
Aeon Nox 5: SiLVO (Matrix,Leia, Krypton, Jarvis, Isengard, Helix)
@RenEdi Tak jsem problematice zobrazení seznamu streamů SCC v ANS věnoval nějakou chvíli a myslím si, že jsem ty základní principy a problémy, o kterých se tu píše výše, pochopil. Popsat to celé, včetně základních principů a pravidel Kodi, addons a skins asi za to v dané chvíli nestojí. Proto se v této chvíli budu věnovat pouze problému nezobrazování jazykových stop v případě v SCC vypnutého nastavení Kompaktní okno výběru streamů. Ostatní případy, včetně zdvojení zobrazení jazykových stop, je-li naopak nastavení Kompaktní okno výběru streamů zapnuto, mohu popsat v případě, bude-li o to zájem. Stejně tak vynechám i obecnější popis principů jak na straně addon, tak skinu, které za touto probematikou stojí. Ale opět, pokud o to bude zájem, jsem ochoten se o to podělit.

Workaround pro zobrazení jazykové stopy v seznamu streamů SCC

Možností, jak toho dosáhnout je mnoho, já jsem zvolil to, které bude znamenat nejmenší zásah do definičních souborů skinu. Předem upozorňuji, že jsem úpravu neotestoval ve všech částech a funkcích Kodi. Zaměřil jsem se pouze na to, zda bude po úpravě fungovat požadované zobrazení jazykové stopy, ale je možné, že to může ovlivnit zbrazení v jiných částech Kodi (i když to příliš nepředpokládám). Pokud se tak přesto stane, dejte mi vědět a já se pokusím o úpravu sofistikovanější, která by případně vzniklé problémy eliminovala.

Úpravu jsem provedl a otestoval v Kodi 18.9/CoreELEC 9.2.5 na skinu Aeon  Nox SILVO v7.0.9 instalovamého z CoreELEC Add-on repsitory.

Edituje se soubor .../addons/skin.aeon.nox.silvo/16x9/Variables.xml
Najděte část:
Kód:
    <!-- SelectDialog -->
    <variable name="DialogSelectLabel2Var">
        <value condition="String.IsEqual(Control.GetLabel(1),$LOCALIZE[25006])">$INFO[ListItem.Duration(mins),, [LOWERCASE]$LOCALIZE[12391][/LOWERCASE]]</value>
        <value condition="!String.IsEmpty(ListItem.Label2) + String.Contains(Control.GetLabel(1),Artwork Beef)">$INFO[ListItem.Label2]</value>
        <value>$INFO[ListItem.AddonVersion]</value>
    </variable>
a nahraďte ji:
Kód:
    <!-- SelectDialog -->
    <variable name="DialogSelectLabel2Var">
        <value condition="String.IsEqual(Control.GetLabel(1),$LOCALIZE[25006])">$INFO[ListItem.Duration(mins),, [LOWERCASE]$LOCALIZE[12391][/LOWERCASE]]</value>
        <value condition="!String.IsEmpty(ListItem.Label2)">$INFO[ListItem.Label2]</value>
        <value>$INFO[ListItem.AddonVersion]</value>
    </variable>
což neznamená nic jinéhom než ze z výrazu jedné z podmínek "vyhodíte":
Kód:
+ String.Contains(Control.GetLabel(1),Artwork Beef)
Doporučuji si tam ten původní výraz ponechat a zakomentovat, abyste se v případě zjištění problémů v jiné části Kodi mohli rychle vrátit k původnímu obsahu definičního souboru. Pak by ten konečný tvar mohl vypadat například takto?
Kód:
    <!-- SelectDialog -->
    <variable name="DialogSelectLabel2Var">
        <value condition="String.IsEqual(Control.GetLabel(1),$LOCALIZE[25006])">$INFO[ListItem.Duration(mins),, [LOWERCASE]$LOCALIZE[12391][/LOWERCASE]]</value>
        <!-- <value condition="!String.IsEmpty(ListItem.Label2) + String.Contains(Control.GetLabel(1),Artwork Beef)">$INFO[ListItem.Label2]</value> -->
        <value condition="!String.IsEmpty(ListItem.Label2)">$INFO[ListItem.Label2]</value>
        <value>$INFO[ListItem.AddonVersion]</value>
    </variable>
Pak už jen stačí soubor uložit a restartovat skin nebo celé Kodi.

Na závěr si dovolím přeci jen obecnější poznámku pro ty, kteří se vyznají v addons a skinech.

Je otázka, jak by se to celé vlastně mělo chovat. Obecně platí zásada, že by addons i skins měly být psány tak, aby dodržovaly zásady, principy a pravidla Kodi a také, aby jejich funkce vyhovovaly či odpovídaly vždy základnímu skinu, tedy Estuary/Estouchy. V tomto případě (zobrazování jazykových stop v obou případech, tedy normální i kompaktní zobrazení) to addon SCC víceméne splňuje. K diskusi je snad jen to, že v případě kompaktního zobrazení naplňuje informaci o jazykové stopě i do Label2, ačkoliv ji už uvedl i v Label. ANS bohužel (na rozdíl od Estuary) v daném typu zobrazení zobrazí nejen Label, ale i Label2 a proto to zdvojení. V Estuary se to neděje, protože se v daném typu zobrazení obsah Label2 nepoužije.

Ono vůbec to, jak toto zobrazení řeší ANS, je k zamyšlení. Zatímco Estuary zobrazí jak Icon, tak Label a Label2 (ten dokonce na 2. řádku záznamu - což je v daném případě vhodnější a přehlednější, protože v případě většího množství jazykových stop v jednom streamu nehorzí, že se text Label a Label2 "potká" *), což může hrozit u ANS - viz dále), tak skin ANS text z Label a Label2 umístí na jeden řádek. Label se zobrazuje zarovnán na začátek řádku a Label2 na jeho konec. Tohle je sice v jiných případech (seznamy titulů) obvyklý postup (ale mlčky se předpokládá, že text v Label2 není příliš dlouhý, je však otázka, zda je to v tomto případě vhodné. Jiná věc ale je, že ANS ikonu neumisťuje do řádku záznamu, ale zobrazuje ji zvlášť a pouze pro aktuálně vybraný záznam (řádek). To je z hlediska přehlednosti, pokud těch streamů bude v seznamu více, asi méně vhodné. Suma sumárum, ačkoliv ANS považuji za jeden z nejlepších skinů, tak právě tato funkce se dle mého názoru moc nepovedla.

Pro porovnání Estuary (resp. mod Easy, ve kterém je pouze zvětšena šíře okna 1200/selectdialog) a ANS:
       

*) Podívejte se na obrázek v tomto příspěvku od @RenEdi. Tam je to vidět krásně. Jednak to zdvojení informací o jazykové stopě, jednou je tam v rámci obsahu Label (text je zarovnán zleva) a podruhé jako obsah samotného Label2 (text zarovnán zprava). A potkává se to v případech, kdy některý text zleva, naplněný z Label, končí třemi ".", což znamená, že se do vymezené oblasti nevejde celý, je zkrácen a zprava ho doplňuje text z Label2, zarovnaný zprava.
 
Citovat
  


Příspěvků v tématu
RE: Aeon Nox 5: SiLVO - od Rossi D - 13.5.2016, 8:17
RE: Aeon Nox 5: SiLVO - od matchboxx - 14.5.2016, 9:31
RE: Aeon Nox 5: SiLVO - od Rossi D - 14.5.2016, 10:10
RE: Aeon Nox 5: SiLVO - od flyboysek - 16.5.2016, 11:34
RE: Aeon Nox 5: SiLVO - od Rossi D - 16.5.2016, 17:02
RE: Aeon Nox 5: SiLVO - od flyboysek - 17.5.2016, 8:44
RE: Aeon Nox 5: SiLVO - od Radek_Kovacik - 06.10.2019, 19:10
RE: Aeon Nox 5: SiLVO - od Rossi D - 17.5.2016, 16:32
RE: Aeon Nox 5: SiLVO - od flyboysek - 17.5.2016, 19:07
RE: Aeon Nox 5: SiLVO - od matchboxx - 17.5.2016, 19:17
RE: Aeon Nox 5: SiLVO - od Rossi D - 17.5.2016, 21:02
RE: Aeon Nox 5: SiLVO - od flyboysek - 17.5.2016, 21:34
RE: Aeon Nox 5: SiLVO - od Rossi D - 18.5.2016, 8:41
RE: Aeon Nox 5: SiLVO - od adis - 18.5.2016, 19:44
RE: Aeon Nox 5: SiLVO - od matchboxx - 18.5.2016, 20:00
RE: Aeon Nox 5: SiLVO - od Rossi D - 18.5.2016, 20:15
RE: Aeon Nox 5: SiLVO - od adis - 18.5.2016, 20:26
RE: Aeon Nox 5: SiLVO - od Rossi D - 18.5.2016, 20:53
RE: Aeon Nox 5: SiLVO - od Fistd - 18.5.2016, 21:04
RE: Aeon Nox 5: SiLVO - od adis - 18.5.2016, 21:18
RE: Aeon Nox 5: SiLVO - od Rossi D - 18.5.2016, 21:23
RE: Aeon Nox 5: SiLVO - od Fistd - 18.5.2016, 21:25
RE: Aeon Nox 5: SiLVO - od Rossi D - 18.5.2016, 21:33
RE: Aeon Nox 5: SiLVO - od Fistd - 18.5.2016, 21:36
RE: Aeon Nox 5: SiLVO - od Rossi D - 19.5.2016, 16:58
RE: Aeon Nox 5: SiLVO - od ericek74 - 23.5.2016, 16:31
RE: Aeon Nox 5: SiLVO - od Rossi D - 23.5.2016, 17:50
RE: Aeon Nox 5: SiLVO - od ericek74 - 23.5.2016, 19:20
RE: Aeon Nox 5: SiLVO - od Rossi D - 23.5.2016, 19:48
RE: Aeon Nox 5: SiLVO - od ericek74 - 24.5.2016, 15:24
RE: Aeon Nox 5: SiLVO - od Rossi D - 24.5.2016, 16:49
RE: Aeon Nox 5: SiLVO - od Rossi D - 30.6.2016, 8:31
RE: Aeon Nox 5: SiLVO (Leia, Krypton, Jarvis, Isengard, Helix) - od JiRo - 09.1.2021, 14:44

Přejít na fórum:


Prochází: 16 host(ů)