RGB-Cat: Tool um Farbwerte zu testen

  • Hi,


    schon länger nervte mich das umständliche Austesten und Einstellen von Ambilight-Farbwerten.
    Deswegen habe ich mich letztens ein Wochenende hingesetzt und ein kleines, Java-basiertes Programm geschrieben, welches mir dieses Einstellen erhelblich erleichtern kann.
    Dieses nannte ich RGB-Cat, RGB Color Adjustment Tool.


    1. Was kann das kleine Tool:


    • Anzeigen einer beliebigen RGB-Farbe im Vollbild-Modus
    • Automatischer Farbdurchlauf



    1. Einstellbare Updategeschwindigkeit
    2. Einstellbare Farb-Schrittgröße



    • Schwarz-Weiß-Modus
    • ...



    2. Warum benötige ich dieses Tool?


    3. Installation

    • Java muss installiert sein
    • Downloade die ausführbaren Jar-Datei für dein Betriebssystem vom Unterordner jars
    • Führe die heruntergeladene Datei mit Java aus (eventuell Rechtklick + Öffnen mit Java notwendig)



    3.1 Kann ich das Tool auch auf meinem RaspberryPi zum Laufen bekommen?


    Ja, allerdings bisher noch ohne Anbindung an einen internen Grabber (boblight, AmbiTV, Hyperion...).
    Es muss der Umweg über HDMI-OUT --> HDMI2AV --> USB-Grabber bzw S-Video-Out --> USB-Grabber genommen werden.


    Folgende Abhängigkeiten müssen erfüllt werden:

    Code
    sudo apt-get install libcanberra-gtk-module libswt-cairo-gtk-3-jni


    Zudem muss eine Java-Version installiert sein. Gestestet ist das Programm mit 'oracle-java7-jdk' und 'openjdk-7-jdk'.


    3.2 Manuelle Installation vom SourceCode



    4. Steuerung des Tools

    Momentan lässt sich das Programm fast nur mit der Tastatur steuern.
    Die Tastaturkürzel sind in folgender Tabelle aufgelistet.

    'f' Wechsel von/zu Vollbildmodus
    'x','q' oder 'ESC' Beende das Programm
    'Leertaste' oder 'Enter' Pausieren/Fortsetzen des automatischen Farbdurchlaufs
    '-' / '+' Verringern/Erhöhen der Updategeschwindigkeit für den automatischen Farbdurchlauf
    'Hoch-Pfeil' / 'Runter-Pfeil' Erhöhe/Verringere die Schrittweite für Farbwechsel
    'Rechts-Pfeil' / 'Links-Pfeil' Erhöhe/Verringere die Farbe um eine Schrittweite
    'c' Öffnet einen Dialog zur Farbwahl
    'w' Aktiviere/Deaktiviere den Schwarz-Weiß-Modus
    'c' Öffnet einen Dialog zur Farbwahl
    'r' Setzt die Farbe zur Konstanten 'Rot' <-> RGB(255,0,0)
    'g' Setzt die Farbe zur Konstanten 'Grün' <-> RGB(0,255,0)
    'b' Setzt die Farbe zur Konstanten 'Blau' <-> RGB(0,0,255)
    'i','h' oder 'F1' Zeige die Hilfe




    5. Hilfestellung, Fehler/Bugs


    Ich hoffe, ihr könnt dieses kleine Tool gebrauchen und kommt damit zurecht.
    Sollte es irgendwelche Probleme geben, schreibt einfach einen 'issue' auf github oder hier im Forum.


    BTW: Ich habe momentan nur Linux am Laufen, deswegen konnte ich die für Windows erstellten Jars noch nicht testen. Bitte gebt mir dazu Feedback!


    Grüße,
    Marc


    ps:
    Releases


    • v1.0: erstes Release (6. April .2014)

      • Anzeige von Vollbildfarben
      • Automatikmodus zum Durchlauf von Farben
      • Farb-Schrittgröße und Updategeschwindigkeit einstellbar
      • Hilfe-Menü
      • Steuerung per Tastatur



    • v1.1 (11. April 2014)

      • Button zur manuellen Farbwahl



    • v1.2 (13. April 2014)

      • Schwarz-Weiß-Modus
      • Ausführbare jar-Datei für den Rasperry Pi hinzugefügt
      • Bugfix: Zu schnelles Ändern der Updaterate für den automatischen Farbdurchlauf konnte zu einem Stop des Farbdurchlaufs führen.



    • v1.3 (24. April 2014)

      • Bugfix: Wenn die Updategeschwindigkeit des Automatikmodus schneller war als die GUI zeichnen konnte, haben sich die Farben trotz eines Stops des Automatikmodus weiter geändert.
      • Jar-Datein als ausführbar (+x) markiert



    Geplant

    • Alle Elemente mit Maus steuerbar. Buttons einfügen
    • Hilfe-Menü: Liste ausrichten in der Windows-Version

    Edited once, last by pmmd ().

  • Wow, super. Klingt doch vielversprechend.
    Ich werde es heute Abend mal austesten, dann habe ich auch die Zeit dazu :) Das Problem habe ich nämlich auch.


    EDIT: Super Tool! Gefällt mir. Damit lassen sich die Farben in der Tat schön abgleichen. Danke für deine Arbeit.
    EDIT²: Windows 8.1 64 Bit mit installiertem Java 64 Bit einfach mit einem Doppelklick gestartet. Läuft ohne Probleme.

  • Super Arbeit^^ Finde ich echt sehr cool, und macht vieles einfacher^^
    Ich hab die Windows 64Bit Version getestet, und starte sie aus der cmd mit "java -jar rgb-cat_v1_win32_x86_64.jar"
    Und es funktioniert^^
    Auch wenn ich die Steuerung noch ein bisschen gewöhnungsbedürftig finde^^
    Aber ist wirklich eine sehr coole Arbeit^^
    Kann ich die Linux Versionen auf dem Pi laufen lassen? Das wäre ziemlich cool^^


  • [..]
    Ich hab die Windows 64Bit Version getestet, und starte sie aus der cmd mit "java -jar rgb-cat_v1_win32_x86_64.jar"
    Und es funktioniert^^


    Ah super, danke fürs Feedback :)


    Quote


    Auch wenn ich die Steuerung noch ein bisschen gewöhnungsbedürftig finde^^


    Hättest du eine bessere Idee? Die nächste Version wird ein Popup enthalten, mit welchem man eine beliebige Farbe einstellen kann (RGB oder HEX)


    Quote


    Kann ich die Linux Versionen auf dem Pi laufen lassen? Das wäre ziemlich cool^^


    Die Linux-Version glaube ich kaum. Ich schaue mir die nächsten Tage mal an, ob es SWT-librarys für ARM gibt.
    Und man bräuchte vermutlich auch eine Desktop-Oberfläche (XFace zb?!), sonst kann das Programm nicht starten.

  • Ein Popup wäre schon seehr cool^^
    Wobei... wenn ich im Vollbildmodus bin, und dann auf den Farbigenscreen klicke, würde das Popup ja verschwinden, und ich müsste wieder zurück tabben.. Außerdem könnte es passieren, dass manche User das Popup nicht sehen, wegen keine Ahnung wieso.. gibt ja immer wieder komische Probleme^^
    Ich persönlich kann mir auch die Befehle nicht merken, weswegen ich es gut fände, wenn diese Dauerhaft sichbar sind, bzw nur auf Nutzerreaktion verschwinden.
    Wobei die ganzen Sachen vielleicht irgendwann durch Buttons ersetzt werden sollten, da das nochmal angenehmer ist^^
    Außer... man hat keine Maus, zb am Pi, weil man dort nicht unbedingt eine braucht... kompliziert kompliziert...


    Verschiedene Farbdarstellungen finde ich gut. Hyperion nutzt HSV?
    Da es schon so lange her ist, was nutzt den Boblight bzw Ambi-TV?


    Auf dem Pi.. hm... Ich würde eventuel schauen ob Raspbian damit arbeiten kann. Ich weiß nichtmal welche Art von X es nutzt... Da es aber für Anfänger empfohlen wird, sollte es einiges können...
    Wobei ich auch keine Ahnung davon habe^^
    Vielleicht mal hier im Forum suchen, ob es etwas passendes dazu gibt^^

    Edited once, last by qwasy ().

  • So, ich habe einen ColorDialog hinzugefügt.
    Öffnet sich auf Button-Press und mit der Taste 'c'.


    Alles mit Buttons zu versehen teste ich mal aus.
    Aber:


    1. Es darf nicht überladen wirken
    2. Es muss alles mittig sein, da der Grabber sonst ja falsche Farben erkennt...


    /edit: Upload erfolgt heute Abend, bin gerade auf der Arbeit :D
    [hr]


    EDIT²: Windows 8.1 64 Bit mit installiertem Java 64 Bit einfach mit einem Doppelklick gestartet. Läuft ohne Probleme.


    Ah jetzt erst gesehen :D Super, dass es funktioniert.


    Ich habe die SWT-Libraries einfach mit gepackt, für die entsprechenden Platformen.
    Wie das allerdings Lizenztechnisch aussieht habe ich keine Ahnung...
    Bei OpenSource sollte dies aber hoffentlich kein Problem sein :-/

    Edited once, last by pmmd ().


  • Wenn du das noch halbwegs Anfängerfreundlich beschreibst mache ich den Thread oben fest (sticky) da dies in der Tat eine super Erleichterung ist.


    Super! :)


    Was meinst du mit 'das'? Die Steuerung des Programms, eine bessere (evt. auch deutsche) Installationsanleitung oder sonst irgendetwas?


  • Ich habe das jetzt aber schon richtig mitbekommen, dass das Tool für den Raspberry Pi nicht funktioniert ja?


    Es funktioniert, allerdings musst man die SWT-libraries selbst compilieren.
    Wenn ich Zeit finde kann ich das mal machen und eine Version für den Raspberry erstellen.


    Nur frage ich mich, was für einen Vorteil das hätte, da Hyperion nur XBMC oder Externer-Grabber verwenden kann.


    D.h man müsste machen:
    1. entweder: Raspberry-HDMI --> HDMI2AV --> Grabber-Eingang
    2. oder: Raspberry-Composite-Out --> Grabber-Eingang


    Da kann man aber direkt auch einen PC an den HDMI2AV-Converter oder Composite-Eingang des Grabbers hängen...

  • Ich nutze keine anderen Geräte ausser den Raspi mit RaspBMC für eine Wiedergabe bei mir.
    Ausser hin und wieder PS3 zocken und das hängt ja im Moment eh noch nicht am Ambilight.

  • Ich versuche mal herauszufinden, ob man den Hyperion-Grabber nicht mit dem Bildschirminhalt füttern kann...
    Dann wäre es auch sinnvoll, auf dem Raspberry zum Laufen zu bekommen.


    Beziehungsweise: Man kann ja auf dem Raspberry einfach den Hyperion-Remote mit der aktuellen Farbe ansteuern, falls dieser läuft. Für AmbiTV /boblight etc ist das dann natürlich keine Lösung...


    /edit: Anpassung des ersten Threads und Upload der neuen Version mache ich doch erst morgen. Der Tag war einfach zu schnell rum :-/

    Edited once, last by pmmd ().

  • Version 1.1 ist draußen und hat einen Button zum Farben wählen.


    Einfach 'c' drücken oder mit der Maus auf den Button klicken

  • Auch wenn ich es immernoch nicht über doppelklicken zum starten bekomme^^ Gute Arbeit, funktioniert immernoch gut^^

  • Release: Version 1.2

    • Schwarz-Weiß-Modus hinzugefügt
    • Ausführbare jar-Datei für den Rasperry Pi hinzugefügt
    • Bugfix: Zu schnelles Ändern der Updaterate für den automatischen Farbdurchlauf konnte zu einem Stop des Farbdurchlaufs führen.


    dbv: Ich habe den ersten Post überarbeitet. ;)


    DerMega: ich habe die SWT-library auf meinem Raspbian installiert und konnte somit eine Jar-Version für den RaspberryPi (armhf) erstellen. Anleitung zur Installation der benötigten Abhängigkeiten ist im ersten Post zu finden.

    Edited once, last by pmmd ().

  • v1.3 (24. April 2014)

    • Bugfix: Wenn die Updategeschwindigkeit des Automatikmodus schneller war als die GUI zeichnen konnte, haben sich die Farben trotz eines Stops des Automatikmodus weiter geändert.
    • Jar-Datein als ausführbar (+x) markiert
  • Hey, vielen Dank für dieses Tool und das du die Source öffentlich stellst.
    Ich habe es mal nach meinen Bedürfnissen ein bisschen angepasst. Es hat mich gestört das man immer durch alle Helligkeiten durch musste um eine bestimmte Farbe zu erreichen.


    Und zwar ändert sich die Farbe bei meiner Änderung nach dem HSV Farbmodell. Nur der Hue Wert wird immer vergrößert. Also es ändert sich nur die Farbe aber nicht die Helligkeit. Mit den Tasten o und l kann man die Brightness vergrößern bzw verringern und mit den Tasten u und j den Saturation Wert.


    Da die Farben aber immer noch als rgb gespeichert werden und nur zwischenzeitlich zu HSV konvertiert, ist es noch ein bisschen buggy wenn die brightness nahe bei 0 ist. Der Farbwert kann dann verloren gehen und man muss den interval Wert vergrößern um den hue Wert zu verändern.


    Wer das mal ausprobieren will kann sichs unter der Fork hier laden: https://github.com/Fabi1080/RGB-CAT


    Die jar hat die Endung hsv bekommen.

  • Danke TenEigthy. Wenn du es erlaubst, dann baue ich deine Änderungen in das Tool mit ein zusammen mit einem Toggle, ob man nach HSV oder nach RGB die Farben ändern möchte.