• 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
Jak na reuselanguageinvoker...
#1
Na fóru steramcinema.cz (a nejen tam) se diskutuje použití paramateru <reuselanguageinvoker>. Ve zmíněném fóru je o tom hezké vlákno Vypnut parameter reuselanguageinvoker, které celý problém popisuje, shrnuje a obsahuje i celou řadu užitečných odkazů, které se tímto bugem v Kodi (podle názoru některých to bug je), zabývají.

Důsledkem celého problém s tímto nastavením (stručne řečeno), tedy nastavením parametru <reuselanguageinvoker> na true, které se provádí v addon.xml doplňku, je to, že pokud ve skinu používáme více než jeden widget, u kterého se obsah jejich <content> prametru dynamicky mění, vede to k pádu Kodi. Snahou tedy je, mít v addon.xml nastavenu hodnotu <reuselanguageinvoker> na false. Je pravda, že pokud toto nastavení provedeme, může to ovlivnit rychlost Kodi v okamžiku, když nějaký takový doplněk použijeme. Ale jen na okraj a aby bylo jasno, není to změna nijak dramatická, v drtivé většině případů si ji uživatel ani nevšimne.

Tento problém se týká i doplňku Stream Cinema Community (SCC). Je tedy snaha nás, kteří používáme sofistikovanější skiny, u kterých se obsah parametru <content> může dynamicky měnit, aby doplněk, který je v tomto <content> volán, měl parametr <reuselanguageinvoker> na false. Autoři SCC o tomto problému vědí a dokonce sami potrvdili, že právě u SCC se nastavení <reuselanguageinvoker> na true, díky specifice (většina klíčových funkcí běží jako součást service) řešení doplňku, vůbec neprojeví. Přesto na náš návrh, aby tedy tento parametr nastavili na false, nereagovali pozitivně, tedy do té míry že by tu změnu provedli. Je sice pravda, že je možné nastavení v addon.xml provést ručne (editací), ale je také pravda, že po každém update dolňku je třeba tuto změnu provést znova.

Snažil jsme se ten problém pro sebe a mé přátele nějak, i když nepříliš dokonale, vyřešit. Jak jsem už napsal, používám ve skinu funkce, pro které je výše popsaný bug problémem. Naštěstí se to děje jen v okamžiku (v mém řešení skinu), kdy si uživatel změní nastavení jazykových preferencí pro dabované a titulkované fily a seriály, což se většinou neděje tak často. Proto je mé řešení víceméně dostačující. Tím spíše, že v drtivé většině já i mí přátelé používáme CoreELEC, pro které je také mé řešení určeno.

Podstata řešení je ta, že se snažím, pokud je v doplňku nastaveno <reuselanguageinvoker> na true, změnit ho na false. Protože je tento parametr definován v addon.xml, nejde to udělat "on the fly" v běžícím Kodi. Resp. lze, ale změna se projeví až po novém spuštění doplňku.

Podstatou řešení je změnit obsah addon.xml, což řeším zadáním jednoduchého příkazu v systému:
Kód:
sed -i.original -e 's|<reuselanguageinvoker>true</reuselanguageinvoker>|<reuselanguageinvoker>false</reuselanguageinvoker>|' /storage/.kodi/addons/plugin.video.stream-cinema-2-release/addon.xml
Aby uživatelé nemuseli tento příkaz zadávat (nebo spouštět) ručně, i když i to by bylo jedno z možných řešení (v Kodi by spuštění scriptu s tímto příkazem problém nebyl), umístil jsem příkaz do scriptu autostop.sh, který se v CoreELEC spouští při odstavení systému (a také při jeho restartu).

Znamená to, že např. po update doplňku SCC, kdy je v addon.xml parametr <reuselanguageinvoker> nastaven na true, stačí dát restart systému (myšleno CoreELEC, ne restart Kodi, to v tomto případě nestačí). Parametr <reuselanguageinvoker> (pokud je nastaven na true) v addon.xml se změní na false. Současně s tím se vytvoří kopie původního addon.xml a přejmenuje na addon.xml.original.

Co to znamená? Jen to, že po update doplňku SCC musí uživatel provést restart systému. Nic víc a nic méně. Ano, není to dokonalé, ale pro drtivou většinu uživatelů a jejich Kodi instalace, pro které je tento parametr problémem, je to lepší, než například po každé přeinstalaci editovat addon.xml ručně a nebo se vzdát těch funkcí, pro které je výše popsaný Kodi bug problémem.

Nabízí se samozřejmě otázka a co ostatní instalace? I tady existuje řešení, které ale popíši jen slovně. Stačí k tomu nějaký service addon (já takový ve svých instalací používám), a do něj editaci obsahu addon.xml vložit do části, kdy se service ukončuje. Tuto část by každá správně napsaná service měla mít. Pak místo restartu celého systému postačí pouze restart Kodi.

Samozřejmě, že se nabízí i řada jiných, více sofistikovaných a automatizovaných řešení, ale to si můžeme nechat na diskusi.
 
Citovat
  


Přejít na fórum:


Prochází: 1 host(ů)