-
-
Notifications
You must be signed in to change notification settings - Fork 377
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use GIF files for effects #477
Use GIF files for effects #477
Conversation
Brilliant idea ! |
Wirklich eine gute Idee! Als Ausblick wäre ein file upload über die json-rpc nicht schlecht (Mit gewissen Restriktionen, der Sicherheit wegen), der dann auch für gif uploads verwendet werden kann. Längerfristig wird die webui wohl in Hyperion integriert werden müssen und die kritischeren Aktionen sind dann nur noch über login möglich bzw es gibt keine api mehr dafür. |
Bin gerade dabei die Python Funktion "getImage()" anzupassen damit diese auch GIF file von URLs annimmt. Somit muss das GIF file nicht zwingend local sein. Der FileUpload macht erst Sinn wenn @redPanther die JSON Komunikation zwischen WebUI und JSON-RPC gefixt hat. Ich sag nur "c:\fakepath" |
"c:\fakepath" kommt aber nur bei chrome oder? |
Kann ich nicht genau sagen. Dachte das alle Modernen Browser diesen Pfad angeben der Sicherheit wegen. Mal schauen was @brindosch dazu sagt. |
Die Sache mit den URLs dachte ich zuerst ist auch super, als ich dann gesehen habe, wie blöd es ist teilweise die .gif aus diveren Seiten zu extrahieren war mir eher nach file upload von webui zu hyperion fs. Ich weiß nicht was ihr mit c:/fakepath meint. Ich spreche von der File, FileReader - API Den Pfad der Datei spielt keine Rolle, man extrahiert den Dateinamen und reicht den auch weiter damit Hyperion weiß wie Datei heißen soll. Als Ziel würde sich zb rootPath(siehe mein PR)/gifs/ oder ähnliches anbieten. Du kannst von außen den Zielpfad nicht manipulieren, das wäre ein großer exploit. |
Na gut. Dann lassen ich das erst mal mit dem URL Support sein.
Geht ganz leicht von der Hand. Fehlt nur der passende Eintrag im GIF Schema.
Das ist das Problem wo ich zur Zeit hängen bleibe. Das Image im Base64 format lässt sich zur Zeit nicht über das WebUI an hyperion senden. :-( |
Ich nutzte File.name() siehe https://developer.mozilla.org/en-US/docs/Web/API/File/name und hier https://github.com/hyperion-project/hyperion.ng/blob/master/assets/webconfig/js/content_general.js#L65 Zum Topic: |
Bist jetzt haben wir ja noch keine funktion in hyperion die base64 daten in dateien schreiben kann. Soll ich eine erstellen oder fällt die was besseres ein um das gif bild mit der json datei zu speichern. oder doch lieber die base64 daten mit in die json???????????? confuse. |
Achso, also den base64 wirst du nicht in das python script bekommen. @redPanther hatte doch mal versucht von so einer Seite relativ lange rgb daten strings einzuschleußen. Ausserdem bläht das ja sehr den Datenstrom der serverinfo auf wenn da base64 bilder drin sind. Ich schätze das einzigste was man machen kann ist, die Bilder über die rpc abspeichern (dazu bedarf es einem Feld, das nur sichtbar ist, während das gif schema ausgewählt ist und dann den Dateinamen der Datei in das file Feld eintragen) und dann den Effekt speichern. Das ist nicht so toll, wüsste aber gerade keinen smarteren weg. |
Das verstehe ich ja aber wie kommst du an den Dateipfad von dem Image um diesen Hyperion mitzuteilen? Die rpc hat doch gar keine funktion zum abspeichern von daten außer json oder sehe ich das falsch? |
Garnicht, alles was Hyperion wissen muss ist der Dateiname. Du arbeitest ohne Pfade. Du hast die Bild Daten und einen Namen. |
Also fehlt noch die json-rpc funktion die die daten abspeichert oder haben wir die schon? |
Nein, die fehlt. |
Wenn ich die Funktion schreibe wärst du bitte so nett die JavaScript und WebUI Sachen zu ergänzen? |
Im Header der JsonUtils ist der include der FileUtils, das heißt du bekommstden namespace FileUtils automatisch dazu |
danke |
Wir lassen das jetzt so für den Moment. Die Erweiterung die du begonnen hast aber nicht wegwerfen :) |
1. Tell us something about your changes.
Add 2 new effects based on gif files.
Effect Lights from: https://giphy.com/gifs/love-animation-art-xUPGcknoZZseQLFvws
Effect Fire from: https://commons.wikimedia.org/wiki/File:Animated_fire_by_nevit.gif
2. If this changes affect the .conf file. Please provide the changed section
no
3. Reference an issue (optional)