Programmier-Fragen

  • Moin.

    Ich schreibe gerade ein kleines Addon und stehe kurz vorm Release.
    Ich habe allerdings noch 2 Fragen, um es fertigstellen zu können.

    1. Ist es möglich und wenn ja wie, den Aufruf XBMC.RunScript(special://home/addons/http://plugin.xyz.xyz/resources/lib/script.py) auf eine Taste der Fernbedienung zu legen? Hier sollte es dann Shift + M sein.
    2. Kann man in Kodi ein Video / Stream abspielen, wo Videospur und Tonspur getrennt sind? Bzw. Diese dann zusammenführen und abspielen? Per FFMPEG geht das ja z.B. - Würde das auch anders gehen?

    MfG.

  • 1. Ist es möglich und wenn ja wie, den Aufruf XBMC.RunScript(special://home/addons/http://plugin.xyz.xyz/resources/lib/script.py) auf eine Taste der Fernbedienung zu legen? Hier sollte es dann Shift + M sein.

    per [definition=10,0][definition='3','0']keymap[/definition][/definition].
    <m mod="shift">XBMC.RunScript(special://home/addons/plugin.xyz.xyz/resources/lib/script.py)</m>

    Refer to: https://kodi.wiki/view/Keymap


    2. Kann man in Kodi ein Video / Stream abspielen, wo Videospur und Tonspur getrennt sind? Bzw. Diese dann zusammenführen und abspielen? Per FFMPEG geht das ja z.B. - Würde das auch anders gehen?

    Die Frage gab es schon einmal, nein das ist nicht vorgesehen.

    --------------
    Guides nicht mehr verfügbar wegen Youtube unvermögen guten von schlechten Kodi Videos zu unterscheiden.

  • Moin, ich habe mal wieder ein paar Hänger. Vielleicht kann jemand helfen?

    Ich nutze gerade urllib, um ein paar Downloads zu handeln.
    Download von Onlinedateien funktioniert.
    Kopieren von lokalen Dateien mit file:// davor funktioniert auch.
    Soweit, so gut. - Jetzt habe ich aber das Umlaute-Problem. Dateien mit Umlauten im Namen lassen sich nicht downloaden / kopieren.

    Bitte um Hilfe. Danke.

  • Kann auch am Server liegen muss schon utf 8 können gibs aber Trick wie Sachen mit hand laden kann mit Umlauten

  • Steht die Zeichenkette in einer Variablen? Dann versuche mal

    url = variable.encode('utf-8')

    AZi (DEV): Nexus auf LibreElec | Asrock J4205 | 4 GB RAM | 128 GB Sandisk| Rii mini
    DEV: PC Ubuntu 20.04 | Matrix
    AZi: Tanix TX3 | Android/CoreElec Dualboot (EMMC), Nexus
    WoZi: Nexus auf LibreElec | Asrock J4205 | 4GB RAM | 128 GB Sandisk SSD | Atric IR | URC7960
    NAS: unRaid, 3x6TB, 2x12TB | TV-Server: Futro S550 mit Hauppauge QuadHD DVB-C
    PayPal: paypal.me/pvdbj1

  • Was für einen Editor verwendest Du? Evtl. kann man den auf UTF-8 umstellen. CP1252 ist doch Windows?

    AZi (DEV): Nexus auf LibreElec | Asrock J4205 | 4 GB RAM | 128 GB Sandisk| Rii mini
    DEV: PC Ubuntu 20.04 | Matrix
    AZi: Tanix TX3 | Android/CoreElec Dualboot (EMMC), Nexus
    WoZi: Nexus auf LibreElec | Asrock J4205 | 4GB RAM | 128 GB Sandisk SSD | Atric IR | URC7960
    NAS: unRaid, 3x6TB, 2x12TB | TV-Server: Futro S550 mit Hauppauge QuadHD DVB-C
    PayPal: paypal.me/pvdbj1

  • Ich denke, es liegt an der lokalen Datei. Die wird sicherlich in cp1252 kodiert sein. Webserver liefern nicht in cp1252 aus. Ich verwende in meinem GTO-Addon folgende Funktion und fange einen UnicodeDecodeError ab:https://github.com/b-jesch/script…ault.py#L59-L79

    Den Parameter 'container' im Funktionsaufruf brauchst Du nicht, in Zeile 78 machst Du einfach ein return content.

    AZi (DEV): Nexus auf LibreElec | Asrock J4205 | 4 GB RAM | 128 GB Sandisk| Rii mini
    DEV: PC Ubuntu 20.04 | Matrix
    AZi: Tanix TX3 | Android/CoreElec Dualboot (EMMC), Nexus
    WoZi: Nexus auf LibreElec | Asrock J4205 | 4GB RAM | 128 GB Sandisk SSD | Atric IR | URC7960
    NAS: unRaid, 3x6TB, 2x12TB | TV-Server: Futro S550 mit Hauppauge QuadHD DVB-C
    PayPal: paypal.me/pvdbj1

  • Naja cp1252 ist ja Westeuropa/Latin1 (oder sowas), utf-8 ist da universeller. Richtiger (schönes Wort) wäre, die verwendete Kodierung auszulesen und dann zum Encodieren zu verwenden. Meine Funktion versucht das. Dazu muss der Webserver natürlich den Charset mitliefern (Zeile 76).

    AZi (DEV): Nexus auf LibreElec | Asrock J4205 | 4 GB RAM | 128 GB Sandisk| Rii mini
    DEV: PC Ubuntu 20.04 | Matrix
    AZi: Tanix TX3 | Android/CoreElec Dualboot (EMMC), Nexus
    WoZi: Nexus auf LibreElec | Asrock J4205 | 4GB RAM | 128 GB Sandisk SSD | Atric IR | URC7960
    NAS: unRaid, 3x6TB, 2x12TB | TV-Server: Futro S550 mit Hauppauge QuadHD DVB-C
    PayPal: paypal.me/pvdbj1

  • Moinsen.

    Hab mal wieder ne Frage. Und zwar geht es, glaube ich zumindest, um import from resources lib.
    Ich würde gerne ein Addon als Menü verwenden, um weitere Addons aufzurufen.

    Nun könnte man das ganze ja ganz einfach lösen mit: xbmc.executebuiltin('RunAddon(plugin.......)')
    Aber was ist, wenn die Addons quasi zusammengehören? Mit xbmc.executebuiltin('XBMC.RunScript(Q:\Scripts\myscript.py)') klappt es auch nicht, da kommt dann irgendwie immer ne Fehlermeldung. Ist ja auch logisch, weil mode und das Handling bestimmt nicht mehr zusammenpassen.
    Nun hab ich (hoffentlich richtig) herausgefunden, dass man irgendwie myscript.py mit import from resources lib aufrufen kann?

    Ich hab 0 Ahnung gerade. Vielleicht kann mir jemand etwas auf die Sprünge helfen.


    Danke.

  • Aber was ist, wenn die Addons quasi zusammengehören?

    Was meinst Du damit?

    Nun könnte man das ganze ja ganz einfach lösen mit: xbmc.executebuiltin('RunAddon(plugin.......)')

    Ja, warum nicht?

    AZi (DEV): Nexus auf LibreElec | Asrock J4205 | 4 GB RAM | 128 GB Sandisk| Rii mini
    DEV: PC Ubuntu 20.04 | Matrix
    AZi: Tanix TX3 | Android/CoreElec Dualboot (EMMC), Nexus
    WoZi: Nexus auf LibreElec | Asrock J4205 | 4GB RAM | 128 GB Sandisk SSD | Atric IR | URC7960
    NAS: unRaid, 3x6TB, 2x12TB | TV-Server: Futro S550 mit Hauppauge QuadHD DVB-C
    PayPal: paypal.me/pvdbj1

  • Du kannst dann die Grundfunktionalitäten (ohne Interaktionselemente wie Notifications, Auswahldialoge usw,) der einzelnen Addons auslagern (z.B. nach resources/lib/weather.py) und dann per import resources.lib.weather as weather importieren. Das Handling mit Interaktion implementierst Du ins Haupt-Addon.

    AZi (DEV): Nexus auf LibreElec | Asrock J4205 | 4 GB RAM | 128 GB Sandisk| Rii mini
    DEV: PC Ubuntu 20.04 | Matrix
    AZi: Tanix TX3 | Android/CoreElec Dualboot (EMMC), Nexus
    WoZi: Nexus auf LibreElec | Asrock J4205 | 4GB RAM | 128 GB Sandisk SSD | Atric IR | URC7960
    NAS: unRaid, 3x6TB, 2x12TB | TV-Server: Futro S550 mit Hauppauge QuadHD DVB-C
    PayPal: paypal.me/pvdbj1

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!