Find es sogar besser, weil die ständigen xbmc Abfragen ausbleiben.
Auf jeden Fall, vielen Dank.
Find es sogar besser, weil die ständigen xbmc Abfragen ausbleiben.
Auf jeden Fall, vielen Dank.
Habs jetzt so gelöst, scheint zu laufen:
import xbmc
import xbmcgui
class MyPlayer(xbmc.Player):
def __init__ (self):
xbmc.Player.__init__(self)
def onQueueNextItem(self):
xbmc.executebuiltin("Notification(Next,,250)")
def onPlayBackStarted(self):
xbmc.executebuiltin("Notification(Started,,250)")
def onPlayBackEnded(self):
xbmc.executebuiltin("Notification(Ended,,250)")
def onPlayBackStopped(self):
xbmc.executebuiltin("Notification(Stopped,,250)")
def onPlayBackPaused(self):
xbmc.executebuiltin("Notification(Pause,,250)")
def onPlayBackResumed(self):
xbmc.executebuiltin("Notification(Resumed,,250)")
def onPlayBackSeek(time, seekOffset):
xbmc.executebuiltin("Notification(Seek,,250)")
class MyMonitor(xbmc.Monitor):
def __init__ (self):
xbmc.Monitor.__init__(self)
def onAbortRequested(self):
global closescript
closescript = True
closescript = False
player = MyPlayer()
monitor = MyMonitor()
while not ( closescript ):
xbmc.sleep(500)
Alles anzeigen
ah, dann setz ich bei dem event onAbortRequested() einfach ein flag und beende die schleife wenn es true ist.
oder gibts auch ne art self.kill?
bin in python noch nicht so fit.
IDE ist übertrieben. Sollte mich schämen --> Wordpad
kannst du mir das mit dem kurz monitor erklären?
ich komm zwar ungefähr mit, dass das script beendet wird, wenn kodi geschlossen wird.
aber find es irgendwie kompliziert?
geil, das geht :-))))))))))))))
jetzt muss ich mal bissl rumtesten
ja, natürlich starte ich das py script. aber wie gesagt, es passiert nix.
müsste ja die notification sehen.
ich versuch jetzt mal ein service zu erstellen
mein script schaut jetzt so aus, aber es passiert nix
import xbmc
import xbmcgui
class MyPlayer(xbmc.Player):
def __init__ (self):
xbmc.Player.__init__(self)
def onQueueNextItem(self):
xbmc.executebuiltin("Notification(Next,,250)")
def onPlayBackStarted(self):
xbmc.executebuiltin("Notification(Started,,250)")
def onPlayBackEnded(self):
xbmc.executebuiltin("Notification(Ended,,250)")
def onPlayBackStopped(self):
xbmc.executebuiltin("Notification(Stopped,,250)")
def onPlayBackPaused(self):
xbmc.executebuiltin("Notification(Pause,,250)")
def onPlayBackResumed(self):
xbmc.executebuiltin("Notification(Resumed,,250)")
while( True ):
xbmc.sleep(1000)
Alles anzeigen
1. ok also geht das mit nen simplen skript doch nicht. ist die frage schon mal geklärt.
2. geht das auch mit nen plugin, oder muss es ein service sein?
3. ginge das auch direkt in eine skin zu integrieren, sprich in ein addon?
Hintergrund des ganzen ist, wir haben den Pi im Auto(BMW) verbaut und wollen bei trackwechsel den titel aufs Display vom Tacho scrollen.
es fehlt eigentlich die umsetzung, wie ich das event oder action kodi mitbekomme.
also ich hatte das versucht, aber wenn das script durchgelaufen ist, dann ist es doch vorbei und die class kann somit auch nicht genutzt werden.
oder habe ich grad einen denkfehler?
zu allererst wollte ich geklärt haben:
geht das nur per addon, oder reicht da auch ein normles pythonscript, was mit RunScript("special://whatever.py") aufgerufen wird?
Moin Moin
Mein Ziel ist es mitzubekommen, wenn Kodi einen Track startet abzuspielen, und wenn auch der nächste Track beginnt.
Habe nun gesehen, dass es da eine xbmc Class gibt.
Kann ich das onPlayBackStarted mit einen simplen Script abfangen (das
per RunScript("special://..."), oder muss es ein plugin sein?
Sollte es nur mit einen plugin gehen, kann ich das auch in die skin
integrieren? Sozusagen ein hybrid addon skin/plugin.
OK, wie ist es nun wenn ich einen custom Screen erstellt habe, kann ich den auch irgendwie einen Name zuweisen, damit ich propertys entsprechend anlegen kann? z.B. "PDC"
Und zweitens, wie ist das mit den Propertys direkt im control?
Z.B. in der OSMC Skin gefunden.
Ich habs jetzt so verstanden.
Nach nen System-Neustart sind die Propertys immer leer.
Und:
Der Name deines Propertys ist "clockcontrol". und due schreibst "AN" rein.
Was macht das "Home"?
Edit:
Ah ich glaub ich habs verstanden, man muss ein Property für jedes window setzen. global gehen dann nur die strings.
Oder ginge dann hier $INFO[Window(Home).Property(clockcontrol)] um an das property "fremder" window zu kommen?
BTW:
Weißt du wohin so Sachen wie Strings und Settings geschrieben werden?
Ich lese immer wieder property, aber checke nicht, was man damit machen kann.
Gibts da irgendwo eine deutsche Erklärung, am besten mit Beispiel.
Die englsichen Sites zu verstehen, fällt mir extrem schwer.
Hallo Zusammen
1. Ich habe einen Button mit dem ich einen Dateipfad als String setze.
Nun würde ich gern im Label 2 aber nur den Dateiname haben. Ohne ".ext" wäre noch ccoler.
Muss man da irgendwas mit stringremove, sofern es sowas gibt, basteln?
Oder gibts dafür eine ganz einfache Lösung?
<control type="button" id="310">
...
<label>Choose Car for PDC Background</label>
<label2>$INFO[Skin.String(PDC_CAR)]</label2>
<onclick>Skin.SetImage(PDC_CAR,,/home/osmc/.kodi/addons/skin.confluence-vertical/media/pdc/BGs)</onclick>
...
</control>
2. Wir haben uns einen simplen Skin Updater gebastelt. Der nur eine Zip Datei herunter lädt, entpackt und die komplette Skin kopiert.
2.1 Muss man da irgendwas beachten, damit Settings nicht überschrieben werden?
2.2 Gibt es eine Lösung, dass nach SkinReload sich auch das Label der Skinversion aktualisiert? Denn dies geschieht jetzt nur nach Neustart?
3. Kann man für ein Image das fallback mit einem Skin.String() setzen? Irgendwie klappt das nicht.
ich wollte das ganze nun mal erweitern.
aber irgendwie reichen da deine zwei zeilen nicht aus:
<onclick condition="!Skin.HasSetting(Color1) + !Skin.HasSetting(Color2) + !Skin.HasSetting(Color3)">Skin.SetBool(Color1)</onclick>
<onclick condition="!Skin.HasSetting(Color1) >
Kannst du genauer erklären, was du hinzufügst für ein 4. Setting?
aktuell schaut es so aus:
<onclick condition="!Skin.HasSetting(MenuColorOrange) + !Skin.HasSetting(MenuColorBlue)">Skin.SetBool(MenuColorOrange)</onclick>
<onclick condition="Skin.HasSetting(MenuColorOrange)">Skin.SetBool(MenuColorBlue)</onclick>
<onclick condition="Skin.HasSetting(MenuColorOrange)">Skin.Reset(MenuColorOrange)</onclick>
<onclick condition="Skin.HasSetting(MenuColorBlue)">Skin.Reset(MenuColorBlue)</onclick>
Mahlzeit
Ich hab mir nun einige Zeit die Finger wund gegoogelt, aber ich werde aus dem JSON protokoll nicht ganz schlau.
Unser anliegen ist, custom Daten als Nummer, Boolean, String oder Array an Kodi per JSON aus zu tauschen.
um Labels, Button, Grafiken, Settings damit zu befüllen.
Weiß hier jemand eine Lösung?
Aktuelles Beispiel, wie setzen den Pi2 im Auto ein und können die Daten vom Daten-Bus mitlesen, wie auch PDC.
Nun möchte ich auf dem Screen in Labels die Abstandswerte schreiben, Grafiken zum visualisieren der Abstände verändern, und halt das PDC Fenster ein-/ausblenden.
Das Fenster habe ich schon mal soweit zusammen gebastelt.
Grafiken kann man vermutlich mit einer Variable befüllen, in der die entsprechenden Abstandswerte mit einer grafik referenztiert werden.