Einfach in der .py-Datei in "def SystemOnWake" das ActivateWindow(...) durch xbmc.executebuiltin("PlayMedia(plugin://plugin.audio.radio_de/station/STATION_ID)") ersetzen und anstelle von STATION_ID die Nummer der gewünschten Station eintragen... Müsste so funktionieren...
Beiträge von 4lb3rtO
-
-
Wenn ich meine PC aus dem Ruhezustand wecke startet zwar XBMC aber keine Musik.Starte ich den PC kompett neu funktioniert es.
Aus dem Energiesparmodus funktioniert es auch nicht.Eine Playlist beim Start abzuspielen oder es über ein autoexec script versuchen zu lösen nützt dir hierbei auch nichts... Das funktioniert nur, wenn entweder der komplette Rechner oder XBMC neu gestartet wird... Mit dem oben verlinkten Addon und einer kleinen Änderung wäre es zumindest möglich einen fest codierten Radiosender nach dem Aufwachen abzuspielen... Immer den zuletzt gehörten abzuspielen ist m.W. im Moment so nicht möglich...
Ob das Addon auch bei einem Neustart greift, weiß ich jetzt gerade auch nicht... Aber ein Test würde Dir Klarheit verschaffen...
Falls dem nicht so ist, könnte man ja beide Möglichkeiten miteinander kombinieren... Das Addon für Wakeups aus dem S3/S4 und Playlist beim Start (mit bspw. dem gleichen Sender) für Starts aus dem S5 bzw Neustarts... -
Soweit ich weiß hat man aktuell leider keine Möglichkeit die zuletzt gehörte Station zu ermitteln... Das gibt das Radio Addon leider nicht her... Vielleicht kann da ja der dersphere: diese Funktion noch mal nachrüsten...
Was man im Moment allerdings machen könnte, wäre mit Hilfe diesem Addons eine fest hinterlegte Station abzuspielen... Mehr sitzt im Moment leider nicht drin, es sei denn du legst selbst Hand an das Radio Addon an...
In dem wakeup Addon müsste man dann im SystemOnWake etwas in der Art wie...
xbmc.executebuiltin("PlayMedia(plugin://plugin.audio.radio_de/station/xxx)")
oder...
RunAddon(plugin.audio.radio....)
...eintragen. Musst du selber mal suchen und ausprobieren... Kann ich jetzt so aus dem Kopf auch nicht sagen...Gruß
-
also ich muss sagen das war eine super Arbeit. Vielen vielen Dank für deine Hilfe!!
Das ist jetzt wirlich eine tolle Lösung geworden.
Bitte, bitte... Keine Ursachesollte man die Aktualisierung der Bilder multithreaded hinbekommen und somit einen fast flüssigen Stream bekommen.
Ist das dann auch eine Maloche oder könnte man das mit dem Code oben hinbekommen?
Könnte man damit wahrscheinlich auch lösen... Ich würde wahrscheinlich eher auf die Standardmodule Thread bzw Threading oder vlt auf multiprocessing bzw multiprocessing.Pool zurückgreifen... Und damit versuchen den Download, den Resize und das Setzen der Bilder in XBMC bei jedem Schleifendurchlauf "parallel" laufen zu lassen, auf die Beendigung aller Vorgänge warten zu lassen (damit entfiel auch automatisch das Gefrickel mit den Zeiten) und das ganze permanent wiederholen zu lassen...Aber wie schon gesagt habe ich davon im Moment zu wenig Ahnung und müsste mich dann auch erst einmal richtig darin einarbeiten... Das ist mir allerdings dann schooon etwas zu aufwendig, da Parallelisierung (in meinen Augen) auch nicht ganz trivial ist...
Aber vielleicht kann ja dersphere: hier weiterhelfen?
-
Mometan bin ich mal beim schauen ob ich nicht eine Lösung finden kann. Das wäre eine Lösung auch wenn sie nicht schön ist. Bei jedem Schleifendurchlauf das zu machen ist wohl echt etwas übertrieben. Naja
Würde ich da jetzt einfach so machen... Ansonsten kannst du dir auch einen Zähler einbauen... Zb an der gleichen Stelle...counter = 0
while...
----if.......
--------if counter > 9:
------------RunScript(...)
------------counter = 0
--------else:
------------counter += 1Dann wird bei jeder 10. Aktualisierung der Bilder das Script gestartet...
Ich hänge hier mal die aktuelle Version an... Dann kannst du dir die Änderung ja eben kurz einbauen... Ich lasse es hier erstmal raus...
Bevor du die neue Version installierst, musst du das Addon zuerst in XBMC deinstallieren, ggf den userdata\addon_data\securitycams-Ordner und auf jeden Fall das ZIP-File unter addons\packages\securitycams.zip löschen... -
Ich nutze noch die DS410 und reicht auch noch völlig aus... Habe glaube ich irgendwo mal gelesen, das das DSM 5 das letzte Update für diese Reihe ist... Dann wirst du wahrscheinlich mit der 411er noch in den Genuss von der Version 6 kommen, aber danach ist dann vermutlich auch Feierabend... Aber selbst wenn es wirklich so kommt hast du damit ja immer noch für die nächsten 2/3 Jahre ausgesorgt...
Gesendet mit einem C-3PO
-
Ok, alles klar... Jetzt hab ichs dann auch verstanden
Das würde ich dann auch einfach mit einem kleinen Script lösen... Mit der Playlist.py die jeweilige Playlist setzen und mit der call.py in der keyboard.xml die Nummer übergeben...
<four>RunScript(C:\Users\...\call.py, 04)</four>
<five>RunScript(C:\Users\...\call.py, 05)</five> usw...Das schöne bei der Verwendung von Skin.String ist, das die zuletzt gehörte Playlist auch nach einem Neustart erhalten bleibt da es ja in der gs.xml gespeichert wird...
Du musst nur noch die call.txt in call.py ändern und in der Playlist.py die letzte Zeile einkommentieren damit das label gesetzt wird
Ciao
-
Du könntest auch direkt in die Schleife (nach der if-Abfrage) ein xbmc.executebuiltin('RunScript(...)') bzw ein xbmc.executebuiltin('RunAppleScript(...)') einbauen und damit ein Script aufrufen... Dann wird es bei jedem Durchgang aufgerufen...
Finde ich allerdings ziemlich dirty...Welche XBMC Version verwendest du? Bei Gotham würde ich eher den Bildschirmschoner während der Laufzeit des Addons deaktivieren... Habe da mittlerweile ein paar Infos gefunden, allerdings noch nicht getestet...
Ciao
-
wenn ich dich aber richtig verstanden habe, kann ich das auch per skin code realisieren. nicht ganz so schick und ohne den ton.
mir geht es hauptsächlich darum, dass, wenn ich die playlist wechsle, dass ich das dann in der [definition='3','0']keymap[/definition].xml nicht anpassen muss. sondern, dass es dort durch angabe von skin.string automatisch übernommen wird.
das funktioniert mit deinem script auch nicht oder?
Das kann man mit Sicherheit auch direkt per Skinning bewerkstelligen... Davon habe ich allerdings nicht so die Peilung
Ich hatte das jetzt so gedacht, das du das Script zB auf eine Taste legst, damit die Playlist wählst (kann man dann ja durch mehrere Tastendrücke durchschalten und die aktuelle Position wird durch einen Sound zurückgegeben) und du im Anschluss durch einen Tastendruck den durch das Script gesetzten Skin.String (also den Pfad zur Playlist) so in der Art...
<four>PlayMedia(Skin.String(myPlaylistLabel),playoffset=04)</four>
...aufrufst. Ich weiß jetzt nicht, ob die obere Zeile so richtig ist... Das weißt du mit Sicherheit besser als ich...
Den Sound habe ich nur eingebaut, damit man zB bei ausgeschaltetem Bildschirm direkt weiß, ob man nun Playlist 1,2,xyz gewählt hat... Den kannst du natürlich rausnehmen oder durch einen ansprechenderen Sound ersetzen... War nur so ne Idee...
Gruß
4 -
Wenn ich dich jetzt richtig verstanden habe, möchtest du also nur den Pfad zu der aktuellen Playlist ändern (damit du wie anschließend wie gewohnt über 0-9 in dieser neuen Playlist springen kannst)?! Und das ganze am Besten ohne eine größere Eingabe tätigen zu müssen bzw den Bildschirm eingeschaltet zu haben?! Kommt das so in etwa hin?
Ich habe mal ganz kurz ein kleines Script geschrieben, bei dem man in einer beliebig langen Liste von Playlisten durchwechseln kann, die aktuelle Position durch eine Soundausgabe signalisiert wird und der Pfad zur Playlist in einen Skin.String geschrieben wird...
-
Ich hab zwar keinen Plan was du da gerade versuchst, aber hast du dir mal die builtin-function Skin.SetString(string[,value])
ZitatPops up a keyboard dialog and allows the user to input a string which
can be used in a label control elsewhere in the skin via the info tag
Skin.String(string). If the value parameter is specified, then the
keyboard dialog does not pop up, and the string is set directly.angeschaut?
-
Entweder du löscht die Musikdatenbank direkt mymusicxx.db (macht aber eigentlich nur Sinn, wenn man alle DBs und das Thumbnailverzeichnis löscht) oder du verschiebst temporär alle Dateien aus dem Musik Wurzelverzeichnis und aktualisierst die Musikdatenbank in XBMC... Danach wieder zurück verschieben und wieder aktualisieren... Oder du entfernst die Quelle direkt in XBMC und fügst sie anschließend wieder hinzu...
Einen extra Button zur Bereinigung gibt es bei Musik nicht, da die DB bei einer Aktualisierung automatisch bereinigt wird... Der Musikbereich verhält sich hier etwas anders als der Video Part von XBMC
-
Das meinte ich garnicht - Dann hast I am number 4
noch nicht gesehen - https://www.youtube.com/watch?v=g5djHG3hPu0
Achso! Den kannte ich noch nichtxbmc.sleep(xxxx) muss man in millisekunden angeben... Daher kann man dort keinen Wert < 1 angeben
Das Interessante bei Kamera 3 ist auch der schmalere schwarze Balken in dem "richtigen" Bild... Ist das eine andere Kamera oder liefert die eine andere Auflösung im Vergleich zu den anderen?
-
Anstelle von einer Final hätte man ja auch noch ein paar RCs heraushauen können... Ist aber letzten Endes auch völlig wurscht, da eine Software sowieso niemals fertig ist
-
Kein Problem
Ich habe auch keine Lust mir beim Tippen meines Nics immer die Finger zu verknotenMit dem Bildschirmschoner weiß ich im Moment leider auch keinen Rat... Über das Addon ausgelöste "Tastatureingaben", Pings oder Notifications etc zeigen leider keine Wirkung... Vielleicht kommt hier ja mal jmd mit einem entscheidenden Tipp vorbeigestolpert oder man muss sich gedulden bis die Dokumentationen für die erweiterten Python und Json Apis von Gotham erstellt werden...
ZitatAn Extended Python and JSON-RPC API for developers
While this feature may not be as immediately noticeable upon install,
it could ultimately be one of the most important changes of XBMC 13.
With the extension of the API, users should soon be able to control
virtually every aspect of XBMC without once touching the XBMC UI.
Developers will now have unprecedented opportunity to make even more
powerful remote control apps, web GUIs, and XBMC add-ons. For example,
with the Official XBMC Remote for iOS users can now configure every
single setting in XBMC without once opening the settings window in XBMC
itself.Damit sollte man dann, wie oben beschrieben, den Screensaver temporär deaktivieren können... Bis dahin würde ich einfach mal abwarten und Tee trinken und die Zeit für die Aktivierung des Screensavers verlängern...
-
Hi Homeserver:
Einige der Probleme kann ich hier leider nicht reproduzieren... Bei mir springen weder die Bilder hin und her, noch habe ich irgendwelche Bildfehler bei den niedrigen Timings... Wird alles sauber (step by step) übertragen und angezeigt...
Ich würde vorschlagen du tastest dich bei Timings langsam von unten nach oben (bspw 0.2 und sleep 100) und schaust ab wann es sauber läuft... Extrem niedrige Werte bringen dir hier höchstwahrscheinlich auch im lokalen Netz nichts (Begründung siehe oben)
Die Koordinaten der Bilder hatte ich ebenfalls verändert, damit das Bild vollständig ausgefüllt wird... Hier müsstest du dann ggf wieder zu den alten Werten zurück und nochmal testen (oder andere Werte probieren)...- 2. Sehr interessant allerdings ist das auch wenn ich das Script nicht verändere und es mit ESC beende die Cam1-4.jpg Bilder im User Script Verzeichnis dann noch weiter ausgetauscht und aktualisiert werden! Obwohl das Script aus meiner Sicht eigentlich beendet wurde.
Das habe ich in den Griff bekommen...
Uff wenn man es laufen lässt aktiviert sich dann der Bildschirmschoner. Kann man da noch verhindern?
Hier habe ich bis jetzt leider noch keinen Weg gefunden und die globalidletime zurückzusetzen oder irgendeine "Aktion" aus dem Script heraus auszulösen um sich vor der Aktivierung des Bildschirmschoners zu schützen... Ab Gotham hat man ja offenbar die Möglichkeit auf die Settings von XBMC aus Python heraus zuzugreifen... Allerdings habe ich bis jetzt noch keinerlei Dokumentationen dazu gefunden... Ansonsten könnte man einfach beim Starten des Addons den Bildschirmschoner deaktivieren und beim verlassen wieder reaktivieren... Temporär kannst du dir ja erst einmal damit behelfen, die Zeit bis zur Aktivierung nach oben zu schrauben...Gruß
4 -
hoffentlich brech ich mir das nächste mal nicht die Finger wenn ich deinen Nic tippe
Ein verkürzen der Zeit auf 0.1 bringt dann leider nichts mehr weil dann auch Bilder angezeigt werden die nur teilweise übertragen wurden.
Das dürfte theoretisch nicht passieren... Selbst wenn die 100ms bereits verstrichen sind und wieder neue Bilder empfangen werden dürften, müssten eigentlich zuerst alle Bilder sauber nach und nach empfangen und angezeigt werden.- 2. Sehr interessant allerdings ist das auch wenn ich das Script nicht verändere und es mit ESC beende die Cam1-4.jpg Bilder im User Script Verzeichnis dann noch weiter ausgetauscht und aktualisiert werden! Obwohl das Script aus meiner Sicht eigentlich beendet wurde.
Das war mir leider auch nicht aufgefallen... Kann ich aber mal nachschauen- 3. Nur so nebenbei fällt mir auf das die Bilder der Cameras immer etwas versetzt sind. Das ist sehr komisch. Der aspectRadio hat dabei auch 0 Einfluss kommt mir.
Springen die hin und her oder passt die Aufteilung generell nicht? Bei zweiterem kannst du das ja über die Positionen in "xbmcgui.ControlImage(0, 0, 640, 360, IMAGEFILE1, aspectRatio=0)" regeln...Kann man die if time Schleife nicht komplett weglassen? Hmm...
Statt eines Zeitintervalls wäre es doch inteligenter das nächste voll übertragene Bild zu verwenden und zu aktualisieren so schnell es geht. Damit würde man dann alles Fehlbilder vermeiden und trotzdem einen sehr flüssigen "Stream" bekommen
Das würde ich eigentlich so belassen... Da man mit der "while (not xbmc.abortRequested):" eine Endlosschleife hat (ist äquivalent zu "while True:") benötigt man ja quasi noch eine Einsprungsmöglichkeit... Das machen wir dann hier über die verstrichene Zeit...
Ich weiß nur nicht, warum es zu Fehlbildern kommt, da diese eigentlich sauber übertragen und angezeigt werden müssten... Völlig egal ob in der Zwischenzeit schon die Wartezeit verstrichen ist und eigentlich ja schon neue Bilder angefordert werden dürften... Man hängt ja sozusagen noch in dem if-Block fest und dieser müsste zuerst noch abgearbeitet werden... Deswegen müsste man die Zeiten auch generell nahe an Null herangehen lassen dürfen (bspw Verzögerung 0.2 und sleep 100ms), da man sowieso auf die Abarbeitung (Empfang und Anzeige) warten müsste... Man aktualisiert dann schon im Prinzip so schnell wie es geht...Uff wenn man es laufen lässt aktiviert sich dann der Bildschirmschoner. Kann man da noch verhindern?
Da ist mir so spontan kein Weg bekannt... Aber vielleicht kann man das schon mit einem regelmäßigen Ping in den Griff bekommen... Schaue ich mir dann später mal an... -
Aeon Nox 5 ist nunmal eine sehr abgespeckte Version... Es soll auch auf weniger performanten Systemen laufen und bietet bis jetzt noch nicht alle Spielereien, wie man sie bis dato von Nox gewöhnt war... Kann natürlich gut sein, das diese Ansicht mit der Zeit nachgerüstet wird... An deiner Stelle würde ich dann zur Gotham Version 4.1.9.x greifen
http://forum.xbmc.org/showthread.php?tid=185290 -
Wäre es dann nicht am einfachsten dem (neuen) Nas die gleiche IP bzw Domain zu geben? Ansonsten wäre es einfachsten die Datenbanken (separat) zu exportieren, xbmc bereinigen und mit dem Eintrag <importwatchedstate> true</importwatchedstate> in der [definition='2','0']as.xml[/definition] neu zu importieren... Alternativ aber auch etwas komplexer wäre die Änderung aller Einträge direkt in den Datenbanken... Damit würde allerdings der Ex- und Import entfallen...
Gesendet mit einem C-3PO
-
Ich wage mich mich da jetzt auch mal vorsichtig heran und lese auch gerade die Datenbanken ein... Lasse es allerdings erstmal nur als Zweitinstallation im portable mode laufen... Dann wird erstmal alles getestet und nach und nach an meine Vorstellungen angepasst... Wenn alles läuft, schmeiße ich Frodo herunter und wandele die portable in eine "feste" Installation... Habe gerade keine Lust das Wochenende für die Modifikationen zu opfern