• 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
je tu nejaky skuseny SKIN MOD-er?
#22
@BoroSK Já se omlouvám, nějak jsme si zafixoval to Conflluence a ten ZeitGeist mi unikl, takže to co jsme poslal bylo pro originální Confluence. Jinak co se týče toho umístění, to už napsal správně @hitman222, jen je třeba dodat, že to jsou adresáře skinu, v něm jsou ještě podadesáře a ty soubory je třeba umístit do nich. V Estuary je to xml, v Confluence 720p. Na ten ZeitGeist se ti podívám, ale musím si ho nejdříve nainstalovat.

A k tomu keymap. Ten, jak píšeš "velký", to jsou soubory s default mapováním a ty jsou umístěny tak, jak opět správně psal @hitman222. V instalačním adresáři Kodi. Tedy podle typu instalace, ale vždy je to .../kodi/system/keymaps/ Každý typ vstupního zařízení tam má vlastní soubour mapování, ale to je celkem jedno, protože typ, pro který je mapování určeno, určuje sekce ve vlastním popisu <keyboard>, <remote>, ... U toho uživatelského mapování je to stejné, jen ten adresář je trochu jinde, je v Kodi datovém (home) adresáři .../userdata/keymaps/. Souborů tam můžeš mít i více, vždy se to řídí jejich obsahem, ne jménem. Prakticky se to nejčastěji dělá tak, že se uživatelské mapování pro všechny zařízení umisťuje do jednoho souboru.

To, jak jsem psal, že vycházím ze souborů default mapování znamená, že si ty soubor co mě zajímají překopíruji do toho uživatelského adresáře a pak je spojím a edituji ručně a buď ty default vyhodím, nebo je nahradím, případně (pokud chci default tlačítko jen zneplatnit, tak ten příkaz nahradím Noop). Je to proto, abych viděl, kolik a jakých je tam sekcí a nemusel to pracně hledat. Ten soubor mám pojmenovaný keymaps.xml abych to odlišil od souboru, který generuje addon Keymap Editor (gen.xml), který skoro vůbec nepoužívám. Je to sice o něco větší práce, ale já to už takhle dělám léta, kdy ten obsah souboru postupně narůstal, a mám díky tomu všechna vstupní zařízení na všech DO nastavena tak nějak nějak podobně.

Ono je tohle ještě o něco složitější, těch "mapování" tlačítek v Kodi je několik úrovní, záleží to na typu systému (Windows, Android, Linux) i typu zařízení (IR DO, IR přes USB, IR CEC), navíc je tam vložena jakási "meta úroveň", která to celé vysvětlení trochu zesložiťuje. Asi by si to zasloužilo nějaký podrobnější popis a vysvětlení, ale na to není kapacita. Možná někdy, až nebudu mít opravdu co dělat, tak vytvořím nějaký jendoduchý elaborát. 1

Ale zpátky k praktické části. Budeš-li tedy chtít mapovat to zobrazení CodecInfo pro hudbu, musíš do tvého souboru s uživatelským mapováním vložit toto:
Kód:
...
  <Visualisation>
    <keyboard>
      <o>ActivateWindow(window1190)</o>
    </keyboard>
  </Visualisation>
  <MusicOSD>
    <keyboard>
      <o>ActivateWindow(window1190)</o>
    </keyboard>
  </MusicOSD>
  <VisualisationPresetList>
    <keyboard>
      <o>ActivateWindow(window1190)</o>
    </keyboard>
  </VisualisationPresetList>
...
Samozřejmě, pokud tam žádnou z těch sekcí, <Visualisation>, <MusicOSD> nebo <VisualisationPresetList> heště nemáš. Pokud už tam je, tak do ní pouze přidej to konkrétní mapování, tedy řádek <o>ActivateWindow(window1190)</o>.

Myslím, že je zřejmé, jak se vytváří vazba mezi klávesou o a těmi soubory, co jsem vytvořil. Není to přes jméno souboru. To může být v podstatě jakékoliv, rozhodující je, jaké id okna je v definici použité. A to jsem si já zvolil jako 1190. To id je v definici hned na začátku a je pro tu vazbu mezi klávesou a tím, co je v daném souboru nadefinováno že se stane, když se klávesa stiskne, rozhodující. Ne tedy název souboru! Když se do těch souborů podíváš, uvidíš to hned ve 2. řádku. Pro definiční subor skinu Estuary ten soubor začíná takto:
Kód:
<?xml version="1.0" encoding="UTF-8"?>
<window type="dialog" id="1190"> <!-- SC+ MusicProcessInfo - 2020-04-23 -->
<depth>DepthOSD</depth>
<defaultcontrol always="true">5550</defaultcontrol>
<animation effect="fade" start="0" end="100" time="300">WindowOpen</animation>
<animation effect="fade" start="100" end="0" time="200">WindowClose</animation>
<controls>
<control type="group">
<bottom>0</bottom>
<height>250</height>
<animation effect="slide" end="0,-20" time="150" condition="true">conditional</animation>
<control type="image">
<left>10</left>
<top>-240</top>
<right>10</right>
<height>370</height>
<texture border="40">buttons/dialogbutton-nofo.png</texture>
</control>
...
2. řádek je tedy: <window type="dialog" id="1190"> <!-- SC+ MusicProcessInfo - 2020-04-23 -->

Význam je následující:
  1. window - označuje, že je to definice okna
  2. type="dialog" - dialog okno, které se zobrazuje přes okno, ve kterém bylo vyvoláno (to původní okno okno se neuzavře)
  3. id="1190" - definice id okna
  4. <!-- SC+ MusicProcessInfo - 2020-04-23 --> - můj komentář, který tam pochopitelně být nemusí
Platí, že se doporučuje custom okna číslovat od 1100 do 1199. Pro každý skin ale ještě existuje nějaká používaná logika tvroby jmen těch custom souborů, tak jsem se ji snažil zachovat. Proto se okna jmenují jak se jmenují, ale pro funkci je to celkem fuk. Důležité je zachovat adresář, kde je soubor s defincií uložen a ze kterého ho Kodi po svém spuštění načítá, a pak to id.

Tak snad jsem to už objasnil více. Omlouvám se, člověk už trpí určitou slepotou, a některé věci pokládá za sämozřejmé a tak nepovažuje za nutné je správně popsat. Nebo na to zapomene...  10

Na ten ZeitGeist se podívám.
 
Citovat
  


Příspěvků v tématu
RE: je tu nejaky skuseny SKIN MOD-er? - od Client - 25.4.2020, 19:43

Přejít na fórum:


Prochází: 2 host(ů)