Hilfe bei Addon Entwicklung

  • Hi zusammen,

    ich taste mich jetzt auch langsam daran, Kodi Addons zu entwickeln bzw. die Materie dahinter zu entwickeln (bin auch gerade erst am Anfang mich in Python einzulesen - also bitte nicht allzu streng sein :)). Ich hätte dabei eine Frage zu einem Addon, was ich gerne für mich schreiben würde. Die Problematik ist folgende:

    Ich möchte gerne ein Listitem erstellen, welche eine (Livestream) URL abspielt, die alternativ durch Auswählen der Settings geändert wird. Nun funktioniert das ganze nur, wenn ich nach Ändern der Settings das Addon neustarte - nicht wenn ich während ich im Addon noch bin, die Einstellungen im Dialogfenster ändere. Hier ist mein Code vereinfacht dargestellt.

    settings.xml

    Spoiler anzeigen


    <?xml version="1.0" encoding="utf-8" standalone="yes"?>
    <settings>
    <setting id="stream" type="bool" label="Livestream URL ändern" default="false" />
    </settings>

    addon.py

    Spoiler anzeigen


    !/usr/bin/python

    import sys

    import xbmc
    import xbmcgui
    import xbmcplugin
    import xbmcaddon

    base_url = sys.argv[0] #ist für späteren Code gedacht, der zur Vereinfachung hier nicht drin ist
    addon_handle = int(sys.argv[1])
    addon = xbmcaddon.Addon()

    stream = addon.getSetting("stream")
    if stream == 'true' :
    url = URL1
    elif stream == 'false' :
    url = URL2

    li = xbmcgui.ListItem("Livestream")
    li.setInfo(type = "video", )
    li.setProperty("isPlayable", "true")
    xbmcplugin.addDirectoryItem(addon_handle, url, li, False)

    xbmcplugin.endOfDirectory(addon_handle)

    Wenn ich nun " Livestream ändern" in den Addon Einstellungen aktiviere während ich noch im Addon bin, spielt er immer noch URL2 ab. Erst wenn ich das Addon erneut aufrufe, nimmt er URL1.

    Wie muss ich den Code verändern, damit er die Änderung nach "OK" Drücken in den Addon Einstellungen sofort übernimmt ohne aus dem Addon rauszugehen?

    Ich bedanke mich schon mal im Voraus für jede Hilfe.

  • Das wäre natürlich der simpelste Weg. Mir geht es allerdings mehr prinzipiell darum, dass Änderung in den Settings sofort vom Addon erkannt werden, wenn ich das Addon noch offen habe. Eventuell ist die Monitor Klasse mit onSettingChanged() eine Lösung(?), allerdings weiß ich da die korrekte Integration nicht

Jetzt mitmachen!

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