ledConfig in config, report creation and upload (#398)

* update effects

* fix

* try

* .

* Update clock.py

* Update clock.py

* upd

* impl ledConfig

* upd

* fix

* update

* update js

* fix pacman

* change order of priorities
This commit is contained in:
brindosch 2017-02-15 15:53:35 +01:00 committed by redPanther
parent 37b8a909b6
commit 7c336b0511
17 changed files with 887 additions and 260 deletions

View File

@ -46,55 +46,55 @@
<tbody> <tbody>
<tr> <tr>
<td class="ltd"> <td class="ltd">
<label class="ltdlabel" for="ip_cl_ledstop" data-i18n="conf_leds_layout_cl_top">Top</label> <label class="ltdlabel" for="ip_cl_top" data-i18n="conf_leds_layout_cl_top">Top</label>
</td> </td>
<td class="itd input-group"> <td class="itd input-group">
<input class="form-control ledCLconstr led_val_int" id="ip_cl_ledstop" type="number" value="10" min="0" step="1"></input> <input class="form-control ledCLconstr " id="ip_cl_top" type="number" value="10" min="0" step="1"></input>
<div class="input-group-addon" data-i18n="edt_append_leds">LEDs</div> <div class="input-group-addon" data-i18n="edt_append_leds">LEDs</div>
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="ltd"> <td class="ltd">
<label class="ltdlabel" for="ip_cl_ledsbottom" data-i18n="conf_leds_layout_cl_bottom">Bottom</label> <label class="ltdlabel" for="ip_cl_bottom" data-i18n="conf_leds_layout_cl_bottom">Bottom</label>
</td> </td>
<td class="itd input-group"> <td class="itd input-group">
<input class="form-control ledCLconstr led_val_int" id="ip_cl_ledsbottom" type="number" value="10" min="0" step="1"></input> <input class="form-control ledCLconstr" id="ip_cl_bottom" type="number" value="10" min="0" step="1"></input>
<div class="input-group-addon" data-i18n="edt_append_leds">LEDs</div> <div class="input-group-addon" data-i18n="edt_append_leds">LEDs</div>
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="ltd"> <td class="ltd">
<label class="ltdlabel" for="ip_cl_ledsleft" data-i18n="conf_leds_layout_cl_left">Left</label> <label class="ltdlabel" for="ip_cl_left" data-i18n="conf_leds_layout_cl_left">Left</label>
</td> </td>
<td class="itd input-group"> <td class="itd input-group">
<input class="form-control ledCLconstr led_val_int" id="ip_cl_ledsleft" type="number" value="6" min="0" step="1"></input> <input class="form-control ledCLconstr" id="ip_cl_left" type="number" value="6" min="0" step="1"></input>
<div class="input-group-addon" data-i18n="edt_append_leds">LEDs</div> <div class="input-group-addon" data-i18n="edt_append_leds">LEDs</div>
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="ltd"> <td class="ltd">
<label class="ltdlabel" for="ip_cl_ledsright" data-i18n="conf_leds_layout_cl_right">Right</label> <label class="ltdlabel" for="ip_cl_right" data-i18n="conf_leds_layout_cl_right">Right</label>
</td> </td>
<td class="itd input-group"> <td class="itd input-group">
<input class="form-control ledCLconstr led_val_int" id="ip_cl_ledsright" type="number" value="6" min="0" step="1"></input> <input class="form-control ledCLconstr" id="ip_cl_right" type="number" value="6" min="0" step="1"></input>
<div class="input-group-addon" data-i18n="edt_append_leds">LEDs</div> <div class="input-group-addon" data-i18n="edt_append_leds">LEDs</div>
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="ltd"> <td class="ltd">
<label class="ltdlabel" for="ip_cl_ledsglength" data-i18n="conf_leds_layout_cl_gaglength">Gap length</label> <label class="ltdlabel" for="ip_cl_glength" data-i18n="conf_leds_layout_cl_gaglength">Gap length</label>
</td> </td>
<td class="itd input-group"> <td class="itd input-group">
<input class="form-control ledCLconstr led_val_int" id="ip_cl_ledsglength" type="number" value="0" min="0" step="1"></input> <input class="form-control ledCLconstr" id="ip_cl_glength" type="number" value="0" min="0" step="1"></input>
<div class="input-group-addon" data-i18n="edt_append_leds">LEDs</div> <div class="input-group-addon" data-i18n="edt_append_leds">LEDs</div>
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="ltd"> <td class="ltd">
<label class="ltdlabel" for="ip_cl_ledsgpos" data-i18n="conf_leds_layout_cl_gappos">Gap position</label> <label class="ltdlabel" for="ip_cl_gpos" data-i18n="conf_leds_layout_cl_gappos">Gap position</label>
</td> </td>
<td class="itd"> <td class="itd">
<input class="form-control ledCLconstr led_val_int" id="ip_cl_ledsgpos" type="number" value="0" min="0" step="1"> <input class="form-control ledCLconstr" id="ip_cl_gpos" type="number" value="0" min="0" step="1">
</td> </td>
</tr> </tr>
<tr> <tr>
@ -102,7 +102,7 @@
<label class="ltdlabel" for="ip_cl_position" data-i18n="conf_leds_layout_cl_inppos">Input position</label> <label class="ltdlabel" for="ip_cl_position" data-i18n="conf_leds_layout_cl_inppos">Input position</label>
</td> </td>
<td class="itd"> <td class="itd">
<input class="form-control ledCLconstr led_val_int" id="ip_cl_position" type="number" value="0" step="1"> <input class="form-control ledCLconstr" id="ip_cl_position" type="number" value="0" step="1">
</td> </td>
</tr> </tr>
<tr> <tr>
@ -111,7 +111,7 @@
</td> </td>
<td class="itd"> <td class="itd">
<div class="checkbox"> <div class="checkbox">
<input class="ledCLconstr led_val_bool" id="ip_cl_reverse" type="checkbox" value="false"></input> <input class="ledCLconstr" id="ip_cl_reverse" type="checkbox" value="false"></input>
<label></label> <label></label>
</div> </div>
</td> </td>
@ -130,19 +130,19 @@
<tbody> <tbody>
<tr> <tr>
<td class="ltd"> <td class="ltd">
<label class="ltdlabel" for="ip_cl_ledshdepth" data-i18n="conf_leds_layout_cl_hleddepth">Horizontal LED depth</label> <label class="ltdlabel" for="ip_cl_hdepth" data-i18n="conf_leds_layout_cl_hleddepth">Horizontal LED depth</label>
</td> </td>
<td class="itd input-group"> <td class="itd input-group">
<input class="form-control ledCLconstr led_val_int" id="ip_cl_ledshdepth" type="number" value="8" min="1" max="100" step="1"></input> <input class="form-control ledCLconstr" id="ip_cl_hdepth" type="number" value="8" min="1" max="100" step="1"></input>
<div class="input-group-addon" data-i18n="edt_append_percent">%</div> <div class="input-group-addon" data-i18n="edt_append_percent">%</div>
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="ltd"> <td class="ltd">
<label class="ltdlabel" for="ip_cl_ledsvdepth" data-i18n="conf_leds_layout_cl_vleddepth">Vertical LED depth</label> <label class="ltdlabel" for="ip_cl_vdepth" data-i18n="conf_leds_layout_cl_vleddepth">Vertical LED depth</label>
</td> </td>
<td class="itd input-group"> <td class="itd input-group">
<input class="form-control ledCLconstr led_val_int" id="ip_cl_ledsvdepth" type="number" value="5" min="1" max="100" step="1"></input> <input class="form-control ledCLconstr" id="ip_cl_vdepth" type="number" value="5" min="1" max="100" step="1"></input>
<div class="input-group-addon" data-i18n="edt_append_percent">%</div> <div class="input-group-addon" data-i18n="edt_append_percent">%</div>
</td> </td>
</tr> </tr>
@ -151,25 +151,25 @@
<label class="ltdlabel" for="ip_cl_overlap" data-i18n="conf_leds_layout_cl_overlap">Edge Gap</label> <label class="ltdlabel" for="ip_cl_overlap" data-i18n="conf_leds_layout_cl_overlap">Edge Gap</label>
</td> </td>
<td class="itd input-group"> <td class="itd input-group">
<input class="form-control ledCLconstr led_val_int" id="ip_cl_overlap" type="number" value="0" min="0" max="100" step="1"></input> <input class="form-control ledCLconstr" id="ip_cl_overlap" type="number" value="0" min="0" max="200" step="1"></input>
<div class="input-group-addon" data-i18n="edt_append_percent">%</div> <div class="input-group-addon" data-i18n="edt_append_percent">%</div>
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="ltd"> <td class="ltd">
<label class="ltdlabel" for="ip_cl_ledsedgegap" data-i18n="conf_leds_layout_cl_edgegap">Edge Gap</label> <label class="ltdlabel" for="ip_cl_edgegap" data-i18n="conf_leds_layout_cl_edgegap">Edge Gap</label>
</td> </td>
<td class="itd input-group"> <td class="itd input-group">
<input class="form-control ledCLconstr led_val_int" id="ip_cl_ledsedgegap" type="number" value="0" min="0" max="50" step="1"></input> <input class="form-control ledCLconstr" id="ip_cl_edgegap" type="number" value="0" min="0" max="50" step="1"></input>
<div class="input-group-addon" data-i18n="edt_append_percent">%</div> <div class="input-group-addon" data-i18n="edt_append_percent">%</div>
</td> </td>
</tr> </tr>
<!-- <tr> <!-- <tr>
<td class="ltd"> <td class="ltd">
<label class="ltdlabel" for="ip_cl_ledscornergap" data-i18n="conf_leds_layout_cl_cornergap">Corner Gap</label> <label class="ltdlabel" for="ip_cl_cornergap" data-i18n="conf_leds_layout_cl_cornergap">Corner Gap</label>
</td> </td>
<td class="itd input-group"> <td class="itd input-group">
<input class="form-control ledCLconstr led_val_int" id="ip_cl_ledscornergap" type="number" value="0" min="0" max="50" step="1"></input> <input class="form-control ledCLconstr " id="ip_cl_cornergap" type="number" value="0" min="0" max="50" step="1"></input>
<div class="input-group-addon" data-i18n="edt_append_percent">%</div> <div class="input-group-addon" data-i18n="edt_append_percent">%</div>
</td> </td>
</tr> </tr>
@ -201,7 +201,7 @@
<label class="ltdlabel" for="ip_ma_ledshoriz" data-i18n="conf_leds_layout_ma_horiz">Horizontal</label> <label class="ltdlabel" for="ip_ma_ledshoriz" data-i18n="conf_leds_layout_ma_horiz">Horizontal</label>
</td> </td>
<td class="itd input-group"> <td class="itd input-group">
<input class="form-control ledMAconstr led_val_int" id="ip_ma_ledshoriz" type="number" value="10" min="1" step="1"></input> <input class="form-control ledMAconstr" id="ip_ma_ledshoriz" type="number" value="10" min="1" step="1"></input>
<div class="input-group-addon" data-i18n="edt_append_leds">LEDs</div> <div class="input-group-addon" data-i18n="edt_append_leds">LEDs</div>
</td> </td>
</tr> </tr>
@ -210,7 +210,7 @@
<label class="ltdlabel" for="ip_ma_ledsvert" data-i18n="conf_leds_layout_ma_vert">Vertical</label> <label class="ltdlabel" for="ip_ma_ledsvert" data-i18n="conf_leds_layout_ma_vert">Vertical</label>
</td> </td>
<td class="itd input-group"> <td class="itd input-group">
<input class="form-control ledMAconstr led_val_int" id="ip_ma_ledsvert" type="number" value="10" min="1" step="1"></input> <input class="form-control ledMAconstr" id="ip_ma_ledsvert" type="number" value="10" min="1" step="1"></input>
<div class="input-group-addon" data-i18n="edt_append_leds">LEDs</div> <div class="input-group-addon" data-i18n="edt_append_leds">LEDs</div>
</td> </td>
</tr> </tr>
@ -219,7 +219,7 @@
<label class="ltdlabel" for="ip_ma_cabling" data-i18n="conf_leds_layout_ma_cabling">Cabling</label> <label class="ltdlabel" for="ip_ma_cabling" data-i18n="conf_leds_layout_ma_cabling">Cabling</label>
</td> </td>
<td class="itd"> <td class="itd">
<select class="form-control ledMAconstr led_val_string" id="ip_ma_cabling"> <select class="form-control ledMAconstr" id="ip_ma_cabling">
<option value="snake" data-i18n="conf_leds_layout_ma_optsnake">Snake</option> <option value="snake" data-i18n="conf_leds_layout_ma_optsnake">Snake</option>
<option value="parallel" data-i18n="conf_leds_layout_ma_optparallel">Parallel</option> <option value="parallel" data-i18n="conf_leds_layout_ma_optparallel">Parallel</option>
</select> </select>
@ -242,7 +242,7 @@
<label class="ltdlabel" for="ip_ma_start" data-i18n="conf_leds_layout_ma_position">Input</label> <label class="ltdlabel" for="ip_ma_start" data-i18n="conf_leds_layout_ma_position">Input</label>
</td> </td>
<td class="itd"> <td class="itd">
<select class="form-control ledMAconstr led_val_string" id="ip_ma_start"> <select class="form-control ledMAconstr" id="ip_ma_start">
<option value="top-left" data-i18n="conf_leds_layout_ma_opttopleft">Top left</option> <option value="top-left" data-i18n="conf_leds_layout_ma_opttopleft">Top left</option>
<option value="top-right" data-i18n="conf_leds_layout_ma_opttopright">Top right</option> <option value="top-right" data-i18n="conf_leds_layout_ma_opttopright">Top right</option>
<option value="bottom-left" data-i18n="conf_leds_layout_ma_optbottomleft">Bottom left</option> <option value="bottom-left" data-i18n="conf_leds_layout_ma_optbottomleft">Bottom left</option>

View File

@ -161,9 +161,12 @@
"conf_kodi_label_title" : "Kodi Überwachung", "conf_kodi_label_title" : "Kodi Überwachung",
"conf_kodi_intro" : "Die Kodi Überwachung ermöglicht es dir abhängig vom Kodi Status dein ambient light an oder abzuschalten. Dies ist nicht limitiert auf das selbe Gerät. Du kannst jedes Kodi in deinem lokalen Netzwerk überwachen lassen.", "conf_kodi_intro" : "Die Kodi Überwachung ermöglicht es dir abhängig vom Kodi Status dein ambient light an oder abzuschalten. Dies ist nicht limitiert auf das selbe Gerät. Du kannst jedes Kodi in deinem lokalen Netzwerk überwachen lassen.",
"conf_logging_label_intro" : "Überprüfe die Meldungen im Prokotoll um zu erfahren was Hyperion gerade beschäftigt. Je nach eingestellter Protokoll-Stufe siehst du mehr oder weniger Informationen.", "conf_logging_label_intro" : "Überprüfe die Meldungen im Prokotoll um zu erfahren was Hyperion gerade beschäftigt. Je nach eingestellter Protokoll-Stufe siehst du mehr oder weniger Informationen.",
"conf_logging_btn_pbupload" : "Protokoll hochladen", "conf_logging_btn_pbupload" : "Bericht für Supportanfrage erstellen",
"conf_logging_btn_autoscroll" : "Automatisch scrollen", "conf_logging_btn_autoscroll" : "Automatisch scrollen",
"conf_logging_nomessage" : "Keine Einträge vorhanden.", "conf_logging_nomessage" : "Keine Einträge vorhanden.",
"conf_logging_uploading" : "Aufbereitung der Daten...",
"conf_logging_yourlink" : "Link zu deinem Bericht",
"conf_logging_uplfailed" : "Hochladen fehlgeschlagen! Überprüfe deine Internetverbindung!",
"conf_webconfig_label_intro" : "Einstellungen zur Webkonfiguration. Änderungen können die Erreichbarkeit des Webinterfaces beeinflussen.", "conf_webconfig_label_intro" : "Einstellungen zur Webkonfiguration. Änderungen können die Erreichbarkeit des Webinterfaces beeinflussen.",
"remote_losthint" : "Notiz: Alle Änderungen gehen nach einem Neustart verloren.", "remote_losthint" : "Notiz: Alle Änderungen gehen nach einem Neustart verloren.",
"remote_color_label" : "Farbe/Effekt", "remote_color_label" : "Farbe/Effekt",
@ -285,7 +288,7 @@
"wiz_hue_create_user" : "Benutzer anlegen", "wiz_hue_create_user" : "Benutzer anlegen",
"wiz_hue_failure_ip" : "Bitte überprüfe deine IP Adresse.", "wiz_hue_failure_ip" : "Bitte überprüfe deine IP Adresse.",
"wiz_hue_failure_connection" : "Connection Timeout. Bitte drücke die Taste rechtzeitig.", "wiz_hue_failure_connection" : "Connection Timeout. Bitte drücke die Taste rechtzeitig.",
"wiz_hue_press_link" : "Bitte Link Taste auf der Hue Bridge drücken.", "wiz_hue_press_link" : "Bitte \"Link\" Taste auf der Hue Bridge drücken.",
"wiz_cc_title" : "Farbkalibrierungs Assistent", "wiz_cc_title" : "Farbkalibrierungs Assistent",
"wiz_cc_intro1" : "Der Assistent wird dich durch die Kalibrierung deiner LEDs leiten. Sofern du Kodi nutzt, können die Bilder und Testvideos direkt an Kodi geschickt werden. Andernfalls musst du das Material selbst herunterladen und anwenden.", "wiz_cc_intro1" : "Der Assistent wird dich durch die Kalibrierung deiner LEDs leiten. Sofern du Kodi nutzt, können die Bilder und Testvideos direkt an Kodi geschickt werden. Andernfalls musst du das Material selbst herunterladen und anwenden.",
"wiz_cc_kwebs" : "Kodi Webserver (IP:Port)", "wiz_cc_kwebs" : "Kodi Webserver (IP:Port)",
@ -296,11 +299,11 @@
"wiz_cc_kodishould" : "Kodi sollte jetzt folgendes Bild anzeigen: $1", "wiz_cc_kodishould" : "Kodi sollte jetzt folgendes Bild anzeigen: $1",
"wiz_cc_lettvshow" : "Lass dabei deinen Fernseher folgendes Bild anzeigen: $1", "wiz_cc_lettvshow" : "Lass dabei deinen Fernseher folgendes Bild anzeigen: $1",
"wiz_cc_lettvshowm" : "Überprüfe dies mithilfe folgender Bildern: $1", "wiz_cc_lettvshowm" : "Überprüfe dies mithilfe folgender Bildern: $1",
"wiz_cc_adjustit" : "Verändere dein \"$1\", bis du zufrieden bist.", "wiz_cc_adjustit" : "Verändere dein \"$1\", bis du zufrieden bist. Beachte: Je mehr du reduzierst bzw von dem Standardwert abweichst, je mehr veränderst du den maximalen Farbraum, was alle Farben die daraus abgeleitet werden ebenfalls betrifft. Je nach TV/LED Farbspektrum sind die Ergebnisse unterschiedlich.",
"wiz_cc_adjustgamma" : "Gamma: Was du jetzt tun musst ist, jeden Gamma-Kanal so einstellen, dass der \"Grauverlauf\" auf den LEDs nicht grünlich/rötlich/bläulich aussieht. Beispiel: Sollte dein grau etwas rötlich sein bedeutet dies, dass du dein Gamma für Rot erhöhen musst um den Rot-Anteil zu verringern (Je mehr Gamma, desto weniger Farbe).", "wiz_cc_adjustgamma" : "Gamma: Was du jetzt tun musst ist, jeden Gamma-Kanal so einstellen, dass der \"Grauverlauf\" auf den LEDs nicht grünlich/rötlich/bläulich aussieht. Beispiel: Sollte dein grau etwas rötlich sein bedeutet dies, dass du dein Gamma für Rot erhöhen musst um den Rot-Anteil zu verringern (Je mehr Gamma, desto weniger Farbe).",
"wiz_cc_chooseid" : "Wähle einen Namen für dieses Profil.", "wiz_cc_chooseid" : "Wähle einen Namen für dieses Profil.",
"wiz_cc_btn_switchpic" : "Testbild ändern", "wiz_cc_btn_switchpic" : "Testbild ändern",
"wiz_cc_minBright" : "Zusätzlich kannst du eine minimale Helligkeit einstellen, um \"irritierende Farben\" bei fast schwarzem Bild zu vermeiden oder du den Wechsel zwischen Farbe und Aus als zu anstrengend empfindest. Diese ist deaktiviert im Zustand \"Aus\" sowie bei Farben und Effekten.", "wiz_cc_backlight" : "Zusätzlich kannst du eine Hintergrundbeluchtung einstellen, um \"irritierende Farben\" bei fast schwarzem Bild zu vermeiden oder du den Wechsel zwischen Farbe und Aus als zu anstrengend empfindest. Zusätzlich kann bestimmt werden, ob diese farbig oder nur weiß sein soll. Wird automatisch deaktiviert im Zustand \"Aus\" sowie bei \"Farbe\" und \"Effekt\".",
"wiz_cc_testintro" : "Nun ist es an der Zeit für einen Testlauf.", "wiz_cc_testintro" : "Nun ist es an der Zeit für einen Testlauf.",
"wiz_cc_testintrok" : "Klicke auf einen Button, um eines der Testvideos abzuspielen.", "wiz_cc_testintrok" : "Klicke auf einen Button, um eines der Testvideos abzuspielen.",
"wiz_cc_testintrowok" : "Unter folgendem Link findest du ein paar Testvideos zum herunterladen und abspielen:", "wiz_cc_testintrowok" : "Unter folgendem Link findest du ein paar Testvideos zum herunterladen und abspielen:",
@ -422,9 +425,10 @@
"edt_conf_color_gammaGreen_expl" : "Gamma von grün.", "edt_conf_color_gammaGreen_expl" : "Gamma von grün.",
"edt_conf_color_gammaBlue_title" : "Gamma blau", "edt_conf_color_gammaBlue_title" : "Gamma blau",
"edt_conf_color_gammaBlue_expl" : "Gamma von blau", "edt_conf_color_gammaBlue_expl" : "Gamma von blau",
"edt_conf_color_backlightThreshold_title" : "Minimale Helligkeit", "edt_conf_color_backlightThreshold_title" : "Hintergrund - beleuchtung",
"edt_conf_color_backlightColored_title" : "Farbige Hintergrundbeleuchtung", "edt_conf_color_backlightThreshold_expl" : "Eine Beleuchtung die dauerhaft aktiv ist. (Automatisch deaktiviert bei Effekten, Farben oder im Zustand \"Aus\")",
"edt_conf_color_brightnessMin_expl" : "Auch als Hintergrundhelligkeit genutzt.", "edt_conf_color_backlightColored_title" : "Farbige Hintergrund - beleuchtung",
"edt_conf_color_backlightColored_expl" : "Die Hintergrundbeleuchtung kann mit oder ohne Farbanteile genutzt werden.",
"edt_conf_color_brightness_title" : "Maximale Helligkeit", "edt_conf_color_brightness_title" : "Maximale Helligkeit",
"edt_conf_color_brightness_expl" : "Zwischen 0.0 und 0.5 ist die Helligkeit linearisiert. Von 0.5 bis 1.0 wird cyan, magenta und gelb bis zu 2x heller und weiß bis zu 3x.", "edt_conf_color_brightness_expl" : "Zwischen 0.0 und 0.5 ist die Helligkeit linearisiert. Von 0.5 bis 1.0 wird cyan, magenta und gelb bis zu 2x heller und weiß bis zu 3x.",
"edt_conf_smooth_heading_title" : "Glättung", "edt_conf_smooth_heading_title" : "Glättung",
@ -615,9 +619,11 @@
"edt_eff_colorHour_title" : "Farbe Stunde", "edt_eff_colorHour_title" : "Farbe Stunde",
"edt_eff_colorMinute_title" : "Farbe Minute", "edt_eff_colorMinute_title" : "Farbe Minute",
"edt_eff_colorSecond_title" : "Farbe Sekunde", "edt_eff_colorSecond_title" : "Farbe Sekunde",
"edt_eff_hourMargin_title" : "Abstand Stunde", "edt_eff_hourMargin_title" : "Länge Stunde",
"edt_eff_minuteMargin_title" : "Abstand Minute", "edt_eff_minuteMargin_title" : "Länge Minute",
"edt_eff_secondMargin_title" : "Abstand Sekunde", "edt_eff_secondMargin_title" : "Länge Sekunde",
"edt_eff_margin_title" : "Abstand",
"edt_eff_colorMarker_title" : "Farbe Markierung",
"edt_append_ns" : "ns", "edt_append_ns" : "ns",
"edt_append_ms" : "ms", "edt_append_ms" : "ms",
"edt_append_s" : "s", "edt_append_s" : "s",

View File

@ -161,9 +161,12 @@
"conf_kodi_label_title" : "Kodi Watch", "conf_kodi_label_title" : "Kodi Watch",
"conf_kodi_intro" : "The Kodi Watcher enables you to enable and disable the screencapture depending on Kodi state. This is not limited to the same machine, you could observe also a Kodi on any other device at your network.", "conf_kodi_intro" : "The Kodi Watcher enables you to enable and disable the screencapture depending on Kodi state. This is not limited to the same machine, you could observe also a Kodi on any other device at your network.",
"conf_logging_label_intro" : "Area to check log messages, depending on loglevel setting you see more or less information.", "conf_logging_label_intro" : "Area to check log messages, depending on loglevel setting you see more or less information.",
"conf_logging_btn_pbupload" : "Upload log", "conf_logging_btn_pbupload" : "Create report for support request",
"conf_logging_btn_autoscroll" : "Auto scrolling", "conf_logging_btn_autoscroll" : "Auto scrolling",
"conf_logging_nomessage" : "No log messages available.", "conf_logging_nomessage" : "No log messages available.",
"conf_logging_uploading" : "Prepare data...",
"conf_logging_yourlink" : "Link to your report",
"conf_logging_uplfailed" : "Upload failed! Please check your internet connection!",
"conf_webconfig_label_intro" : "Webconfiguration settings. Edit wisely.", "conf_webconfig_label_intro" : "Webconfiguration settings. Edit wisely.",
"remote_losthint" : "Note: All changes are lost after a restart.", "remote_losthint" : "Note: All changes are lost after a restart.",
"remote_color_label" : "Colors/Effects", "remote_color_label" : "Colors/Effects",
@ -296,11 +299,11 @@
"wiz_cc_kodishould" : "Kodi should the following picture: $1", "wiz_cc_kodishould" : "Kodi should the following picture: $1",
"wiz_cc_lettvshow" : "Let your TV show the following picture: $1", "wiz_cc_lettvshow" : "Let your TV show the following picture: $1",
"wiz_cc_lettvshowm" : "Check this with the following pictures: $1", "wiz_cc_lettvshowm" : "Check this with the following pictures: $1",
"wiz_cc_adjustit" : "Adjust your \"$1\", until your are fine with it.", "wiz_cc_adjustit" : "Adjust your \"$1\", until your are fine with it. Take notice: The more you adjust away from the default value the color spectrum will be limited (Also for all colors in between). Depending on TV/LED color spectrum the results will vary.",
"wiz_cc_adjustgamma" : "Gamma: Was du jetzt tun musst ist, jeden Gamma-Kanal so einstellen, dass der \"Grauverlauf\" auf den LEDs nicht grünlich/rötlich/bläulich aussieht. Beispiel: Sollte dein grau etwas rötlich sein bedeutet dies, dass du dein Gamma für Rot erhöhen musst um den Rot-Anteil zu verringern (Je mehr Gamma, desto weniger Farbe).", "wiz_cc_adjustgamma" : "Gamma: Was du jetzt tun musst ist, jeden Gamma-Kanal so einstellen, dass der \"Grauverlauf\" auf den LEDs nicht grünlich/rötlich/bläulich aussieht. Beispiel: Sollte dein grau etwas rötlich sein bedeutet dies, dass du dein Gamma für Rot erhöhen musst um den Rot-Anteil zu verringern (Je mehr Gamma, desto weniger Farbe).",
"wiz_cc_chooseid" : "Select a name for this profile.", "wiz_cc_chooseid" : "Define a name for this profile.",
"wiz_cc_btn_switchpic" : "Switch picture", "wiz_cc_btn_switchpic" : "Switch picture",
"wiz_cc_minBright" : "Additional you could define a minimum brightness to sort out \"bad colors\" on nearly dark areas or if you don't like the switch between color and off during watching. This is disabled during the state \"Off\" ,color and effect.", "wiz_cc_backlight" : "Additional you could define a backlight to sort out \"bad colors\" on nearly dark areas or if you don't like the switch between color and off during watching. Additional you could define if there should be some color in it or just white. This is disabled during the state \"Off\" ,\"Color\" and \"Effect\".",
"wiz_cc_testintro" : "Time for a real test!", "wiz_cc_testintro" : "Time for a real test!",
"wiz_cc_testintrok" : "Push on a button below to start a test video.", "wiz_cc_testintrok" : "Push on a button below to start a test video.",
"wiz_cc_testintrowok" : "Checkout the following link to download test videos:", "wiz_cc_testintrowok" : "Checkout the following link to download test videos:",
@ -422,9 +425,10 @@
"edt_conf_color_gammaGreen_expl" : "The gamma of green.", "edt_conf_color_gammaGreen_expl" : "The gamma of green.",
"edt_conf_color_gammaBlue_title" : "gamma blue", "edt_conf_color_gammaBlue_title" : "gamma blue",
"edt_conf_color_gammaBlue_expl" : "The gamma of blue.", "edt_conf_color_gammaBlue_expl" : "The gamma of blue.",
"edt_conf_color_backlightThreshold_title" : "backlight threshold", "edt_conf_color_backlightThreshold_title" : "Backlight threshold",
"edt_conf_color_backlightThreshold_expl" : "The minimum amount of brightness (backlight). Disabled during effects, colors and in status \"Off\"",
"edt_conf_color_backlightColored_title" : "Colored backlight", "edt_conf_color_backlightColored_title" : "Colored backlight",
"edt_conf_color_brightnessMin_expl" : "The minimum amount of brightness (backlight).", "edt_conf_color_backlightColored_expl" : "Add some color to your backlight.",
"edt_conf_color_brightness_title" : "maximal brightness", "edt_conf_color_brightness_title" : "maximal brightness",
"edt_conf_color_brightness_expl" : "From 0.0 to 0.5 the brightness is linearised, from 0.5 to 1.0 cyan, magenta, yellow is up to 2x brighter and white 3x.", "edt_conf_color_brightness_expl" : "From 0.0 to 0.5 the brightness is linearised, from 0.5 to 1.0 cyan, magenta, yellow is up to 2x brighter and white 3x.",
"edt_conf_smooth_heading_title" : "Smoothing", "edt_conf_smooth_heading_title" : "Smoothing",
@ -618,6 +622,8 @@
"edt_eff_hourMargin_title" : "Margin hour", "edt_eff_hourMargin_title" : "Margin hour",
"edt_eff_minuteMargin_title" : "Margin minute", "edt_eff_minuteMargin_title" : "Margin minute",
"edt_eff_secondMargin_title" : "Margin second", "edt_eff_secondMargin_title" : "Margin second",
"edt_eff_margin_title" : "Margin",
"edt_eff_colorMarker_title" : "Color marker",
"edt_append_ns" : "ns", "edt_append_ns" : "ns",
"edt_append_ms" : "ms", "edt_append_ms" : "ms",
"edt_append_s" : "s", "edt_append_s" : "s",

View File

@ -4,6 +4,7 @@ $(document).ready( function() {
var effectName = ""; var effectName = "";
var effects_editor = null; var effects_editor = null;
var effectPy = ""; var effectPy = "";
var testrun;
if(showOptHelp) if(showOptHelp)
createHintH("intro", $.i18n('effectsconfigurator_label_intro'), "intro_effc"); createHintH("intro", $.i18n('effectsconfigurator_label_intro'), "intro_effc");
@ -27,6 +28,7 @@ $(document).ready( function() {
} }
function triggerTestEffect() { function triggerTestEffect() {
testrun = true;
var args = effects_editor.getEditor('root.args'); var args = effects_editor.getEditor('root.args');
requestTestEffect(effectName, ":/effects/" + effectPy.slice(1), JSON.stringify(args.getValue())); requestTestEffect(effectName, ":/effects/" + effectPy.slice(1), JSON.stringify(args.getValue()));
}; };
@ -79,6 +81,9 @@ $(document).ready( function() {
showInfoDialog('success', "", $.i18n('infoDialog_effconf_created_text', effectName)); showInfoDialog('success', "", $.i18n('infoDialog_effconf_created_text', effectName));
}); });
if (testrun)
setTimeout(requestPriorityClear,100);
}); });
$('#btn_start_test').off().on('click',function() { $('#btn_start_test').off().on('click',function() {
@ -87,6 +92,7 @@ $(document).ready( function() {
$('#btn_stop_test').off().on('click',function() { $('#btn_stop_test').off().on('click',function() {
requestPriorityClear(); requestPriorityClear();
testrun = false;
}); });
$('#btn_cont_test').off().on('click',function() { $('#btn_cont_test').off().on('click',function() {

View File

@ -1,9 +1,6 @@
var ledsCustomCfgInitialized = false; var ledsCustomCfgInitialized = false;
var finalLedArray = []; var finalLedArray = [];
var IntListIds;
var StrListIds;
var BoolListIds;
function validateText(){ function validateText(){
e = isJsonString($("#ledconfig").val()); e = isJsonString($("#ledconfig").val());
@ -15,53 +12,6 @@ function validateText(){
return true return true
} }
function loadStoredValues()
{
if (storageComp() && getStorage('ip_cl_ledstop') != null)
{
for(var i = 0; i < IntListIds.length; i++)
{
$('#'+IntListIds[i]).val(parseInt(getStorage(IntListIds[i])));
}
for(var i = 0; i < BoolListIds.length; i++)
{
var vb = getStorage(BoolListIds[i]);
$('#'+BoolListIds[i]).prop('checked', vb == "true" ? true : false);
}
for(var i = 0; i < StrListIds.length; i++)
{
$('#'+StrListIds[i]).val(getStorage(StrListIds[i]));
}
return;
}
return;
}
function saveValues()
{
if(storageComp())
{
for(var i = 0; i < IntListIds.length; i++)
{
setStorage(IntListIds[i], $('#'+IntListIds[i]).val());
}
for(var i = 0; i < BoolListIds.length; i++)
{
setStorage(BoolListIds[i], $('#'+BoolListIds[i]).is(":checked"));
}
for(var i = 0; i < StrListIds.length; i++)
{
setStorage(StrListIds[i], $('#'+StrListIds[i]).val());
}
return;
}
}
function round(number) { function round(number) {
var factor = Math.pow(10, 4); var factor = Math.pow(10, 4);
var tempNumber = number * factor; var tempNumber = number * factor;
@ -115,20 +65,20 @@ function createLedPreview(leds, origin){
function createClassicLeds(){ function createClassicLeds(){
//get values //get values
var ledstop = parseInt($("#ip_cl_ledstop").val()); var ledstop = parseInt($("#ip_cl_top").val());
var ledsbottom = parseInt($("#ip_cl_ledsbottom").val()); var ledsbottom = parseInt($("#ip_cl_bottom").val());
var ledsleft = parseInt($("#ip_cl_ledsleft").val()); var ledsleft = parseInt($("#ip_cl_left").val());
var ledsright = parseInt($("#ip_cl_ledsright").val()); var ledsright = parseInt($("#ip_cl_right").val());
var ledsglength = parseInt($("#ip_cl_ledsglength").val()); var ledsglength = parseInt($("#ip_cl_glength").val());
var ledsgpos = parseInt($("#ip_cl_ledsgpos").val()); var ledsgpos = parseInt($("#ip_cl_gpos").val());
var position = parseInt($("#ip_cl_position").val()); var position = parseInt($("#ip_cl_position").val());
var reverse = $("#ip_cl_reverse").is(":checked"); var reverse = $("#ip_cl_reverse").is(":checked");
//advanced values //advanced values
var ledsVDepth = parseInt($("#ip_cl_ledsvdepth").val())/100; var ledsVDepth = parseInt($("#ip_cl_vdepth").val())/100;
var ledsHDepth = parseInt($("#ip_cl_ledshdepth").val())/100; var ledsHDepth = parseInt($("#ip_cl_hdepth").val())/100;
var edgeVGap = parseInt($("#ip_cl_ledsedgegap").val())/100/2; var edgeVGap = parseInt($("#ip_cl_edgegap").val())/100/2;
//var cornerVGap = parseInt($("#ip_cl_ledscornergap").val())/100/2; //var cornerVGap = parseInt($("#ip_cl_cornergap").val())/100/2;
var overlap = $("#ip_cl_overlap").val()/4000; var overlap = $("#ip_cl_overlap").val()/4000;
//helper //helper
@ -373,13 +323,31 @@ $(document).ready(function() {
$('#led_vis_help').html('<div><div class="led_ex" style="background-color:black;margin-right:5px;margin-top:3px"></div><div style="display:inline-block;vertical-align:top">'+$.i18n('conf_leds_layout_preview_l1')+'</div></div><div class="led_ex" style="background-color:grey;margin-top:3px;margin-right:2px"></div><div class="led_ex" style="background-color: rgb(169, 169, 169);margin-right:5px;margin-top:3px;"></div><div style="display:inline-block;vertical-align:top">'+$.i18n('conf_leds_layout_preview_l2')+'</div>'); $('#led_vis_help').html('<div><div class="led_ex" style="background-color:black;margin-right:5px;margin-top:3px"></div><div style="display:inline-block;vertical-align:top">'+$.i18n('conf_leds_layout_preview_l1')+'</div></div><div class="led_ex" style="background-color:grey;margin-top:3px;margin-right:2px"></div><div class="led_ex" style="background-color: rgb(169, 169, 169);margin-right:5px;margin-top:3px;"></div><div style="display:inline-block;vertical-align:top">'+$.i18n('conf_leds_layout_preview_l2')+'</div>');
} }
//gather ids var slConfig = serverConfig.ledConfig;
IntListIds = $('.led_val_int').map(function() { return this.id; }).get();
StrListIds = $('.led_val_string').map(function() { return this.id; }).get();
BoolListIds = $('.led_val_bool').map(function() { return this.id; }).get();
// restore values from storage //restore ledConfig
loadStoredValues(); for(key in slConfig)
{
if(typeof(slConfig[key]) === "boolean")
$('#ip_cl_'+key).prop('checked', slConfig[key]);
else
$('#ip_cl_'+key).val(slConfig[key]);
}
function saveValues()
{
var ledConfig = {};
for(key in slConfig)
{
if(typeof(slConfig[key]) === "boolean")
ledConfig[key] = $('#ip_cl_'+key).is(':checked');
else if(Number.isInteger(slConfig[key]))
ledConfig[key] = parseInt($('#ip_cl_'+key).val());
else
ledConfig[key] = $('#ip_cl_'+key).val();
}
setTimeout(requestWriteConfig, 100, {ledConfig});
}
// check access level and adjust ui // check access level and adjust ui
if(storedAccess == "default") if(storedAccess == "default")
@ -410,7 +378,6 @@ $(document).ready(function() {
$("#ledconfig").text(JSON.stringify(finalLedArray, null, "\t")); $("#ledconfig").text(JSON.stringify(finalLedArray, null, "\t"));
$('#collapse1').collapse('hide'); $('#collapse1').collapse('hide');
$('#collapse4').collapse('show'); $('#collapse4').collapse('show');
saveValues();
} }
}); });
@ -420,7 +387,6 @@ $(document).ready(function() {
$("#ledconfig").text(JSON.stringify(finalLedArray, null, "\t")); $("#ledconfig").text(JSON.stringify(finalLedArray, null, "\t"));
$('#collapse2').collapse('hide'); $('#collapse2').collapse('hide');
$('#collapse4').collapse('show'); $('#collapse4').collapse('show');
saveValues();
} }
}); });
@ -518,7 +484,10 @@ $(document).ready(function() {
// validate and save led config from textfield // validate and save led config from textfield
$("#leds_custom_save").off().on("click", function() { $("#leds_custom_save").off().on("click", function() {
if (validateText()) if (validateText())
{
requestWriteConfig(JSON.parse('{"leds" :'+$("#ledconfig").val()+'}')); requestWriteConfig(JSON.parse('{"leds" :'+$("#ledconfig").val()+'}'));
saveValues();
}
}); });
// toggle led numbers // toggle led numbers

View File

@ -5,6 +5,8 @@
$(document).ready(function() { $(document).ready(function() {
var messages;
$('#conf_cont').append(createOptPanel('fa-reorder', $.i18n("edt_conf_log_heading_title"), 'editor_container', 'btn_submit')); $('#conf_cont').append(createOptPanel('fa-reorder', $.i18n("edt_conf_log_heading_title"), 'editor_container', 'btn_submit'));
if(showOptHelp) if(showOptHelp)
{ {
@ -24,6 +26,80 @@ $(document).ready(function() {
requestWriteConfig(conf_editor.getValue()); requestWriteConfig(conf_editor.getValue());
}); });
function uploadLog()
{
var reportUrl = 'https://glot.io/snippets/';
var log = "";
var config = JSON.stringify(serverConfig, null, "\t").replace(/"/g, '\\"');
var prios = serverInfo.info.priorities;
var comps = serverInfo.info.components;
//create log
for(var i = 0; i<messages.length; i++)
{
app_name = messages[i].appName;
logger_name = messages[i].loggerName;
function_ = messages[i].function;
line = messages[i].line;
file_name = messages[i].fileName;
msg = messages[i].message;
level_string = messages[i].levelString;
debug = "";
if(level_string == "DEBUG") {
debug = "<"+file_name+":"+line+":"+function_+"()> ";
}
log += "["+app_name+" "+logger_name+"] <"+level_string+"> "+debug+msg+"\n";
}
//create prios
var info = "######## PRIORITIES ######## \n";
for(var i = 0; i<prios.length; i++)
{
info += prios[i].priority;
if(prios[i].visible)
info += ' VISIBLE!';
else
info += ' ';
info += ' ('+prios[i].component+') Owner: '+prios[i].owner+'\n';
}
info += '\npriorities_autoselect: '+serverInfo.info.priorities_autoselect+'\n\n';
//create comps
info += '######## COMPONENTS ######## \n'
for(var i = 0; i<comps.length; i++)
{
info += comps[i].enabled+' - '+comps[i].name+'\n';
}
$.ajax({
url: 'https://snippets.glot.io/snippets',
// headers: { "Authorization": "Token 9ed92d37-36ca-4430-858f-47b6a3d4d535", "Access-Control-Allow-Origin": "*", "Access-Control-Allow-Methods": "GET,HEAD,OPTIONS,POST,PUT", "Access-Control-Allow-Headers": "Origin, X-Requested-With, Content-Type, Accept, Authorization" },
crossDomain: true,
contentType: 'application/json',
type: 'POST',
timeout: 7000,
data: '{"language":"plaintext","title":"Hyperion '+currentVersion+' Report ('+serverConfig.general.name+' ('+serverInfo.info.ledDevices.active+'))","public":false,"files":[{"name":"Info","content":"'+info+'"},{"name":"Hyperion Log","content":"'+log+'"},{"name":"Hyperion Config","content":"'+config+'"}]}'
})
.done( function( data, textStatus, jqXHR ) {
reportUrl += data.id;
if(textStatus == "success")
{
$('#upl_link').html($.i18n('conf_logging_yourlink')+': <a href="'+reportUrl+'" target="_blank">'+reportUrl+'</a>');
$("html, body").animate({ scrollTop: 9999 }, "fast");
}
else
{
$('#btn_logupload').attr("disabled", false);
$('#upl_link').html('<span style="color:red">'+$.i18n('conf_logging_uplfailed')+'<span>');
}
})
.fail( function( jqXHR, textStatus ) {
//console.log(jqXHR, textStatus)
});
}
if (!loggingHandlerInstalled) if (!loggingHandlerInstalled)
{ {
loggingHandlerInstalled = true; loggingHandlerInstalled = true;
@ -31,12 +107,17 @@ $(document).ready(function() {
messages = (event.response.result.messages); messages = (event.response.result.messages);
if(messages.length != 0 && !createdCont) if(messages.length != 0 && !createdCont)
{ {
$('#log_content').html('<pre><div id="logmessages" style="overflow:scroll;max-height:400px"></div></pre><button class="btn btn-primary" id="btn_pbupload">'+$.i18n('conf_logging_btn_pbupload')+'</button><button class="btn btn-success" id="btn_autoscroll" style="margin-left:10px;">'+$.i18n('conf_logging_btn_autoscroll')+'</button>'); $('#log_content').html('<pre><div id="logmessages" style="overflow:scroll;max-height:400px"></div></pre><button class="btn btn-primary" id="btn_logupload">'+$.i18n('conf_logging_btn_pbupload')+'</button><button class="btn btn-success" id="btn_autoscroll" style="margin-left:10px;">'+$.i18n('conf_logging_btn_autoscroll')+'</button><div id="upl_link" style="margin-top:10px;font-weight:bold;"></div>');
createdCont = true; createdCont = true;
$('#btn_autoscroll').off().on('click',function() { $('#btn_autoscroll').off().on('click',function() {
toggleClass('#btn_autoscroll', "btn-success", "btn-danger"); toggleClass('#btn_autoscroll', "btn-success", "btn-danger");
}); });
$('#btn_logupload').off().on('click',function() {
uploadLog();
$(this).attr("disabled", true);
$('#upl_link').html($.i18n('conf_logging_uploading'))
});
} }
for(var idx=0; idx<messages.length; idx++) for(var idx=0; idx<messages.length; idx++)
{ {

View File

@ -41,9 +41,18 @@ $(document).ready(function() {
requestAdjustment(e.target.id.substr(e.target.id.indexOf("_") + 1), '['+rgb.r+','+rgb.g+','+rgb.b+']'); requestAdjustment(e.target.id.substr(e.target.id.indexOf("_") + 1), '['+rgb.r+','+rgb.g+','+rgb.b+']');
}); });
} }
else if(sColor[key].type == "boolean")
{
property = '<div class="checkbox"><input id="cr_'+sColor[key].key+'" type="checkbox" value="'+value+'"/><label></label></div>';
$('.crtbody').append(createTableRow([title, property], false, true));
$('#cr_'+sColor[key].key).off().on('change', function(e){
requestAdjustment(e.target.id.substr(e.target.id.indexOf("_") + 1), e.currentTarget.checked);
});
}
else else
{ {
if(sColor[key].key == "brightness" || sColor[key].key == "brightnessMin") if(sColor[key].key == "brightness" || sColor[key].key == "backlightThreshold")
property = '<input id="cr_'+sColor[key].key+'" type="number" class="form-control" min="0.0" max="1.0" step="0.05" value="'+value+'"/>'; property = '<input id="cr_'+sColor[key].key+'" type="number" class="form-control" min="0.0" max="1.0" step="0.05" value="'+value+'"/>';
else else
property = '<input id="cr_'+sColor[key].key+'" type="number" class="form-control" min="0.0" max="4.0" step="0.1" value="'+value+'"/>'; property = '<input id="cr_'+sColor[key].key+'" type="number" class="form-control" min="0.0" max="4.0" step="0.1" value="'+value+'"/>';

View File

@ -175,7 +175,7 @@ $(document).ready( function() {
var picnr = 0; var picnr = 0;
var availVideos = ["Sweet_Cocoon","Caminandes_2_GranDillama","Caminandes_3_Llamigos"]; var availVideos = ["Sweet_Cocoon","Caminandes_2_GranDillama","Caminandes_3_Llamigos"];
if(getStorage("kodiAddress" != null)) if(getStorage("kodiAddress") != null)
kodiAddress = getStorage("kodiAddress"); kodiAddress = getStorage("kodiAddress");
function switchPicture(pictures) function switchPicture(pictures)
@ -208,9 +208,9 @@ $(document).ready( function() {
$.ajax({ $.ajax({
url: 'http://' + kodiAddress + '/jsonrpc', url: 'http://' + kodiAddress + '/jsonrpc',
dataType: 'jsonp', dataType: 'jsonp',
crossDomain: true,
jsonpCallback: 'jsonCallback', jsonpCallback: 'jsonCallback',
type: 'POST', type: 'POST',
async: true,
timeout: 2000, timeout: 2000,
data: 'request=' + encodeURIComponent( command ) data: 'request=' + encodeURIComponent( command )
}) })
@ -347,8 +347,8 @@ $(document).ready( function() {
} }
if(step == 10) if(step == 10)
{ {
updateWEditor(["backlightThreshold"]); updateWEditor(["backlightThreshold","backlightColored"]);
h = $.i18n('wiz_cc_minBright'); h = $.i18n('wiz_cc_backlight');
if(withKodi) if(withKodi)
{ {
h += '<br/>'+$.i18n('wiz_cc_kodishould',$.i18n('edt_conf_color_black_title')); h += '<br/>'+$.i18n('wiz_cc_kodishould',$.i18n('edt_conf_color_black_title'));
@ -632,5 +632,4 @@ $(document).ready( function() {
} }
$('#btn_wizard_philipshue').off().on('click',startWizardPhilipsHue); $('#btn_wizard_philipshue').off().on('click',startWizardPhilipsHue);
}); });

View File

@ -195,7 +195,7 @@
"blackborderdetector" : "blackborderdetector" :
{ {
"enable" : true, "enable" : true,
"threshold" : 0.0, "threshold" : 0.05,
"unknownFrameCnt" : 600, "unknownFrameCnt" : 600,
"borderFrameCnt" : 50, "borderFrameCnt" : 50,
"maxInconsistentCnt" : 10, "maxInconsistentCnt" : 10,
@ -341,6 +341,23 @@
] ]
}, },
/// Recreate and save led layouts made with web config. These values are just helpers for ui, not for Hyperion.
"ledConfig" :
{
"top" : 8,
"bottom" : 8,
"left" : 5,
"right" : 5,
"glength" : 0,
"gpos" : 0,
"position" : 0,
"reverse" : false,
"hdepth" : 8,
"vdepth" : 5,
"overlap" : 0,
"edgegap" : 0
},
/// The configuration for each individual led. This contains the specification of the area /// The configuration for each individual led. This contains the specification of the area
/// averaged of an input image for each led to determine its color. Each item in the list /// averaged of an input image for each led to determine its color. Each item in the list
/// contains the following fields: /// contains the following fields:
@ -351,97 +368,293 @@
/// * vscan: The fractional part of the image along the vertical used for the averaging /// * vscan: The fractional part of the image along the vertical used for the averaging
/// (minimum and maximum inclusive) /// (minimum and maximum inclusive)
"leds" : "leds":
[ [
{ {
"hscan": {
"maximum": 0.125,
"minimum": 0
},
"index": 0, "index": 0,
"hscan": { "maximum": 0.1667, "minimum": 0 }, "vscan": {
"vscan": { "maximum": 0.0800, "minimum": 0 } "maximum": 0.08,
"minimum": 0
}
}, },
{ {
"hscan": {
"maximum": 0.25,
"minimum": 0.125
},
"index": 1, "index": 1,
"hscan": { "maximum": 0.3332, "minimum": 0.1667 }, "vscan": {
"vscan": { "maximum": 0.0800, "minimum": 0 } "maximum": 0.08,
"minimum": 0
}
}, },
{ {
"hscan": {
"maximum": 0.375,
"minimum": 0.25
},
"index": 2, "index": 2,
"hscan": { "maximum": 0.5, "minimum": 0.3333 }, "vscan": {
"vscan": { "maximum": 0.0800, "minimum": 0 } "maximum": 0.08,
"minimum": 0
}
}, },
{ {
"hscan": {
"maximum": 0.5,
"minimum": 0.375
},
"index": 3, "index": 3,
"hscan": { "maximum": 0.6667, "minimum": 0.5 }, "vscan": {
"vscan": { "maximum": 0.0800, "minimum": 0 } "maximum": 0.08,
"minimum": 0
}
}, },
{ {
"hscan": {
"maximum": 0.625,
"minimum": 0.5
},
"index": 4, "index": 4,
"hscan": { "maximum": 0.8333, "minimum": 0.6667 }, "vscan": {
"vscan": { "maximum": 0.0800, "minimum": 0 } "maximum": 0.08,
"minimum": 0
}
}, },
{ {
"hscan": {
"maximum": 0.75,
"minimum": 0.625
},
"index": 5, "index": 5,
"hscan": { "maximum": 1, "minimum": 0.8333 }, "vscan": {
"vscan": { "maximum": 0.0800, "minimum": 0 } "maximum": 0.08,
"minimum": 0
}
}, },
{ {
"hscan": {
"maximum": 0.875,
"minimum": 0.75
},
"index": 6, "index": 6,
"hscan": { "maximum": 1, "minimum": 0.95 }, "vscan": {
"vscan": { "maximum": 0.3333, "minimum": 0 } "maximum": 0.08,
"minimum": 0
}
}, },
{ {
"hscan": {
"maximum": 1,
"minimum": 0.875
},
"index": 7, "index": 7,
"hscan": { "maximum": 1, "minimum": 0.95 }, "vscan": {
"vscan": { "maximum": 0.6667, "minimum": 0.3333 } "maximum": 0.08,
"minimum": 0
}
}, },
{ {
"hscan": {
"maximum": 1,
"minimum": 0.95
},
"index": 8, "index": 8,
"hscan": { "maximum": 1, "minimum": 0.95 }, "vscan": {
"vscan": { "maximum": 1, "minimum": 0.6667 } "maximum": 0.2,
"minimum": 0
}
}, },
{ {
"hscan": {
"maximum": 1,
"minimum": 0.95
},
"index": 9, "index": 9,
"hscan": { "maximum": 1, "minimum": 0.8333 }, "vscan": {
"vscan": { "maximum": 1, "minimum": 0.92 } "maximum": 0.4,
"minimum": 0.2
}
}, },
{ {
"hscan": {
"maximum": 1,
"minimum": 0.95
},
"index": 10, "index": 10,
"hscan": { "maximum": 0.8333, "minimum": 0.6667 }, "vscan": {
"vscan": { "maximum": 1, "minimum": 0.92 } "maximum": 0.6,
"minimum": 0.4
}
}, },
{ {
"hscan": {
"maximum": 1,
"minimum": 0.95
},
"index": 11, "index": 11,
"hscan": { "maximum": 0.6667, "minimum": 0.5 }, "vscan": {
"vscan": { "maximum": 1, "minimum": 0.92 } "maximum": 0.8,
"minimum": 0.6
}
}, },
{ {
"hscan": {
"maximum": 1,
"minimum": 0.95
},
"index": 12, "index": 12,
"hscan": { "maximum": 0.5, "minimum": 0.3333 }, "vscan": {
"vscan": { "maximum": 1, "minimum": 0.92 } "maximum": 1,
"minimum": 0.8
}
}, },
{ {
"hscan": {
"maximum": 1,
"minimum": 0.875
},
"index": 13, "index": 13,
"hscan": { "maximum": 0.3333, "minimum": 0.1667 }, "vscan": {
"vscan": { "maximum": 1, "minimum": 0.92 } "maximum": 1,
"minimum": 0.92
}
}, },
{ {
"hscan": {
"maximum": 0.875,
"minimum": 0.75
},
"index": 14, "index": 14,
"hscan": { "maximum": 0.1667, "minimum": 0 }, "vscan": {
"vscan": { "maximum": 1, "minimum": 0.92 } "maximum": 1,
"minimum": 0.92
}
}, },
{ {
"hscan": {
"maximum": 0.75,
"minimum": 0.625
},
"index": 15, "index": 15,
"hscan": { "maximum": 0.05, "minimum": 0 }, "vscan": {
"vscan": { "maximum": 1, "minimum": 0.6667 } "maximum": 1,
"minimum": 0.92
}
}, },
{ {
"hscan": {
"maximum": 0.625,
"minimum": 0.5
},
"index": 16, "index": 16,
"hscan": { "maximum": 0.05, "minimum": 0 }, "vscan": {
"vscan": { "maximum": 0.6667, "minimum": 0.3333 } "maximum": 1,
"minimum": 0.92
}
}, },
{ {
"hscan": {
"maximum": 0.5,
"minimum": 0.375
},
"index": 17, "index": 17,
"hscan": { "maximum": 0.05, "minimum": 0 }, "vscan": {
"vscan": { "maximum": 0.3333, "minimum": 0 } "maximum": 1,
"minimum": 0.92
}
},
{
"hscan": {
"maximum": 0.375,
"minimum": 0.25
},
"index": 18,
"vscan": {
"maximum": 1,
"minimum": 0.92
}
},
{
"hscan": {
"maximum": 0.25,
"minimum": 0.125
},
"index": 19,
"vscan": {
"maximum": 1,
"minimum": 0.92
}
},
{
"hscan": {
"maximum": 0.125,
"minimum": 0
},
"index": 20,
"vscan": {
"maximum": 1,
"minimum": 0.92
}
},
{
"hscan": {
"maximum": 0.05,
"minimum": 0
},
"index": 21,
"vscan": {
"maximum": 1,
"minimum": 0.8
}
},
{
"hscan": {
"maximum": 0.05,
"minimum": 0
},
"index": 22,
"vscan": {
"maximum": 0.8,
"minimum": 0.6
}
},
{
"hscan": {
"maximum": 0.05,
"minimum": 0
},
"index": 23,
"vscan": {
"maximum": 0.6,
"minimum": 0.4
}
},
{
"hscan": {
"maximum": 0.05,
"minimum": 0
},
"index": 24,
"vscan": {
"maximum": 0.4,
"minimum": 0.2
}
},
{
"hscan": {
"maximum": 0.05,
"minimum": 0
},
"index": 25,
"vscan": {
"maximum": 0.2,
"minimum": 0
}
} }
] ]
} }

View File

@ -85,18 +85,26 @@
"framegrabber" : "framegrabber" :
{ {
"enable" : true, "enable" : true,
"type" : "auto", "type" : "auto",
"width" : 80, "width" : 80,
"height" : 45, "height" : 45,
"frequency_Hz" : 10, "frequency_Hz" : 10,
"priority" : 250 "priority" : 250,
"useXGetImage" : false,
"horizontalPixelDecimation" : 8,
"verticalPixelDecimation" : 8,
"cropLeft" : 0,
"cropRight" : 0,
"cropTop" : 0,
"cropBottom" : 0,
"device" : "/dev/fb0"
}, },
"blackborderdetector" : "blackborderdetector" :
{ {
"enable" : true, "enable" : true,
"threshold" : 0.5, "threshold" : 0.05,
"unknownFrameCnt" : 600, "unknownFrameCnt" : 600,
"borderFrameCnt" : 50, "borderFrameCnt" : 50,
"maxInconsistentCnt" : 10, "maxInconsistentCnt" : 10,
@ -181,97 +189,309 @@
"paths" : ["../custom-effects"] "paths" : ["../custom-effects"]
}, },
"leds": "ledConfig" :
{
"top" : 8,
"bottom" : 8,
"left" : 5,
"right" : 5,
"glength" : 0,
"gpos" : 0,
"position" : 0,
"reverse" : false,
"hdepth" : 8,
"vdepth" : 5,
"overlap" : 0,
"edgegap" : 0
},
"leds":
[ [
{ {
"hscan": {
"maximum": 0.125,
"minimum": 0
},
"index": 0, "index": 0,
"hscan": { "maximum": 0.1667, "minimum": 0 }, "vscan": {
"vscan": { "maximum": 0.0800, "minimum": 0 } "maximum": 0.08,
"minimum": 0
}
}, },
{ {
"hscan": {
"maximum": 0.25,
"minimum": 0.125
},
"index": 1, "index": 1,
"hscan": { "maximum": 0.3332, "minimum": 0.1667 }, "vscan": {
"vscan": { "maximum": 0.0800, "minimum": 0 } "maximum": 0.08,
"minimum": 0
}
}, },
{ {
"hscan": {
"maximum": 0.375,
"minimum": 0.25
},
"index": 2, "index": 2,
"hscan": { "maximum": 0.5, "minimum": 0.3333 }, "vscan": {
"vscan": { "maximum": 0.0800, "minimum": 0 } "maximum": 0.08,
"minimum": 0
}
}, },
{ {
"hscan": {
"maximum": 0.5,
"minimum": 0.375
},
"index": 3, "index": 3,
"hscan": { "maximum": 0.6667, "minimum": 0.5 }, "vscan": {
"vscan": { "maximum": 0.0800, "minimum": 0 } "maximum": 0.08,
"minimum": 0
}
}, },
{ {
"hscan": {
"maximum": 0.625,
"minimum": 0.5
},
"index": 4, "index": 4,
"hscan": { "maximum": 0.8333, "minimum": 0.6667 }, "vscan": {
"vscan": { "maximum": 0.0800, "minimum": 0 } "maximum": 0.08,
"minimum": 0
}
}, },
{ {
"hscan": {
"maximum": 0.75,
"minimum": 0.625
},
"index": 5, "index": 5,
"hscan": { "maximum": 1, "minimum": 0.8333 }, "vscan": {
"vscan": { "maximum": 0.0800, "minimum": 0 } "maximum": 0.08,
"minimum": 0
}
}, },
{ {
"hscan": {
"maximum": 0.875,
"minimum": 0.75
},
"index": 6, "index": 6,
"hscan": { "maximum": 1, "minimum": 0.95 }, "vscan": {
"vscan": { "maximum": 0.3333, "minimum": 0 } "maximum": 0.08,
"minimum": 0
}
}, },
{ {
"hscan": {
"maximum": 1,
"minimum": 0.875
},
"index": 7, "index": 7,
"hscan": { "maximum": 1, "minimum": 0.95 }, "vscan": {
"vscan": { "maximum": 0.6667, "minimum": 0.3333 } "maximum": 0.08,
"minimum": 0
}
}, },
{ {
"hscan": {
"maximum": 1,
"minimum": 0.95
},
"index": 8, "index": 8,
"hscan": { "maximum": 1, "minimum": 0.95 }, "vscan": {
"vscan": { "maximum": 1, "minimum": 0.6667 } "maximum": 0.2,
"minimum": 0
}
}, },
{ {
"hscan": {
"maximum": 1,
"minimum": 0.95
},
"index": 9, "index": 9,
"hscan": { "maximum": 1, "minimum": 0.8333 }, "vscan": {
"vscan": { "maximum": 1, "minimum": 0.92 } "maximum": 0.4,
"minimum": 0.2
}
}, },
{ {
"hscan": {
"maximum": 1,
"minimum": 0.95
},
"index": 10, "index": 10,
"hscan": { "maximum": 0.8333, "minimum": 0.6667 }, "vscan": {
"vscan": { "maximum": 1, "minimum": 0.92 } "maximum": 0.6,
"minimum": 0.4
}
}, },
{ {
"hscan": {
"maximum": 1,
"minimum": 0.95
},
"index": 11, "index": 11,
"hscan": { "maximum": 0.6667, "minimum": 0.5 }, "vscan": {
"vscan": { "maximum": 1, "minimum": 0.92 } "maximum": 0.8,
"minimum": 0.6
}
}, },
{ {
"hscan": {
"maximum": 1,
"minimum": 0.95
},
"index": 12, "index": 12,
"hscan": { "maximum": 0.5, "minimum": 0.3333 }, "vscan": {
"vscan": { "maximum": 1, "minimum": 0.92 } "maximum": 1,
"minimum": 0.8
}
}, },
{ {
"hscan": {
"maximum": 1,
"minimum": 0.875
},
"index": 13, "index": 13,
"hscan": { "maximum": 0.3333, "minimum": 0.1667 }, "vscan": {
"vscan": { "maximum": 1, "minimum": 0.92 } "maximum": 1,
"minimum": 0.92
}
}, },
{ {
"hscan": {
"maximum": 0.875,
"minimum": 0.75
},
"index": 14, "index": 14,
"hscan": { "maximum": 0.1667, "minimum": 0 }, "vscan": {
"vscan": { "maximum": 1, "minimum": 0.92 } "maximum": 1,
"minimum": 0.92
}
}, },
{ {
"hscan": {
"maximum": 0.75,
"minimum": 0.625
},
"index": 15, "index": 15,
"hscan": { "maximum": 0.05, "minimum": 0 }, "vscan": {
"vscan": { "maximum": 1, "minimum": 0.6667 } "maximum": 1,
"minimum": 0.92
}
}, },
{ {
"hscan": {
"maximum": 0.625,
"minimum": 0.5
},
"index": 16, "index": 16,
"hscan": { "maximum": 0.05, "minimum": 0 }, "vscan": {
"vscan": { "maximum": 0.6667, "minimum": 0.3333 } "maximum": 1,
"minimum": 0.92
}
}, },
{ {
"hscan": {
"maximum": 0.5,
"minimum": 0.375
},
"index": 17, "index": 17,
"hscan": { "maximum": 0.05, "minimum": 0 }, "vscan": {
"vscan": { "maximum": 0.3333, "minimum": 0 } "maximum": 1,
"minimum": 0.92
}
},
{
"hscan": {
"maximum": 0.375,
"minimum": 0.25
},
"index": 18,
"vscan": {
"maximum": 1,
"minimum": 0.92
}
},
{
"hscan": {
"maximum": 0.25,
"minimum": 0.125
},
"index": 19,
"vscan": {
"maximum": 1,
"minimum": 0.92
}
},
{
"hscan": {
"maximum": 0.125,
"minimum": 0
},
"index": 20,
"vscan": {
"maximum": 1,
"minimum": 0.92
}
},
{
"hscan": {
"maximum": 0.05,
"minimum": 0
},
"index": 21,
"vscan": {
"maximum": 1,
"minimum": 0.8
}
},
{
"hscan": {
"maximum": 0.05,
"minimum": 0
},
"index": 22,
"vscan": {
"maximum": 0.8,
"minimum": 0.6
}
},
{
"hscan": {
"maximum": 0.05,
"minimum": 0
},
"index": 23,
"vscan": {
"maximum": 0.6,
"minimum": 0.4
}
},
{
"hscan": {
"maximum": 0.05,
"minimum": 0
},
"index": 24,
"vscan": {
"maximum": 0.4,
"minimum": 0.2
}
},
{
"hscan": {
"maximum": 0.05,
"minimum": 0
},
"index": 25,
"vscan": {
"maximum": 0.2,
"minimum": 0
}
} }
] ]
} }

View File

@ -1,14 +0,0 @@
{
"name" : "Clock",
"script" : "clock.py",
"args" :
{
"offset" : 0,
"hour-margin" : 2,
"minute-margin" : 1,
"second-margin" : 0,
"hour-color" : [255, 0, 0],
"minute-color" : [0, 255, 0],
"second-color" : [0, 0, 255]
}
}

View File

@ -7,11 +7,10 @@ def myRange(index, margin):
""" Define some variables """ """ Define some variables """
sleepTime = 1 sleepTime = 1
markers = [0, 13, 25, 38]
ledCount = hyperion.ledCount ledCount = hyperion.ledCount
offset = hyperion.args.get('offset', 0) offset = hyperion.args.get('offset', 0)
direction = bool(hyperion.args.get('direction', False))
hourMargin = hyperion.args.get('hour-margin', 2) hourMargin = hyperion.args.get('hour-margin', 2)
minuteMargin = hyperion.args.get('minute-margin', 1) minuteMargin = hyperion.args.get('minute-margin', 1)
@ -21,6 +20,11 @@ hourColor = hyperion.args.get('hour-color', (255,0,0))
minuteColor = hyperion.args.get('minute-color', (0,255,0)) minuteColor = hyperion.args.get('minute-color', (0,255,0))
secondColor = hyperion.args.get('second-color', (0,0,255)) secondColor = hyperion.args.get('second-color', (0,0,255))
markerColor = hyperion.args.get('marker-color', (255,255,255))
marker = ledCount/4
markers = (0+offset, int(marker + offset) % ledCount, int(2*marker + offset) % ledCount, int(3*marker + offset) % ledCount)
""" The effect loop """ """ The effect loop """
while not hyperion.abort(): while not hyperion.abort():
@ -32,17 +36,18 @@ while not hyperion.abort():
m = now.minute m = now.minute
s = now.second s = now.second
led_hour = ((h*4 + h//3%2 + h//6) + offset) % ledCount hmin = float(h+(1/60*m))
led_minute = ((m*ledCount)/60 + offset) % ledCount
if hmin > 12:
hmin -= 12
hour = float(hmin/12 * ledCount)
led_hour = int(hour + offset) % ledCount
minute = m/60. * ledCount minute = m/60. * ledCount
minute_low = int(minute)
g1 = round((1-(minute-minute_low))*255)
led_minute = int(minute + offset) % ledCount led_minute = int(minute + offset) % ledCount
second = s/60. * ledCount second = s/60. * ledCount
second_low = int(second)
b1 = round((1-(second-second_low))*255)
led_second = int(second + offset) % ledCount led_second = int(second + offset) % ledCount
hourRange = myRange(led_hour, hourMargin) hourRange = myRange(led_hour, hourMargin)
@ -53,7 +58,7 @@ while not hyperion.abort():
blend = [0, 0, 0] blend = [0, 0, 0]
if i in markers: if i in markers:
blend = [255, 255, 255] blend = markerColor
if i in hourRange: if i in hourRange:
blend = hourColor blend = hourColor

View File

@ -3,6 +3,7 @@
"script" : "pacman.py", "script" : "pacman.py",
"args" : "args" :
{ {
"sleep-time" : 0.3 "margin-pos" : 2.0,
"rotationTime" : 8
} }
} }

View File

@ -4,10 +4,11 @@ import colorsys
from random import randint from random import randint
#get args #get args
sleepTime = float(hyperion.args.get('sleep-time', 0.3)) rotationTime = int(hyperion.args.get('rotationTime', 8))
marginPos = float(hyperion.args.get('margin-pos', 1.5))
# define pacman # define pacman
pacman = bytearray((255, 255, 1)) pacman = bytearray((255, 255, 0))
# define ghosts # define ghosts
redGuy = bytearray((255, 0, 0)) redGuy = bytearray((255, 0, 0))
@ -18,18 +19,29 @@ slowGuy = bytearray((255, 184, 81))
light = bytearray((255, 184, 174)) light = bytearray((255, 184, 174))
background = bytearray((0, 0, 0)) background = bytearray((0, 0, 0))
#helper
posPac = 1
diffPac = 6*marginPos
diffGuys = 3*marginPos
sleepTime = rotationTime/ledCount
posPinkGuy = posPac + diffPac
posBlueGuy = posPinkGuy + diffGuys
posSlowGuy = posBlueGuy + diffGuys
posRedGuy = posSlowGuy + diffGuys
# initialize the led data # initialize the led data
ledDataEscape = bytearray() ledDataEscape = bytearray()
for i in range(hyperion.ledCount): for i in range(hyperion.ledCount):
if i == 1: if i == 1:
ledDataEscape += pacman ledDataEscape += pacman
elif i == 7: elif i == posPinkGuy:
ledDataEscape += pinkGuy ledDataEscape += pinkGuy
elif i == 10: elif i == posBlueGuy:
ledDataEscape += blueGuy ledDataEscape += blueGuy
elif i == 13: elif i == posSlowGuy:
ledDataEscape += slowGuy ledDataEscape += slowGuy
elif i == 16: elif i == posRedGuy:
ledDataEscape += redGuy ledDataEscape += redGuy
else: else:
ledDataEscape += background ledDataEscape += background
@ -38,7 +50,7 @@ ledDataChase = bytearray()
for i in range(hyperion.ledCount): for i in range(hyperion.ledCount):
if i == 1: if i == 1:
ledDataChase += pacman ledDataChase += pacman
elif i in [7, 10, 13, 16]: elif i in [posPinkGuy, posBlueGuy, posSlowGuy, posRedGuy]:
ledDataChase += bytearray((33, 33, 255)) ledDataChase += bytearray((33, 33, 255))
else: else:
ledDataChase += background ledDataChase += background

View File

@ -5,7 +5,7 @@
"required": true, "required": true,
"properties": { "properties": {
"offset": { "offset": {
"type": "number", "type": "integer",
"title": "edt_eff_offset_title", "title": "edt_eff_offset_title",
"default": 0, "default": 0,
"append": "edt_append_leds", "append": "edt_append_leds",
@ -54,25 +54,36 @@
"propertyOrder": 4 "propertyOrder": 4
}, },
"hour-margin": { "hour-margin": {
"type": "number", "type": "integer",
"title": "edt_eff_hourMargin_title", "title": "edt_eff_hourMargin_title",
"default": 2, "default": 2,
"append": "edt_append_leds", "propertyOrder" : 5
"propertyOrder": 5
}, },
"minute-margin": { "minute-margin": {
"type": "number", "type": "integer",
"title": "edt_eff_minuteMargin_title", "title": "edt_eff_minuteMargin_title",
"default": 1, "default": 1,
"append": "edt_append_leds", "propertyOrder" : 6
"propertyOrder": 6
}, },
"second-margin": { "second-margin": {
"type": "number", "type": "integer",
"title": "edt_eff_secondMargin_title", "title": "edt_eff_secondMargin_title",
"default": 0, "default": 0,
"append": "edt_append_leds", "propertyOrder" : 7
"propertyOrder": 7 },
"marker-color": {
"type": "array",
"title":"edt_eff_colorMarker_title",
"format":"colorpicker",
"default": [255,255,255],
"items" : {
"type": "integer",
"minimum": 0,
"maximum": 255
},
"minItems": 3,
"maxItems": 3,
"propertyOrder" : 8
} }
}, },
"additionalProperties": false "additionalProperties": false

View File

@ -4,14 +4,22 @@
"title":"edt_eff_pacman_header_title", "title":"edt_eff_pacman_header_title",
"required":true, "required":true,
"properties":{ "properties":{
"sleep-time": { "rotationTime": {
"type": "number", "type": "integer",
"title":"edt_eff_sleeptime_title", "title":"edt_eff_rotationtime_title",
"default": 0.3, "default": 5,
"step" : 0.1, "step" : 0.1,
"minimum": 0.01, "minimum": 1,
"append" : "edt_append_s", "append" : "edt_append_s",
"propertyOrder" : 1 "propertyOrder" : 1
},
"margin-pos": {
"type": "number",
"title":"edt_eff_margin_title",
"default": 1.0,
"step" : 0.1,
"minimum": 1.0,
"propertyOrder" : 2
} }
}, },
"additionalProperties": false "additionalProperties": false

View File

@ -643,7 +643,8 @@
"type" : "string", "type" : "string",
"title" : "edt_conf_fg_type_title", "title" : "edt_conf_fg_type_title",
"enum" : ["auto","dispmanx","amlogic","x11","framebuffer"], "enum" : ["auto","dispmanx","amlogic","x11","framebuffer"],
"default" : "auto" "default" : "auto",
"propertyOrder" : 2
}, },
"width" : "width" :
{ {
@ -651,7 +652,8 @@
"title" : "edt_conf_v4l2_width_title", "title" : "edt_conf_v4l2_width_title",
"minimum" : 10, "minimum" : 10,
"default" : 80, "default" : 80,
"append" : "edt_append_pixel" "append" : "edt_append_pixel",
"propertyOrder" : 3
}, },
"height" : "height" :
{ {
@ -659,7 +661,8 @@
"title" : "edt_conf_v4l2_height_title", "title" : "edt_conf_v4l2_height_title",
"minimum" : 10, "minimum" : 10,
"default" : 45, "default" : 45,
"append" : "edt_append_pixel" "append" : "edt_append_pixel",
"propertyOrder" : 3
}, },
"frequency_Hz" : "frequency_Hz" :
{ {
@ -667,7 +670,8 @@
"title" : "edt_conf_fg_frequency_Hz_title", "title" : "edt_conf_fg_frequency_Hz_title",
"minimum" : 1, "minimum" : 1,
"default" : 10, "default" : 10,
"append" : "edt_append_hz" "append" : "edt_append_hz",
"propertyOrder" : 4
}, },
"priority" : "priority" :
{ {
@ -675,7 +679,8 @@
"title" : "edt_conf_general_priority_title", "title" : "edt_conf_general_priority_title",
"minimum" : 100, "minimum" : 100,
"maximum" : 253, "maximum" : 253,
"default" : 250 "default" : 250,
"propertyOrder" : 5
}, },
"cropLeft" : "cropLeft" :
{ {
@ -683,7 +688,8 @@
"title" : "edt_conf_v4l2_cropLeft_title", "title" : "edt_conf_v4l2_cropLeft_title",
"minimum" : 0, "minimum" : 0,
"default" : 0, "default" : 0,
"append" : "edt_append_pixel" "append" : "edt_append_pixel",
"propertyOrder" : 6
}, },
"cropRight" : "cropRight" :
{ {
@ -691,7 +697,8 @@
"title" : "edt_conf_v4l2_cropRight_title", "title" : "edt_conf_v4l2_cropRight_title",
"minimum" : 0, "minimum" : 0,
"default" : 0, "default" : 0,
"append" : "edt_append_pixel" "append" : "edt_append_pixel",
"propertyOrder" : 7
}, },
"cropTop" : "cropTop" :
{ {
@ -699,7 +706,8 @@
"title" : "edt_conf_v4l2_cropTop_title", "title" : "edt_conf_v4l2_cropTop_title",
"minimum" : 0, "minimum" : 0,
"default" : 0, "default" : 0,
"append" : "edt_append_pixel" "append" : "edt_append_pixel",
"propertyOrder" : 8
}, },
"cropBottom" : "cropBottom" :
{ {
@ -707,39 +715,45 @@
"title" : "edt_conf_v4l2_cropBottom_title", "title" : "edt_conf_v4l2_cropBottom_title",
"minimum" : 0, "minimum" : 0,
"default" : 0, "default" : 0,
"append" : "edt_append_pixel" "append" : "edt_append_pixel",
"propertyOrder" : 9
}, },
"useXGetImage" : "useXGetImage" :
{ {
"type" : "boolean", "type" : "boolean",
"title" : "edt_conf_fg_useXGetImage_title", "title" : "edt_conf_fg_useXGetImage_title",
"default" : false "default" : false,
"propertyOrder" : 10
}, },
"horizontalPixelDecimation" : "horizontalPixelDecimation" :
{ {
"type" : "integer", "type" : "integer",
"title" : "edt_conf_fg_horizontalPixelDecimation_title", "title" : "edt_conf_fg_horizontalPixelDecimation_title",
"minimum" : 0, "minimum" : 0,
"default" : 8 "default" : 8,
"propertyOrder" : 11
}, },
"verticalPixelDecimation" : "verticalPixelDecimation" :
{ {
"type" : "integer", "type" : "integer",
"title" : "edt_conf_fg_verticalPixelDecimation_title", "title" : "edt_conf_fg_verticalPixelDecimation_title",
"minimum" : 0, "minimum" : 0,
"default" : 8 "default" : 8,
"propertyOrder" : 12
}, },
"device" : "device" :
{ {
"type" : "string", "type" : "string",
"title" : "edt_conf_fg_device_title", "title" : "edt_conf_fg_device_title",
"default" : "/dev/fb0" "default" : "/dev/fb0",
"propertyOrder" : 13
}, },
"display" : "display" :
{ {
"type" : "integer", "type" : "integer",
"title" : "edt_conf_fg_display_title", "title" : "edt_conf_fg_display_title",
"minimum" : 0 "minimum" : 0,
"propertyOrder" : 14
} }
}, },
"additionalProperties" : false "additionalProperties" : false
@ -1235,6 +1249,87 @@
}, },
"additionalProperties" : false "additionalProperties" : false
}, },
"ledConfig":
{
"type" : "object",
"properties" :
{
"top" :
{
"type" : "integer",
"minimum" : 0,
"default" : 8
},
"bottom" :
{
"type" : "integer",
"minimum" : 0,
"default" : 8
},
"left" :
{
"type" : "integer",
"minimum" : 0,
"default" : 5
},
"right" :
{
"type" : "integer",
"minimum" : 0,
"default" : 5
},
"glength" :
{
"type" : "integer",
"minimum" : 0,
"default" : 0
},
"gpos" :
{
"type" : "integer",
"minimum" : 0,
"default" : 0
},
"position" :
{
"type" : "integer",
"default" : 0
},
"reverse" :
{
"type" : "boolean",
"default" : false
},
"hdepth" :
{
"type" : "integer",
"minimum" : 1,
"maximum" : 100,
"default" : 8
},
"vdepth" :
{
"type" : "integer",
"minimum" : 1,
"maximum" : 100,
"default" : 5
},
"overlap" :
{
"type" : "integer",
"minimum" : 0,
"default" : 0
},
"edgegap" :
{
"type" : "integer",
"minimum" : 0,
"maximum" : 50,
"default" : 0
}
},
"additionalProperties" : false
},
"leds": "leds":
{ {
"type":"array", "type":"array",