• 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:
  • 10 Hlas(ů) - 2.6 Průměr
  • 1
  • 2
  • 3
  • 4
  • 5
Estuary Easy
@hromar - Někdo rád inspirace o Estuary Easy, přestože je neuplatní.
Někdo rád od Ondřeje Astona Neffa Best of Hyena, přestože k Čapkovi má daleko.
Důvod a účel nakládání s informacemi je pestrý, jak u stvořitelů, tak příjemců.
 
Citovat
@JiRo: Mám udělaný tento skin Easy co všechno budu muset změnit při přechodu na Kodi 19? Komplet předělat skin?  8
 
Citovat
@otava5 No jo, přechod na novou major verzi Kodi (respektive na novou verzi xbmc.gui) je pro skinnera zlý sen. Poradit jak postupovat je těžké. Záleží na množství změn ve tvém skinu oproti tomu původnímu, jejich rozložení v souborech skinu a také na množství změn a jejich rozložení v nové verzi Estuary. Jo a pak samozeřejmě na tom, jak chceš úpravu skinu pojmout. Jestli tak, že jsi poprvé vyšel z nějakého skinu a rozhodl se, že ho budeš dále rozvíjet zcela samostatně a nebo, že stále budeš pracovat s původním skinem a implementovat do něj pokaždé jen pár svých rozšíření. Já si u "mých" Estuary "Xyz" zvolil ten druhý způsob.

Odbočka:

Já se tím (přechodem na Matrix) nějak zabývám už delší dobu, ale současně s tím se snažím překopat modifikaci skinu do nějaké vhodnější podoby. Nebudu zastírat, že mě ty tanečky kolem mých modifikací Estuary už "se.ou" a tak přemýšlím, že se nakonec nějak od té celé minulosti skinů Estuary Stream-Cinema a Easy a dalších, odstřihnu definitivně a pustím se nějakou jinou cestou. Spojování se Stream-Cinema (ať už originál nebo jeho klon) mně nic nepřináší a ani já, ani ty druhé strany o spolupráci (z celé řady důvodů) příliš neprahnou, tak proč se vysilovat. Ale tomuto tématu na fóru se budu věnovat už jen jako jakési dílně, ve které můžeme všichni publikovat dílčí nápady a bavit se o skinningu. Za mne tedy stále platí to, co je napsáno v 1. příspěvku tohoto tématu a i když tu v průběhu doby zazněly myšlenky o publikování skinu Estuary Easy, tak byly později vždy dementovány. Berte to tak, že výraz Estuary Easy jsem vymyslel v souvislosti s tímto tématem obsahující návody na to, jak skin modifikovat, @Client si to pak přivlastnil pro svůj skin od kterého mě odstřihl (a já jsem nakonec za to rád), ale že teď už žádná souvislost mezi tímto tématem a skinem stejného (nebo jakéhokoliv jiného, začínajícího na Estuary, kromě toho původního) jména neexistuje. Bez ohledu na to, co tady různí a rádoby vtipní posměváčkové (o Colombově manželce třeba) píší. To je jejich problém a možná problém jejich schopnost porozumět napsanému textu. No a jestli nakonec nějaký veřejný skin Estuary Easy vznikne, to už není moje věc (a o tom jsem ostatně už napsal dříve) ani věc tohoto tématu (alespoň z mého pohledu, ostatní ať si tu exhibují jak chtějí).


Sorry za odbočku, pokračujme...

V Matrixu došlu u skinu k několika typům změn. Asi nejdůležitější jsou nové funkce PVR, možná i nějaké kolem hudební knihovny. To plyne z informací o změnách v samotném Matrixu. Já volím zhruba následující postup:
  1. Porovnám si Estuary Leia a Estuary Matrix abych věděl, u kterých souborů došlo ke změně a nadále si udržuji přehled (seznam) o tom, které soubory skinu v Matrixu se změnily oproti Leia
  2. Zkopíruji si Estuary Matrix do nové verze modifikované skinu Estuary "Xyz" Matrix
  3. Nakopíruji si do nové verze modifikovaného skinu Estuary "Xyz" Matrix všechny adresáře a soubory, které ve skinu Estuary "Xyz" Leia přibyly v souvislosti s modifikací původního Estuary Leia - to je ostatně důvod, proč se snažím v modifikaci spíše přidávat nějaké soubory než ty původní editovat. Ne vždy to jde, ne vždy je to efektvní (narůstá tím velikost skinu a některé operace to může i mírně zpomalovat), ale s ohledem na budoucí úpravy je to pak jednodušší a přehlednější. Samozřejmě to používám s rozumem a když to nejde jinak, prostě místo přidání souboru edituji ten originální.
  4. Mám samozřejmě trvalý přehled (seznam) o tom, v jakých souborech z původního Estuary Leia při úpravě na Estuary "Xyz" Leia došlo ke změně (všechny změny důsledně komentuji odpovídajícími tagy, a tak je dokážu celkem jednoduše identifikovat a vyhledat, např. pomocí grep)
  5. Udělám si průnik seznamu ad 1 a ad 3 a pak zasednu k ruční práci.
To znamená že:
  • soubory, které se mezi verzemi Estuary Leia a Estuary Matrix nezměnily a jsou přitom v seznamu ad 3, překopíruji z Estuary "Xyz" Leia do Estuary "Xyz" Matrix
  • soubory, které se mezi verzemi Estuary Leia a Estuary Matrix změnily a jsou přitom v seznamu ad 3 musím prohlédnout, zjistit o jaké změny šlo a pak postupovat podle toho, o jak zásadní a rozsáhlé změny šlo:
    • pokud jde o drobné změny, překopíruji soubor z Estuary "Xyz" Leia do Estuary "Xyz" Matrix a zahrnu do něj ručně změny odpovídající Estuary Matrix
    • v případě rozsáhlejší změn postupuji obráceně, tzn. do souboru odpovídající Estuary Matrix implementuji změny, které jsem už opřed tím provedl už v Estuary "Xyz" Leia
Samozřejmě, že pokud se v nové verzi objeví zásadně nové funkce, je čas i na jejich případnou modifikaci k obrazu konceptu Estuary "Xyz". Pokud je to zřejmé a jasné, snažím se to provést hned při přechodu na novou master verzi, ale většinou si to nechávám na pozdější dobu. Ono se totiž může stát, že některé nové funkce ještě u Alpha/Beta prereleas verzí doznají změn. Došlo k tomu už při přechodu mezi Krypton - Leia, proč by k tomu nemohlo dojít i teď. Ostatně, některé nové funkce ve skinu Estuary Matrix jsou podle mne odfláknuty (např. ty spojené s novými funcemi v Guide (EPG), nebo nové způsoby zobrazení doplňujících informací ve full screen video, takže tam k nějakým změnám možná dojde (nebo je pak provedu sám).

Přemýšlel jsme už několikrát použít nějakého "patch-ovací" systému, ale vzhledem k tomu, že to zas tak velká práce není a dělá se to stejně jen jednou za čas, usoudil jsem, že to za to nestojí. Je fakt, že tohoto rozhodnutí (jednou za čas) lituji...  1
 
Citovat
Breadcrumbs Label

To, že Kodi používá pro zobrazení pohybu po struktuře svých stránek techniku breadcrumbs navigation je zřejmé. Funguje celkem dobře ve všech nativních funkcích, o něco hůře pak v addons. Do jisté míry je to sice otázka toho, jak se k tomu ten který dotyčný tvůrce postaví, ale někdy jsou myšlenkové pochody tvůrců addons těžko k pochopení a o tom, že by dodržovali nějako afinitu k výchozímu prinicpu ani nemluvě. Markantní je to u video addons. Analyzoval jsme čtyři populární addons, Stream Cinema, Stream Cinema Community, Netflix a hGO EU. Ani jeden z nich ta pravidla moc nedodržuje, a jeden po druhém, každý v jiných detailech, do nich ad-hoc vládá méně či více (ne)pravidel. To (ne)pravidel je míněno tak, že i když se už autor rozhodne to pojmout jinak, podle svých pravidel, tak se časo (případ od případu) nedrží ani jich.

Tu analýzu jsme si udělal důkladnou, včetně screenshotů a vysvětlení, jak ten který addon tu "cestičku drobečků" sestavuje, ale vzheldem k tomu, že jak se zdá, je téma Estuary Easy už nezajímavé, podrobný popis (zatím) vynechám.

A pro ty, které to téma zajímá jen několik základních faktů:
  • breadcrumbs label se sestavuje v rámci tzv. TopBar
  • definice je uvedena v základním include (includes.xml)
  • breadcrumbs label je include TopBar řešený jako control block grouplist, ve jterém jsou jednotlivé části zapínány a vypínány podle konkrétního obsahu - tady je mimo jiné hezky vidět, jak je důležité vyplňovat položy v seznamech podle pravidel a zásad Kodi
Zásahem do této definice můžete lecos ovlivnit, neovlivníte ale to, když se samotný tvůrce addon nedrží zavedených postupů. To je pak každá snaha marná.

Já jsme si například, jako test udělal  jednoduchou úpravou, kdy si substituuji názvy addons, a vyřešil tak problém nesmyslně dlouhého názvu addon Stream Cinema Community. Těch dílčích úprav je samozřejmě více, ale s ohledem na celkem jednoduchou strukturu tohoto include je asi zbytečné je popisovat, to každý vidí.
Kód:
 
<control type="grouplist">
<left>35</left>
<description>Left side of top bar</description>
<width>900</width>
<top>8</top>  <!-- EASY* Change -7 => 8 -->
<height>100</height>
<orientation>horizontal</orientation>
<usecontrolcoords>true</usecontrolcoords>
<animation effect="fade" start="0" end="100" time="300">WindowOpen</animation>
<animation effect="fade" start="100" end="0" time="200">WindowClose</animation>
<animation effect="slide" end="0,10" time="200" reversible="true" condition="String.IsEmpty(Control.GetLabel(18900))">Conditional</animation>
<control type="label">
<label>$PARAM[breadcrumbs_label]</label>
<include>BreadcrumbsLabel</include>
</control>
<control type="label">
<label>$INFO[Container.ShowTitle, / ]</label>
<include>BreadcrumbsLabel</include>
<visible>!String.IsEmpty(Container.ShowTitle) + !String.IsEqual(Container.ShowTitle,Container.FolderName)</visible>
</control>
<control type="label"> <!-- EASY* -->
<label>$INFO[Container.FolderName, / ]</label>
<include>BreadcrumbsLabel</include>
<visible>![Container.Content() + Window.IsActive(videos)]</visible>
<visible>![Window.IsActive(MyPVRChannels.xml) | Window.IsActive(MyPVRTimers.xml) | Window.IsActive(MyPVRRecordings.xml) | Window.IsActive(MyPVRSearch.xml)]</visible>
<visible>!String.IsEqual(Container.FolderName,Stream Cinema Community) + !String.IsEqual(Container.FolderName,Stream Cinema CZ a SK)</visible> <!-- EASY+ -->
</control>
<control type="label"> <!-- EASY+ -->
<label> / Stream Cinema</label>
<include>BreadcrumbsLabel</include>
<visible>![Container.Content() + Window.IsActive(videos)]</visible>
<visible>![Window.IsActive(MyPVRChannels.xml) | Window.IsActive(MyPVRTimers.xml) | Window.IsActive(MyPVRRecordings.xml) | Window.IsActive(MyPVRSearch.xml)]</visible>
<visible>String.IsEqual(Container.FolderName,Stream Cinema Community) | String.IsEqual(Container.FolderName,Stream Cinema CZ a SK)</visible>
</control>
<control type="label">
<label>$INFO[Container.PluginCategory, / ]</label>
<include>BreadcrumbsLabel</include>
<visible>!String.isempty(Container.PluginCategory)</visible>
</control>
<!-- <control type="label"> -->
<!-- <label>$INFO[Control.GetLabel(10),: ]</label> -->
<!-- <include>BreadcrumbsLabel</include> -->
<!-- <visible>!String.IsEqual(Control.GetLabel(10),$LOCALIZE[16100]) + Window.IsActive(videos)</visible> -->
<!-- </control> -->
<control type="label">
<left>10</left>
<label>($LOCALIZE[31052])</label>
<include>BreadcrumbsLabel</include>
<visible>Container.Filtered</visible>
</control>
</control>

Apelovat na tvůrce addon je, jak se zdá zbytečné. Tvůrci skinu Estuary Easy, pokud vím, těch úprav v TopBar provedli daleko více, ale ani tak nedosáhli nějakého absolutního sjednocení. Ono se to možná zdá malicherné, ale mě osobně tedy situace, kdy jsem uprostřed nějakého seznamu (a nevidím jakého), docela irituje. Snažím se tedy na této problematice pracovat, takže pokud na tom někdo bude podobně, je tohle to pravé téma (a místo v definičních souborech) k řešení.
 
Citovat
Ahojte
Potreboval by som poradiť vytvoril som si skin len robí takú blbosť že keď vypnem a zapnem kodi tak už len krúti a už nič nenacita v tejto fáze sa aj nedá vypnúť kodi len ho sekne musí sa na tvrdo restartnut apka. Ale keď znením potom skin na pôvodný estuary vypnem kódy znovu zapnem a prehodím skin na ten môj vytvorený tak opäť všetko pekne načíta. Vedel by s tým niekto poradiť. Zaujímavé ešte je že napríklad na PC a Macu skin funguje ako ma len na Androide robí tuto blbosť
@JiRo: ty si tu najväčší odborník možno si sa s tým už stretol.
 
Citovat
@hardo12 A co sa ti "krúti"? Načítání widgetů? A nejsou to náhodou widgety z SCC? Asi ti těžko poradím takto na dálku, jedině, kdybys ten skin v zip připojil do fóra a až si ho stáhnu, tak ho smazal.
 
Citovat
@JiRo:  ano je to skin SCC. ale robilo mi to aj na skine ktori som cisto vytvoril z estuary.


tu je odkaz
https://drive.google.com/drive/folders/1...sp=sharing

Áno krúti načítavanie widgetu a keď dám znovu načítanie skinu tak už nezobrazí ani knižnice tiež sa len krúti ale už nenacita nič.
 
Citovat
@hardo12 No, obcně je tam porblém spočívající v tom, že po spuštění Kodi chvilku trvá, než má SCC k dispozici obsah seznamů., z kterých se ve skinu sestavují widgety. To je jeden porblém, který by mohl za to, že se ti widgety zobrazí dobře po přepnutí na skin (SCC už běží), ale ne v okamžiku, když restartuješ Kodi (SCC se při tom spouští).

Zajímavé je, že se ti ale nezobrazí widgety po restartu skinu nebo že se ti nazobrazí widgety z knihovny. To by asi dělat nemělo.

No, zkusím to doma na mém testovacím Kodi, ale musíš vydržet, dostanu se tam asi až pozítří.
 
Citovat
@JiRo:
Úplne v pohode to ma čas keď to bude fungovať budem rad a keď nie tak budem kodi využívať ako do teraz každopádne vopred ďakujem za ochotu a hlavne čas.

@JiRo: este mam jedu otazku da sa do skinu doprogramovat aby ked zvolim film tak mi ukaze tam kde je rozlisenie doba trvania kodec aj ze by zobrazilo cas skoncenia filmu.???
 
Citovat
@hardo12 K dotazu na čas skončení filmu. Pokud to chceš zobrazit spolu s informacemi o kterých píšeš, které se zobrazují přes klávesu "O", tak tam ale přeci už ta infromace je. V Estuary se v tomto případě přeci zobrazí v horní části obrazovky, hned po hodinami.
 
Citovat
@JiRo:
Áno to je pravda keď pustíš film tak ta informácia tam je. Myslím to tak že ta informácia by bola napríklad umiestnená dole ešte pred spustením filmu tak ako to ma estuary mod2. Áno tu sa vynára otázka prečo potom nevyužívam mod2 (príde mi hrozné pomaly).

V pravo dole [Obrázek: DGtaN0G.jpg]
 
Citovat
@hardo12 Jo, už rozumím. Mrknu se na to také, asi zítra. Doteď jsme si myslel, že absolutní čas konce přehrávaného titulu počítá Kodi player nebo že to Kodi umí jen u PVR. To, že to umí Kodi i pro běžná videa jsme netušil. Vyzkouším a zkusím to doplnit do těch infromací tak, jak to má mod2.

BTW mod2 je pravdu pomalý, patří k těm skinům, které jsou náročné na CPU. Proto jsem ostatně, když jsem ještě Kodi provozoval na RPi, začal upravovat Estuary.
 
Citovat
@JiRo: super dakujem velmi pekne  6
 
Citovat
Zobrazení času konce přehrání vybraného titulu

Na žádost @hardo12 jsem se pokusil přidat do výpisu atributů vybraného titulu čas konce jeho přehrání. Využívá se k tomu hodnota uložení v EndTimeResume. Tento čas se v Kodi počítá tak, že se k aktuálnímu času Kodi přičte doba do skončení přehrávání vybraného titulu počítaaná od uložené pozice přehrávání. Pokud titul nebyl ještě přehráván (není "rozkoukaný"), tak tedy od jeho začátku. Čas se zobrazuje pouze tehdy, je-li pro vybraný titul k dispozici hodnota jeho celkové doby přehrání.

Edituje se soubor Include.xml, část defincie <include name="MediaFlags">. Vyřešil jsme to tak, že se atribut času konce přehrání zobrazí hned za atribut celkové doby přehrání. Do pole pro zobrazení atributu jsem pro přehlednost ještě umístil symbol hodin.
   
Pozice pro umístění nové definice je tedy za blokem, který definuje zobrazení atributu celkové doby přehrávání:
Kód:
<control type="group">
<width>115</width>
<visible>!String.IsEmpty($PARAM[infolabel_prefix]ListItem.Duration)</visible>
<control type="label">
<width>115</width>
<height>60</height>
<align>center</align>
<aligny>center</aligny>
<label>$INFO[$PARAM[infolabel_prefix]ListItem.Duration]</label>
<font>font_flag</font>
</control>
<include content="MediaFlag">
<param name="texture" value="flags/flag.png" />
</include>
</control>
 Hned za výše uvedený kód je tedy třeba umístit kód následující:
Kód:
<control type="group"> <!-- EASY+ EndTime -->
<width>115</width>
<visible>!String.IsEmpty(ListItem.Duration) + !String.IsEmpty(ListItem.EndTimeResume)</visible>
<control type="image">
<top>20</top>
<left>10</left>
<width>20</width>
<height>20</height>
<fadetime>0</fadetime>
<aspectratio aligny="center" align="center">keep</aspectratio>
<texture>icons/pvr/pvr-hastimer.png</texture>
</control>
<control type="label">
<left>20</left>
<width>95</width>
<height>60</height>
<align>center</align>
<aligny>center</aligny>
<label>$INFO[ListItem.EndTimeResume]</label>
<font>font_flag</font>
</control>
<include content="MediaFlag">
<param name="texture" value="flags/flag.png" />
</include>
</control>
 
Citovat
@JiRo: Super Funkčné. Dakujem velmi pekne.
 
Citovat
@JiRo:
Tak sa mi ten problém podarilo odstrániť odložením štartom.
Ale mám ešte jednu otázku dasa nejak vo widgete skrit už videné filmy??
 
Citovat
@hardo12 Jo jo, to je ten správný postup. Já jsem se k těm tvým skinům ještě nedostal. Sorry. Takže už to asi nepotřebuješ.

Ano dá se, ale jen u widgetu, který zobrazuje filmy z knihovny. Použije se buď definice volaná přes Node nebo SmartPlaylist.
 
Citovat
Update modifikovaného skinu na novou major verzi Kodi (Matrix)

Věnova jsme se tomu tématu souhrnně v https://www.xbmc-kodi.cz/prispevek-estua...9#pid96529 a protože existuje řada těch, kteří si skiny upravují sami, určitě jim přijde vhod tento odkaz 
v19 -  Changes to the skinning engine for Kodi Matrix, ve kterém se na jednom místě dozvědí, co nového se v proměnných skinu v Matrix objevilo. Je to užitečná pomůcka, která může sloužit i jako inspirace k tomu, co nového se v souvislosti s novými funkcemi Kodi 19 dá ve skinu vymyslet, a to i tehdy, pokud to základní Estuary nemá ještě realizované.

Za mě je tam velké pole působnosti v oblasti hudební knihovny, kde se konečně nějak zohlednila vícedisková alba - jestli dobře nebo ne, tak to jsme ještě neměl čas vyzkoušet, ale doufám, že se k tomu brzy dostanu.

Další věcí jsou změny v PVR, zejména pak funkce upozornění na začátek pořadu nebo nový dialog EPG, umožňující komfortní pohyb v EPG.

Je toho ještě více, ale od toho je tady právě ten odkaz, který (kromě vyzkoušení si nových funkcí v Estuary) může pomoci se v tom lépe orientovat.
 
Citovat
@JiRo
V pohode aj tak dakujem hlavne ze mi to ide

A nieco take aby mi oznacovalo uz vo widgete ze som to videl sa da dorobit ?
 
Citovat
@JiRo: Vedel by si mi s tym helfnut myslim tu fajku na lavo dole vo Widgete alebo ze film ktory som uz videl by bol tmavsi ako to ma napr estuary mod 2
 
Citovat
  


Přejít na fórum:


Prochází: 2 host(ů)