Bastelecke,Unterhaltung

Kodi mit zusätzlichen Menüs individualisieren

11 Jan , 2015  

Unsere Medienzentrale im Wohnzimmer hat ein Update spendiert bekommen und läuft nun unter Kodi, dem ehemaligen XBMC. Kodi scheint wieder einen Schub in Richtung Performance auf dem RPi erfahren zu haben. Das freut mich sehr!

Schon lange wollte ich mich an die Erweiterung des Hauptmenüs machen und heute ist es soweit.

Aufgabe

Einbau eines neuen Hauptmenü-Punktes „Kinderfilme“

Schritte

  1. Intelligente Playlist in Kodi erstellen (bei mir heisst sie: kinderfilme)
    Liegt auf dem RPi dann unter
    /home/pi/.kodi/userdata/playlists/video/kinderfilme.xsp
    
    Inhalt z.B. als Typ "path":
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    <smartplaylist type="movies">
        <name>Kinderfilme</name>
        <match>all</match>
        <rule field="path" operator="startswith">
            <value>smb://monster/video/kinder/</value>
        </rule>
        <group>none</group>
    </smartplaylist>
    
    
  2. Dann ist die deutsche Sprachdatei zu erweitern. Hier steht der Text für das Menü drinnen. Einfach Datei mit einen Editor öffnen und einen eindeutige ID verwenden (und merken).
    /opt/xbmc-bcm/xbmc-bin/share/kodi/addons/skin.confluence/language/German/strings.po

    So sieht ein Eintrag in der .po-Datei aus:

    msgctxt "#50000"
    msgid "CHILDMOVIES"
    msgstr "KINDERFILME"
    
  3. Nun ist der neue Menüeintrag in die Datei Home.xml des Skins (bei mir der Default-Skin „Confluence“) einzutragen. Diese ist hier zu finden:
    /opt/xbmc-bcm/xbmc-bin/share/kodi/addons/skin.confluence/720p/Home.xml

    Suchen nach

    <item id="10">
    <label>31954</label>
    <onclick>ActivateWindow(Videos,MovieTitles,return)</onclick>
    <icon>-</icon>
    <thumb>-</thumb>
    <visible>!Skin.HasSetting(HomeMenuNoMovieButton) + Library.HasContent(Movies)</visible>
    </item>
    

    Anschließend mit neuer, eindeutig zu vergebener ID einfügen

    <item id="20">
    <label>50000</label>
    <onclick>ActivateWindow(VideoLibrary,special://videoplaylists/kinderfilme.xsp,return)</onclick>
    <icon>-</icon>
    <thumb>-</thumb>
    <visible>!Skin.HasSetting(HomeMenuNoMovieButton) + Library.HasContent(Movies)</visible>
    </item>
    

    Bitte beachten: das Tag „label“ referenziert auf den Text in der .po-Datei!

  4. Kodi neu starten (psst… man muss keinen Reboot machen sondern es langt Kodi über das Menü „zu verlassen“. Kodi beendet sich und startet neu.)

 

Und wie löst Kodi dieses „special::…../kinderfilme.xsp“ auf?

Genau so… :)

10:57:05 T:3038588928   DEBUG: CGUIMediaWindow::GetDirectory (special://profile/playlists/video/kinderfilme.xsp)
10:57:05 T:3038588928   DEBUG:   ParentPath = [special://videoplaylists/]
10:57:05 T:2875192384   DEBUG: CSMBFile::Close closing fd 10001
10:57:05 T:3038588928   DEBUG: RunQuery took 342 ms for 51 items query: select * from movieview  WHERE ((movieview.strPath LIKE 'smb://monster/video/kinder/%'))

 

screenshot001

screenshot004

 

Auch du wirst entdecken, dass viele Wahrheiten, an die wir uns klammern, von unserem persönlichen Standpunkt abhängig sind.
(Obi-Wan Kenobi)

, ,


4 Responses

  1. sxx128 sagt:

    Hallo

    leider kann ich dein HowTo nicht befolgen. Ich habe wohl nicht die richtigen Permissions und kann die Files nicht bearbeiten. Ich bekomme immer die Meldung:

    „ReadOnly Filesystem“

    wenn ich z.B. die

    strings.po

    bearbeiten möchte. Hast du dazu eine Idee ??

    Grüße
    sxx128

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Buddy oder Bot? *