26.2.2023, 23:35
(Tento příspěvek byl naposledy změněn: 27.2.2023, 15:17 uživatelem JiRo.
Důvod úpravy: Překlepy
)
Několi postů výše přišel @radoorech s nápadem, zda by se nedala v Kodi jednouše zobrazit informace o tom, že jde vysílání sportovního zápasu/závodu živě, tedy že je to přímý přenos. Má první reakce byla, že je to zbytečnost, která stejně nijak udělat nepůjde. Nakonec mi to ale nedalo, zamyslel se nad tím a řekl si, že to zkusím. Výsledek, který mě nakonec stál jen pár minut času, stojí za to. Teprve ve chvíli, kdy jsem si v Kodi zobrazil toto:
došlo mi, jaký měl @radoorech dobrý nápad. Až v té chvíli jsme si uvědomil, kolikrát se v té nabídce sportovních kanálů ztrácím, a že někdy přehlédnu vyloženou perlu živého vysílání. Uznáte sami, že není nad okamžitý zážitek...
Takže jak na to. To hlavní se děje v souboru Includes_PVR.xml, konkrétně v includes EpgGrid. Z několika možných jsem si vybral řešení, kdy smybol LIVE vkládám před text názvu pořadu. Protože v EpgGrid nejde použí grouplist, který by byl přirozeným řešením, musím místo pro zobrazení symbolu získat podmíněným přesunutím textu pomocí animation. To je první úprava:
Druhá úprava je pak už jenom vložení symbolu do stejného místa, kdy byl před tím text, který jsem si odsunul stranou. Přidám celý control blok typu image:
V obou případech je podmínkou posunu a vložení obrázku výraz $EXP[epg_event_live], což je jednoduchá logická funkce. Můžete se obejít bez $EXP a vložit tam tu funkci přímo, ale protože je tam ta podmínka použita 4x, je samozřejmě použití $EXP lepší cestou. Navíc se dá předpokládat, že ta logická funkce bude časem narůstat, takže je lepší, mít ji definovanou zvlášť, a ne přímo v kodu definice include. Jejím obsahem je (pro tuto chvíli) pouze toto:
Nezapomeňte, že tu úpravu musíte provést 2x, jednou v <itemlayout> a jednou ve <focusedlayout> bloku.
Co se týče obrázku, já si ho umisťuji přímo do adresáře skinu special://skin/extras/textures/flags/pvr/live.png, zatím jako obyčejný soubor, ale čas od času tyto soubory vkládám do Texture.xbt. Proto ho mám uložený ve struktuře adresářů, kterou pak mohu jednoduše nakopírovat do adresáře textures, ze kterého vytvářím komprimovaný xbt.
Soubor jsem vyrobil v jednoduchém graf. editoru a moc jsme nad tím nepřemýšlel. Jistě by šel vytvořit i mnohem lépe. Grafik tedy nejsem...
došlo mi, jaký měl @radoorech dobrý nápad. Až v té chvíli jsme si uvědomil, kolikrát se v té nabídce sportovních kanálů ztrácím, a že někdy přehlédnu vyloženou perlu živého vysílání. Uznáte sami, že není nad okamžitý zážitek...
Takže jak na to. To hlavní se děje v souboru Includes_PVR.xml, konkrétně v includes EpgGrid. Z několika možných jsem si vybral řešení, kdy smybol LIVE vkládám před text názvu pořadu. Protože v EpgGrid nejde použí grouplist, který by byl přirozeným řešením, musím místo pro zobrazení symbolu získat podmíněným přesunutím textu pomocí animation. To je první úprava:
Kód:
<control type="label" id="1">
<left>6</left>
<top>0</top>
<height>36</height>
<aligny>center</aligny>
<font>font13</font>
<label>$INFO[ListItem.Label]</label>
<animation effect="slide" start="0,0" end="40,0" condition="$EXP[epg_event_live]">Conditional</animation> <!-- EASY+ -->
</control>
Kód:
<control type="image"> <!-- EASY+ -->
<visible>$EXP[epg_event_live]</visible>
<left>6</left>
<top>0</top>
<width>36</width>
<height>36</height>
<aspectratio>keep</aspectratio>
<texture>special://skin/extras/textures/flags/pvr/live.png</texture>
</control>
Kód:
<expression name="epg_event_live">String.Contains(ListItem.Plot,Přímý přenos) | String.Contains(ListItem.Plot,Priamy prenos)</expression>
Co se týče obrázku, já si ho umisťuji přímo do adresáře skinu special://skin/extras/textures/flags/pvr/live.png, zatím jako obyčejný soubor, ale čas od času tyto soubory vkládám do Texture.xbt. Proto ho mám uložený ve struktuře adresářů, kterou pak mohu jednoduše nakopírovat do adresáře textures, ze kterého vytvářím komprimovaný xbt.
Soubor jsem vyrobil v jednoduchém graf. editoru a moc jsme nad tím nepřemýšlel. Jistě by šel vytvořit i mnohem lépe. Grafik tedy nejsem...