Context Menu

Context Menu je doplněk, který do kontextového menu Kodi přidává další položky, které nabízejí řadu specifických a dále popsaných funkcí. Koncepce řešení umožňuje autorovi přidávat další funkce dle libosti a možností, které Kodi nabízí. Doplněk využívá možnost definice kontextového menu nezávislého na konkrétním doplňku, přímo v jeho definičním souboru addon.xml. Z tohoto pohledu je množina funkcí otevřená a pokud někdo přijde s nápadem, jakou funkci by bylo vhodné doplnit, stačí dát návrh a já se o to (pokud to funkce Kodi dovolí) pokusím.

V současné chvíli není doplněk veřejný.
Původní verze už není funkční a na nové verzi, která bude poměrně zásadně přepracována, stále ještě pracuji.

Úrovně výběru položek

V doplňku budou fungovat tři úrovně výběru položek v menu (aplikují se v uvedeném pořadí):

  1. podle nastavení doplňku - to umožní uživateli vybrat si, které položky v menu mohou být zobrazeny
  2. podle stavu dalších doplňků - pokud je položka v menu vázána na nějaký další doplněk, kontroluje se, zda je doplněk instalovaný a povolený a pokud tomu tak není, tak se položka v menu neobjeví
  3. podle okamžitého kontextu - zobrazení položek v menu bude podmíněno aktuálním obsahem položky v seznamu, na které bylo kontextové menu vyvoláno

Dostupné položky a jejich funkce

Seznam dostupných položek a bude průběžně aktualizován. Jednak proto, že některé položky a funkce budou přibývat, ale také proto, že některé položky a funkce nebudou moci být nakonec také realizovány podle původního předpokladu z důvodu aktuálního omezení ze strany doplňků nebo aplikací, které využívá.

Seznam je v tuto chvíli členěný a seřazený zatím pouze podle funkcí a příslušnosti k funkční skupinám. Každou funkci samostatně nebo celou funkční skupinu, bude možné v nastavení doplňku povolit či zakázat.

Konečné umístění položek v kontextovém menu bude předmětem dalších úvah o tom, jaké položky a v jakých souvislostech budou využívány nejčastěji, a to tak, aby přístup k nim byl pro uživatele nejjednodušší a nejrychlejší. To platí i pro uživatelské položky a jejich umístění, kde bude zachována dosavadní flexibilita s možností volby pozice některých položek či celých skupin v uživatelském nastavení.

  • Uživatelsky definované funkce
    • Skupina uživatelsky definovaných funkcí, které je dále věnována samostatná kapitola
  • Funkce doplňkové
    • Hudba na pozadí - spustí přehrávání hudby při prezentaci obrázků
    • Přehrát upoutávku - z položky video spustí přehrávání upoutávky (trailer-u), pokud  v dané položce odkaz existuje
  • Funkce hledání
    • Skupina funkcí, které je dále věnována samostatná kapitola
    • Funkce knihovny a stahování
      • Vložení do knihovny - vloží (pokusí se vložit) vybraný titul z video doplňku (pokud se jedná o přehratelnou položku) do knihovny - funkce bude vybavena jistou základní heuristikou, která rozhodne o tom, zda je možné, tedy jakým způsobem a v jaké formě, titul do knihovny vložit.
      • Stažení videa - stáhne (pokusí se stáhnout) vybraný titul z video doplňku (pokud se jedná o přehratelnou položku) - funkce bude vybavena jistou základní heuristikou, která rozhodne o tom, zda je možné, tedy jakým způsobem a v jaké formě, titul stáhnou.
      • Funkce seznamů
        • Obnovení obsahu - provede tzv. Refresh, tedy nové načtení aktuálně zobrazeného seznamu
        • Odstranit - u položky, kde je to v rámci Kodi možné a povolené, se provede její "odstranění". Odstraněním je míněná akce (Action ID Delete) v daném kontextu, dle typu a stavu položky. Pokud není v daném kontextu tato akce definovaná nebo možná, neprovede se samozřejmě nic.
      • Funkce nastavení
        • Nastavení doplňku - spustí funkci nastavení doplňku, a to i v případě, že aktuálně zobrazený seznam byl nějakým doplňkem vytvořený - např. u položky widgetu
        • Nastavení Kodi - spustí funkci nastavení Kodi
        • Nastavení menu - spustí funkci nastavení doplňku Context Menu
      • Funkce informační
        • Item Info - vrátí aktuálně možný kompletní výpis obsahu položky v Kodi databázi

      Uživatelsky definované položky

      Doplněk umožňuje uživatelsky definovat další (až 4) položky kontextového menu, a každou z nich umístit do jedné ze čtyř pozic v menu. Pro každou položku je možné v nastavení doplňku definovat:

      • Povolení položky - povoluje její zobrazení ve zvolené pozici - defaultně Nepovoleno, tzn. položka nebude zobrazena
      • Pozice - definuje pozici zobrazení položky v jedné z možných pozic - defaultně Nedefinovaná, tzn. položka nebude zobrazena
      • Název - označení položky v kontextovém menu - defaultně prázdný řetězec
      • Styl - stylu fontu názvu Normální, Tučné, Kurzíva a Tučná kurzíva - defaultně Normální
      • Barva - barva fontu názvu Bílá, Šedá, Modrá, Zelená, Žlutá a Červená - defaultně Bílá
      • Příkaz - Kodi built-in příkaz, defaultně žádný.

      Funkce hledání

      U funkcí hledání dojde k zásadní změně oproti předcházejícím verzím doplňku. Motivací k těmto změnám je několik:
      • citlivost některých funkcí k zásadám, praktikám a omezením existujícím v komunitě kolem Kodi, jeho doplňků i dalších mediálních aplikací,
      • nové zdroje, nové doplňky, ale také nové mediální aplikace a jejich zdroje a doplňky, které se v Kodi dají použít - doplňky pro Stremio, Streamlet, Luna, ..., je toho dnes hodně a něco z toho má celkem jednoduše využitelný potenciál, stát se zdrojem pro Kodi a jeho doplňky,
      • tvorba komplexní python knihovny, modulů i doplňků z mé dílny, které jsem souhrnně nazval Easy Search Engin (ESE), která je koncipovaná tak, aby vytvořila jakýsi game changer pro funkce hledání v Kodi samotném, jejich doplňcích, ale také v samostatně fungující aplikaci Media Source Server (MSS), která mi ve finále poběží v režimu 24/7 na mém domácím serveru.
      Onou zásadní změnou je v první řadě rozdělení definice a nastavení položek funkcí hledání do dvou úrovní. V první úrovni si uživatel definuje položky funkce hledání, tedy jak se bude jím konfigurovaná funkce hledání prezentovat v kontext menu. To bude podobné tomu, jak se definují uživatelské položky (viz výše).

      Definice položky funkce hledání tedy bude vypadat nějak takto:

      • Povolení položky - povoluje její zobrazení - defaultně Nepovoleno, tzn. položka nebude zobrazena nikdy
      • Typ položky - určuje u jakých seznamů se bude položka zobrazovat (typicky např. u položky z guide (EPG), u daného typu doplňku, apod. - defaultně Vždy, kdy položka se objeví u každého seznamu
      • Název - označení položky v kontextovém menu - defaultně prázdný řetězec
      • Styl - stylu fontu názvu Normální, Tučné, Kurzíva a Tučná kurzíva - defaultně Normální
      • Barva - barva fontu názvu Bílá, Šedá, Modrá, Zelená, Žlutá a Červená - defaultně Bílá
      • Funkce hledání - ze seznamu vybraná jedna z konfigurovaných funkcí hledání - defaultně nevybraná žádná

      konfigurace funkce hledání, to bude právě ona druhá úroveň definice. Tady je stále ještě hodně otevřených témat a je to zatím asi nejčastěji se měnící část celého řešení. Ostatně, také je to ta část, s kterou mám teď nejvíce práce. Proto i tuto část prozatím popíši jen heslovitě, bodově a víceméně rámcově. Celé řešení funkcí hledání je postaveno na řetězení dílčích funkcí, kde si uživatel může, už v rámci konfigurace vybrat, které funkce v daném kroku řetězení povolí a jak si je nastaví. Generálně platí, že vždy v okamžiku, kdy je výsledkem nějakého kroku textový řetězec, může se při konfiguraci nastavit, že se zobrazí možnost, pro každý jednotlivý krok, tento řetězec ve standardní Kodi virtuální klávesnici upravit.

      Stručný  a velmi předběžný přehled konfigurace jednotlivých kroků vypadá asi nějak takto:

      • výběr zdroje položky
        • buď se taxativně vybere z několika typických položek - např. Title, Original Title, ...
        • nebo se zobrazí dialog, který nabídne všechny dostupné položky
      • výběr odpovídajícího titulu z TMDB
        • buď se výběr povolí, v takovém případě se spustí vyhledávání v TMDB s původním textem a uživatel dostane seznam nalezených titulů a vybere si z něj jediný, a další vyhledávání bude pracovat s tímto titulem
        • nebo bude další vyhledávání pracovat s původním textem
      • způsob výběru zdrojů hledání
        • buď se zdroje, ve kterých se bude hledat, vyberou v konfiguraci
        • nebo se v konfiguraci nastaví seznam zdrojů, který se při vyhledávání zobrazí jako nabídka zdrojů, ze kterých si uživatel vybere
      • způsob použití primárních zdrojů
        • buď budou použity existující doplňky, YAWSP, Fastshare, SC, ...
        • nebo budou použity interní moduly doplňku, využívající funkce Easy Search Engin
      • způsob prezentace výsledků
        • buď ve formě standardních výstupů existujících doplňků
        • nebo ve formě speciálních výstupů, což si ale vyžádá úpravy ve skinu

      Závěr

      S ohledem na stav vývoje je to velmi předběžná specifikace basic designu nové verze doplňku, která jistě dozná celou řadu dalších změn. Zejména v části funkcí hledání. Ale v dané chvíli je výše uvedený text asi nejpravděpodobnějším přiblížením toho, kam doplněk a jeho funkce směřují.

      Komentáře

      1. Podařilo se mi nešikovnou manipulací smazat komentář uživatele @meda, za což se mu omlouvám. Nebyl v tom úmysl a už vůbec ne reakce na obsah jeho příspěvku. Jen má nešikovnost a ještě ne úplně zvládnutá správa blogu. Doufám, že se mi tohle nebude stávat často.

        OdpovědětVymazat
      2. Context menu už mám něco málo přes rok a rád ho používám, díky za tvoji práci.

        OdpovědětVymazat

      Okomentovat