feat: Add Trapezoid to LED Layout (#791)

* Update schema-ledConfig.json

extend schema with corner points (vertcal and horizontal values in percent)

* Update conf_leds.html

input fields for corner points

* Update content_leds.js

add corner values and calculation of led rows

* Update de.json

german title for corners

* CHanges 26.12.2019 Correction and PowerOff add

* GrabberFix PiCam

* VType as QString

* Unused variable deletet

* Missing new paramneters for GrabberFix

* Error json

* JSon error by user

* Crosscompile SutnikElf frok

* Warning unused variable

* Revert "Crosscompile SutnikElf frok"

This reverts commit 443fe80090.

* Fixing a linting error

* Adding Grabber Override Names

* Adding more Grabber Fix translations

* Missed one

* remove V4L2 Grabber Fix and Power Button from Dashboard

Signed-off-by: Paulchen-Panther <Paulchen-Panter@protonmail.com>

* Setting some limits to the trapezoid

Co-authored-by: SputnikElf <58911932+SputnikElf@users.noreply.github.com>
Co-authored-by: SputnikElf <sputnikelf@gmx.de>
Co-authored-by: Paulchen-Panther <Paulchen-Panter@protonmail.com>
This commit is contained in:
Ben Williams 2020-05-19 23:36:52 -07:00 committed by GitHub
parent a38502b8fe
commit 4aebd55715
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 445 additions and 312 deletions

67
assets/webconfig/content/conf_leds.html Normal file → Executable file
View File

@ -165,7 +165,71 @@
<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">
<label class="ltdlabel" for="ip_cl_ptl" data-i18n="conf_leds_layout_ptl">Point Top Left</label>
</td>
<td class="itd input-group">
<input class="form-control ledCLconstr" id="ip_cl_ptlh" type="number" value="0" min="0" max="40" step="1"></input>
<div class="input-group-addon" data-i18n="edt_append_percent_h">%h</div>
</td>
</tr>
<tr>
<td class="ltd"></td>
<td class="itd input-group">
<input class="form-control ledCLconstr" id="ip_cl_ptlv" type="number" value="0" min="0" max="40" step="1"></input>
<div class="input-group-addon" data-i18n="edt_append_percent_v">%v</div>
</td>
</tr>
<tr>
<td class="ltd">
<label class="ltdlabel" for="ip_cl_ptr" data-i18n="conf_leds_layout_ptr">Point Top Right</label>
</td>
<td class="itd input-group">
<input class="form-control ledCLconstr" id="ip_cl_ptrh" type="number" value="100" min="60" max="100" step="1"></input>
<div class="input-group-addon" data-i18n="edt_append_percent_h">%</div>
</td>
</tr>
<tr>
<td class="ltd"></td>
<td class="itd input-group">
<input class="form-control ledCLconstr" id="ip_cl_ptrv" type="number" value="0" min="0" max="40" step="1"></input>
<div class="input-group-addon" data-i18n="edt_append_percent_v">%</div>
</td>
</tr>
<tr>
<td class="ltd">
<label class="ltdlabel" for="ip_cl_pbr" data-i18n="conf_leds_layout_pbr">Point Bottom Right</label>
</td>
<td class="itd input-group">
<input class="form-control ledCLconstr" id="ip_cl_pbrh" type="number" value="100" min="60" max="100" step="1"></input>
<div class="input-group-addon" data-i18n="edt_append_percent_h">%</div>
</td>
</tr>
<tr>
<td class="ltd"></td>
<td class="itd input-group">
<input class="form-control ledCLconstr" id="ip_cl_pbrv" type="number" value="100" min="60" max="100" step="1"></input>
<div class="input-group-addon" data-i18n="edt_append_percent_v">%</div>
</td>
</tr>
<tr>
<td class="ltd">
<label class="ltdlabel" for="ip_cl_pbl" data-i18n="conf_leds_layout_pbl">Point Bottom Left</label>
</td>
<td class="itd input-group">
<input class="form-control ledCLconstr" id="ip_cl_pblh" type="number" value="0" min="0" max="40" step="1"></input>
<div class="input-group-addon" data-i18n="edt_append_percent_h">%</div>
</td>
</tr>
<tr>
<td class="ltd"></td>
<td class="itd input-group">
<input class="form-control ledCLconstr" id="ip_cl_pblv" type="number" value="100" min="60" max="100" step="1"></input>
<div class="input-group-addon" data-i18n="edt_append_percent_v">%</div>
</td>
</tr>
<!-- <tr>
<td class="ltd"> <td class="ltd">
<label class="ltdlabel" for="ip_cl_cornergap" 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>
@ -180,6 +244,7 @@
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="panel-footer" style="text-align:right;"> <div class="panel-footer" style="text-align:right;">
<button id="btn_cl_save" class="btn btn-primary"><i class="fa fa-fw fa-save"></i><span data-i18n="conf_leds_layout_button_savelay">Save layout</span></button> <button id="btn_cl_save" class="btn btn-primary"><i class="fa fa-fw fa-save"></i><span data-i18n="conf_leds_layout_button_savelay">Save layout</span></button>

View File

@ -784,6 +784,8 @@
"edt_append_hz": "Hz", "edt_append_hz": "Hz",
"edt_append_pixel": "Pixel", "edt_append_pixel": "Pixel",
"edt_append_percent": "%", "edt_append_percent": "%",
"edt_append_percent_h": "% hori",
"edt_append_percent_v": "% vert",
"edt_append_degree": "°", "edt_append_degree": "°",
"edt_append_sdegree": "s/grad", "edt_append_sdegree": "s/grad",
"edt_append_leds": "LEDs", "edt_append_leds": "LEDs",
@ -824,5 +826,12 @@
"edt_msg_button_delete_row_title": "$1 Löschen", "edt_msg_button_delete_row_title": "$1 Löschen",
"edt_msg_button_delete_row_title_short": "Löschen", "edt_msg_button_delete_row_title_short": "Löschen",
"edt_msg_button_collapse": "Einklappen", "edt_msg_button_collapse": "Einklappen",
"edt_msg_button_expand": "Ausklappen" "edt_msg_button_expand": "Ausklappen",
"conf_leds_layout_ptln": "Trapezpunkte",
"conf_leds_layout_ptlh": "Horizontal",
"conf_leds_layout_ptlv": "Vertikal",
"conf_leds_layout_ptl": "Punkt Oben Links",
"conf_leds_layout_ptr": "Punkt Oben Rechts",
"conf_leds_layout_pbl": "Punkt Unten Links",
"conf_leds_layout_pbr": "Punkt Unten Rechts"
} }

View File

@ -51,8 +51,8 @@
"general_btn_grantAccess": "Grant Access", "general_btn_grantAccess": "Grant Access",
"general_btn_denyAccess": "Deny Access", "general_btn_denyAccess": "Deny Access",
"general_chars_needed": "more characters needed", "general_chars_needed": "more characters needed",
"general_wiki_moreto" : "More information about \"$1\" is available at our", "general_wiki_moreto" : "More informations to \"$1\" at our Wiki",
"dashboard_label_intro" : "This dashboard gives you a quick overview of your Hyperion installation and shows you the latest news from the Hyperion Blog.", "dashboard_label_intro" : "The dashboard give you a quick overview about the status of Hyperion and show you the latest news of the Hyperion Blog.",
"dashboard_infobox_label_title" : "Information", "dashboard_infobox_label_title" : "Information",
"dashboard_infobox_label_currenthyp" : "Your Hyperion version:", "dashboard_infobox_label_currenthyp" : "Your Hyperion version:",
"dashboard_infobox_label_latesthyp" : "Latest Hyperion version:", "dashboard_infobox_label_latesthyp" : "Latest Hyperion version:",
@ -71,12 +71,12 @@
"dashboard_componentbox_label_status" : "Status", "dashboard_componentbox_label_status" : "Status",
"dashboard_newsbox_label_title" : "Hyperion-Blog", "dashboard_newsbox_label_title" : "Hyperion-Blog",
"dashboard_newsbox_visitblog" : "Visit Hyperion-Blog", "dashboard_newsbox_visitblog" : "Visit Hyperion-Blog",
"dashboard_newsbox_noconn" : "Can't connect to the Hyperion Blog to retrieve latest posts, is your internet connection working?", "dashboard_newsbox_noconn" : "Can't connect to Hyperion Server to retrieve latest posts, does your internet connection work?",
"dashboard_newsbox_readmore" : "Read more", "dashboard_newsbox_readmore" : "Read more",
"dashboard_alert_message_confedit_t" : "Configuration modified", "dashboard_alert_message_confedit_t" : "Configuration modified",
"dashboard_alert_message_confedit" : "Your Hyperion configuration has been modified. To apply it, restart Hyperion.", "dashboard_alert_message_confedit" : "Your Hyperion configuration has been modified. To apply it, restart Hyperion.",
"dashboard_alert_message_disabled_t" : "LED hardware instance disabled", "dashboard_alert_message_disabled_t" : "LED hardware instance disabled",
"dashboard_alert_message_disabled" : "This instance is currently disabled! To use it again, enable it in the dashboard.", "dashboard_alert_message_disabled" : "This instance is currently disabled! To use it again, enable it at the dashboard.",
"dashboard_alert_message_confsave_success_t" : "Configuration saved", "dashboard_alert_message_confsave_success_t" : "Configuration saved",
"dashboard_alert_message_confsave_success" : "Your Hyperion configuration has been saved successfully. Your changes are now active.", "dashboard_alert_message_confsave_success" : "Your Hyperion configuration has been saved successfully. Your changes are now active.",
"dashboard_message_global_setting_t": "Instance independent setting", "dashboard_message_global_setting_t": "Instance independent setting",
@ -102,19 +102,19 @@
"main_menu_webconfig_token" : "Web configuration", "main_menu_webconfig_token" : "Web configuration",
"main_menu_about_token" : "About Hyperion", "main_menu_about_token" : "About Hyperion",
"main_ledsim_title" : "LED Visualization", "main_ledsim_title" : "LED Visualization",
"main_ledsim_text" : "Live visualization of led colours and optionally, the current video stream from your capture device.", "main_ledsim_text" : "Live visualization of led colors and optional the current video stream of your capture device.",
"main_ledsim_btn_toggleleds" : "Show LEDs", "main_ledsim_btn_toggleleds" : "Show LEDs",
"main_ledsim_btn_togglelednumber" : "LED numbers", "main_ledsim_btn_togglelednumber" : "LED numbers",
"main_ledsim_btn_togglelivevideo" : "Live video", "main_ledsim_btn_togglelivevideo" : "Live video",
"conf_general_label_title" : "General settings", "conf_general_label_title" : "General settings",
"conf_general_intro" : "Basic settings for Hyperion and WebUI that don't fit into any other categories.", "conf_general_intro" : "Basic settings around Hyperion and WebUI that don't fit into another category.",
"conf_general_impexp_title" : "Import/Export Configuration", "conf_general_impexp_title" : "Import/Export Configuration",
"conf_general_impexp_l1" : "Import a configuration by selecting a configuration file below and clicking on \"Import\".", "conf_general_impexp_l1" : "Import a configuration by selecting a configuration file below and click on \"Import\".",
"conf_general_impexp_l2" : "Export a configuration by clicking on \"Export\". Your browser will start a download.", "conf_general_impexp_l2" : "Export a configuration by clicking on \"Export\". Your browser starts a download.",
"conf_general_impexp_impbtn" : "Import", "conf_general_impexp_impbtn" : "Import",
"conf_general_impexp_expbtn" : "Export", "conf_general_impexp_expbtn" : "Export",
"conf_general_inst_title" : "LED Hardware Instance Management", "conf_general_inst_title" : "LED Hardware Instance Management",
"conf_general_inst_desc" : "Use multiple LED hardware setups at the same time. Each instance runs independently which allows you to set different LED layouts and calibration settings. Running instances can be selected from the icon in the top menu bar", "conf_general_inst_desc" : "Use different LED hardware at the same time. Each instance runs independent of each other which allows different LED layouts and calibration settings. Running instances are available at the top icon bar",
"conf_general_inst_namehead" : "Instance name", "conf_general_inst_namehead" : "Instance name",
"conf_general_inst_actionhead" : "Action", "conf_general_inst_actionhead" : "Action",
"conf_general_inst_name_title" : "New Instance name", "conf_general_inst_name_title" : "New Instance name",
@ -125,10 +125,10 @@
"conf_helptable_option" : "Option", "conf_helptable_option" : "Option",
"conf_helptable_expl" : "Explanation", "conf_helptable_expl" : "Explanation",
"conf_effect_path_intro" : "Load effects from the defined paths. Additional you can disable single effects by name to hide them from all effect lists.", "conf_effect_path_intro" : "Load effects from the defined paths. Additional you can disable single effects by name to hide them from all effect lists.",
"conf_effect_fgeff_intro" : "Define a boot effect or colour, which will be shown during Hyperion start-up, for the defined duration.", "conf_effect_fgeff_intro" : "Define a booteffect or color, which is shown during Hyperion startup for the defined duration.",
"conf_effect_bgeff_intro" : "Define a background effect/colour, which is shown during Hyperion \"idle\". Always starts with a channel priority of 255.", "conf_effect_bgeff_intro" : "Define a background effect/color, which is shown during Hyperion \"idle\". Sarts always with priority channel 255.",
"conf_leds_device_intro" : "Hyperion supports a lot of controllers to transmit data to your target device. Select a LED controller out of the sorted list and configure it. We have chosen the best default settings for each device.", "conf_leds_device_intro" : "Hyperion supports a lot of controllers to transmit data to your target device. Select a LED controller out of the sorted list and configure it. We have chosen the best default settings for each device.",
"conf_leds_layout_intro" : "You also need a led layout, which reflects your led positions. The classic layout is a tv frame, but we also support led matrix (led walls) creation. The view on this layout is ALWAYS of the FRONT of your TV.", "conf_leds_layout_intro" : "You need also a led layout, which reflects your led positions. The classic layout is the usual used tv frame, but we also support led matrix (led walls) creation. The view on this layout is ALWAYS of the FRONT of your TV.",
"conf_leds_nav_label_ledcontroller" : "LED Controller", "conf_leds_nav_label_ledcontroller" : "LED Controller",
"conf_leds_nav_label_ledlayout" : "LED Layout", "conf_leds_nav_label_ledlayout" : "LED Layout",
"conf_leds_contr_label_contrtype" : "Controller type:", "conf_leds_contr_label_contrtype" : "Controller type:",
@ -141,8 +141,8 @@
"conf_leds_layout_btn_checklist" : "Show checklist", "conf_leds_layout_btn_checklist" : "Show checklist",
"conf_leds_layout_checkp1" : "The black led is your first led, the first led is the point where you input your data signal.", "conf_leds_layout_checkp1" : "The black led is your first led, the first led is the point where you input your data signal.",
"conf_leds_layout_checkp2" : "The layout is always the front view of your TV, never the back view.", "conf_leds_layout_checkp2" : "The layout is always the front view of your TV, never the back view.",
"conf_leds_layout_checkp3" : "Make sure the direction is right. The grey leds indicate led number 2 and 3 to help visualize the data direction.", "conf_leds_layout_checkp3" : "Make sure the direction is right. The grey leds indicate led number 2 and 3 to visualize the data direction.",
"conf_leds_layout_checkp4" : "Case Gap: To create a gap, ignore it when you define Top/Bottom/Left/Right and afterwards set your gap length to remove an amount of leds. Modify the gap position until it matches the gap location in your setup.", "conf_leds_layout_checkp4" : "Case Gap: To create a gap, ignore it first when you define Top/Bottom/Left/Right and set afterwards your gap length to remove a amount of leds. Modify the gap position until it matches.",
"conf_leds_layout_frame" : "Classic Layout (LED Frame)", "conf_leds_layout_frame" : "Classic Layout (LED Frame)",
"conf_leds_layout_matrix" : "Matrix Layout (LED Wall)", "conf_leds_layout_matrix" : "Matrix Layout (LED Wall)",
"conf_leds_layout_generatedconf" : "Generated/Current LED Configuration", "conf_leds_layout_generatedconf" : "Generated/Current LED Configuration",
@ -153,7 +153,7 @@
"conf_leds_layout_preview_originCL" : "Created from: Classic Layout (LED Frame)", "conf_leds_layout_preview_originCL" : "Created from: Classic Layout (LED Frame)",
"conf_leds_layout_preview_originTEXT" : "Created from: Textfield", "conf_leds_layout_preview_originTEXT" : "Created from: Textfield",
"conf_leds_layout_preview_originMA" : "Created from: Matrix Layout(LED wall)", "conf_leds_layout_preview_originMA" : "Created from: Matrix Layout(LED wall)",
"conf_leds_layout_preview_totalleds" : "Total LEDs: $1", "conf_leds_layout_preview_totalleds" : "Totel LEDs: $1",
"conf_leds_layout_preview_ledpower" : "Max. power consumption: $1 A", "conf_leds_layout_preview_ledpower" : "Max. power consumption: $1 A",
"conf_leds_layout_preview_l1" : "This is your first led (input position)", "conf_leds_layout_preview_l1" : "This is your first led (input position)",
"conf_leds_layout_preview_l2" : "This visualizes the data direction (second/third led)", "conf_leds_layout_preview_l2" : "This visualizes the data direction (second/third led)",
@ -162,7 +162,7 @@
"conf_leds_layout_cl_left" : "Left", "conf_leds_layout_cl_left" : "Left",
"conf_leds_layout_cl_right" : "Right", "conf_leds_layout_cl_right" : "Right",
"conf_leds_layout_cl_gaglength" : "Gap length", "conf_leds_layout_cl_gaglength" : "Gap length",
"conf_leds_layout_cl_gappos" : "Gap position", "conf_leds_layout_cl_gappos" : "gap position",
"conf_leds_layout_cl_inppos" : "Input position", "conf_leds_layout_cl_inppos" : "Input position",
"conf_leds_layout_cl_reversdir" : "Reverse direction", "conf_leds_layout_cl_reversdir" : "Reverse direction",
"conf_leds_layout_cl_hleddepth" : "Horizontal LED depth", "conf_leds_layout_cl_hleddepth" : "Horizontal LED depth",
@ -183,20 +183,20 @@
"conf_leds_layout_ma_opttopright" : "Top right", "conf_leds_layout_ma_opttopright" : "Top right",
"conf_leds_layout_ma_optbottomleft" : "Bottom left", "conf_leds_layout_ma_optbottomleft" : "Bottom left",
"conf_leds_layout_ma_optbottomright" : "Bottom right", "conf_leds_layout_ma_optbottomright" : "Bottom right",
"conf_leds_layout_textf1" : "This text field shows (by default) your current loaded layout and will be overwritten if you generate a new one with the options above. Optional you could perform further edits.", "conf_leds_layout_textf1" : "This textfield shows by default your current loaded layout and will be overwritten if you generate a new one with the options above. Optional you could perform further edits.",
"conf_grabber_fg_intro" : "Platform capture is your local system, captured as an input source.", "conf_grabber_fg_intro" : "Platforum capture is your local system capture as input source, Hyperion is installed on.",
"conf_grabber_v4l_intro" : "USB capture uses a capture device connected via USB to this system to input source images for processing.", "conf_grabber_v4l_intro" : "USB capture is a (capture)device connected via USB which is used to input source pictures for processing.",
"conf_colors_color_intro" : "Create one or more calibration profiles, adjust each colour, brightness, linearization and more.", "conf_colors_color_intro" : "Create one or more calibration profiles, adjust each color, brightness, linearization and more.",
"conf_colors_smoothing_intro" : "Smoothing flattens colour/brightness changes to reduce annoying distraction.", "conf_colors_smoothing_intro" : "Smoothing flattens color/brightness changes to reduce annoying distraction.",
"conf_colors_blackborder_intro" : "Skip black bars wherever they are. Each mode uses a different detection algorithm which is tuned for special situations. Higher the threshold if it doesn't work for you.", "conf_colors_blackborder_intro" : "Skip black bars wherever they are. Each mode use another detection algorithm which is tuned for special situations. Higher the threshold if it doesn't work for you.",
"conf_network_net_intro" : "Network related settings which are applied to all network services.", "conf_network_net_intro" : "Network related settings which are applied to all network services.",
"conf_network_json_intro" : "The JSON-RPC-Port of all Hyperion instances, used for remote control.", "conf_network_json_intro" : "The JSON-RPC-Port of all Hyperion instances, used for remote control.",
"conf_network_bobl_intro" : "Receiver for Boblight", "conf_network_bobl_intro" : "Receiver for Boblight",
"conf_network_fbs_intro" : "Google Flatbuffers Receiver. Used for fast image transmission.", "conf_network_fbs_intro" : "Google Flatbuffers Receiver. Used for fast image transmission.",
"conf_network_proto_intro" : "The PROTO-Port of all Hyperion instances, used for picture streams (HyperionScreenCap, Kodi Addon, Android Hyperion Grabber, ...)", "conf_network_proto_intro" : "The PROTO-Port of all Hyperion instances, used for picture streams (HyperionScreenCap, Kodi Addon, Android Hyperion Grabber, ...)",
"conf_network_forw_intro" : "Forward all input to a second Hyperion instance which could be driven by another led controller", "conf_network_forw_intro" : "Forward all input to a second Hyperion instance which could be driven with another led controller",
"conf_network_tok_title" : "Token Management", "conf_network_tok_title" : "Token Management",
"conf_network_tok_desc" : "Tokens grant other applications access to the Hyperion API, an application can request a token which you will need to accept or you can create them yourself below. These tokens are required when \"API Authorization\" is enabled in network settings.", "conf_network_tok_desc" : "Tokens grant other applications access to the Hyperion API, an application can request a token where you need to accept it or you create them on your own below. These tokens are just required when \"API Authorization\" is enabled in network settings.",
"conf_network_tok_cidhead" : "Description", "conf_network_tok_cidhead" : "Description",
"conf_network_tok_lastuse" : "Last use", "conf_network_tok_lastuse" : "Last use",
"conf_network_tok_comment_title" : "Token description", "conf_network_tok_comment_title" : "Token description",
@ -210,49 +210,49 @@
"conf_logging_btn_pbupload" : "Upload a report for support requests", "conf_logging_btn_pbupload" : "Upload a report for support requests",
"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" : "Preparing data...", "conf_logging_uploading" : "Prepare data...",
"conf_logging_yourlink" : "Link to your report", "conf_logging_yourlink" : "Link to your report",
"conf_logging_uplfailed" : "Upload failed! Please check your internet connection!", "conf_logging_uplfailed" : "Upload failed! Please check your internet connection!",
"conf_logging_report" : "Report", "conf_logging_report" : "Report",
"conf_logging_lastreports" : "Previous reports", "conf_logging_lastreports" : "Previous reports",
"conf_logging_uplpolicy" : "By clicking this button you accept the", "conf_logging_uplpolicy" : "By clicking this button you accept the",
"conf_logging_contpolicy" : "Report Privacy Policy", "conf_logging_contpolicy" : "Report Privacy Policy",
"conf_webconfig_label_intro" : "Web configuration 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" : "Colours/Effects", "remote_color_label" : "Colors/Effects",
"remote_color_intro" : "Set an effect or colour. Youll also see that your own effects are listed (if available). $1", "remote_color_intro" : "Set an effect or color. Also your self created effects are listed (if available). $1",
"remote_color_button_reset" : "Reset Colour/Effect", "remote_color_button_reset" : "Reset Color/Effect",
"remote_color_label_color" : "Colour:", "remote_color_label_color" : "Color:",
"remote_effects_label_effects" : "Effect:", "remote_effects_label_effects" : "Effect:",
"remote_effects_label_picture" : "Picture:", "remote_effects_label_picture" : "Picture:",
"remote_adjustment_label" : "Colour adjustment", "remote_adjustment_label" : "Color adjustment",
"remote_adjustment_intro" : "Modify colour/brightness/compensation during runtime. $1", "remote_adjustment_intro" : "Modifiy color/brightness/compensation during runtime. $1",
"remote_videoMode_label" : "Video mode", "remote_videoMode_label" : "Video mode",
"remote_videoMode_intro" : "Switch between different video modes to enjoy 3D movies! All capture devices are supported. $1", "remote_videoMode_intro" : "Switch between different video modes to enjoy 3D movies! Supported are all capture devices. $1",
"remote_videoMode_3DSBS" : "3DSBS", "remote_videoMode_3DSBS" : "3DSBS",
"remote_videoMode_3DTAB" : "3DTAB", "remote_videoMode_3DTAB" : "3DTAB",
"remote_videoMode_2D" : "2D", "remote_videoMode_2D" : "2D",
"remote_input_label" : "Source Selection", "remote_input_label" : "Source Selection",
"remote_input_intro" : "Hyperion uses a priority system to select a source. Everything you set has a priority (Effect/Colour/Platform capture/USB capture and network sources). By default, Hyperion will select a source based on its priority (lowest number reflects the current active source). Now you have the opportunity to select sources on your own. $1", "remote_input_intro" : "Hyperion uses a priority system to select a source. Everything you set has a priority (Effect/Color/Platform capture/USB capture and network sources). By default, Hyperion select sources depending on priority (lowest number reflects the current active source). Now you have the opportunity to select sources on your own. $1",
"remote_input_label_autoselect" : "Auto Selection", "remote_input_label_autoselect" : "Auto Selection",
"remote_input_setsource_btn" : "Select a Source", "remote_input_setsource_btn" : "Select Source",
"remote_input_sourceactiv_btn" : "Source Active", "remote_input_sourceactiv_btn" : "Source active",
"remote_input_origin" : "Origin", "remote_input_origin" : "Origin",
"remote_input_owner" : "Type", "remote_input_owner" : "Type",
"remote_input_priority" : "Priority", "remote_input_priority" : "Priority",
"remote_input_status" : "Status/Action", "remote_input_status" : "Status/Action",
"remote_input_duration" : "Duration:", "remote_input_duration" : "Duration:",
"remote_input_ip" : "IP:", "remote_input_ip" : "IP:",
"remote_input_clearall" : "Clear all Effects/Colours", "remote_input_clearall" : "Clear all Effects/Colors",
"remote_components_label" : "Components control", "remote_components_label" : "Components control",
"remote_components_intro" : "Enable and disable components of Hyperion during runtime. $1", "remote_components_intro" : "Enable and disable components of Hyperion during runtime. $1",
"remote_optgroup_usreffets" : "User Effects", "remote_optgroup_usreffets" : "User Effects",
"remote_optgroup_syseffets" : "Provided Effects", "remote_optgroup_syseffets" : "Provided Effects",
"remote_maptype_label" : "Mapping type", "remote_maptype_label" : "Mapping type",
"remote_maptype_intro" : "Usually the led layout is responsible for setting the picture area the leds display, you could change it here. $1.", "remote_maptype_intro" : "Usually the led layout is responsible which led has a specific picture area, you could change it here. $1.",
"remote_maptype_label_multicolor_mean" : "Multicolor", "remote_maptype_label_multicolor_mean" : "Multicolor",
"remote_maptype_label_unicolor_mean" : "Unicolor", "remote_maptype_label_unicolor_mean" : "Unicolor",
"effectsconfigurator_label_intro" : "Create new custom effects (based on the built in ones) which you can tune to your liking. There are different options available such as colour, speed and direction depending on the base effect you choose.", "effectsconfigurator_label_intro" : "Create out of the base effects new effects that are tuned to your liking. Depending on Effect there are options like color, speed, direction and more available.",
"effectsconfigurator_label_chooseeff" : "Choose Template", "effectsconfigurator_label_chooseeff" : "Choose Template",
"effectsconfigurator_editdeleff" : "Delete/Load Effect", "effectsconfigurator_editdeleff" : "Delete/Load Effect",
"effectsconfigurator_button_saveeffect" : "Save Effect", "effectsconfigurator_button_saveeffect" : "Save Effect",
@ -265,14 +265,14 @@
"support_label_title" : "Support Hyperion", "support_label_title" : "Support Hyperion",
"support_label_intro" : "Hyperion is a free non-profit software. A small team is working on it and this is why we need your steady support.", "support_label_intro" : "Hyperion is a free non-profit software. A small team is working on it and this is why we need your steady support.",
"support_label_spreadtheword" : "Spread the word", "support_label_spreadtheword" : "Spread the word",
"support_label_fbtext" : "Share our Hyperion Facebook page and get a notification when new updates are released", "support_label_fbtext" : "Share our Hyperion Facebook page and get a notice when new updates are released",
"support_label_twtext" : "Share and follow on Twitter, always be up to date with latest post about the Hyperion development", "support_label_twtext" : "Share and follow on Twitter, be always up to date with latest post about the Hyperion development",
"support_label_ggtext" : "Circle us on Google +!", "support_label_ggtext" : "Circle us on Google +!",
"support_label_yttext" : "Bored of pictures? Check out our Youtube channel!", "support_label_yttext" : "Bored from pictures? Check out our Youtube channel!",
"support_label_igtext" : "Visit us on Instagram to watch see latest Hyperion pictures!", "support_label_igtext" : "Visit us on Instagram to watch the latest Hyperion pictures!",
"support_label_donate" : "Donate or use our affiliate links", "support_label_donate" : "Donate or use our affiliate links",
"support_label_affinstr1" : "Click on the appropriate link of your country", "support_label_affinstr1" : "Click on the appropriate link of your country",
"support_label_affinstr2" : "Everything you buy (doesn't matter what) awards us small fee based on your purchase total", "support_label_affinstr2" : "Everything you buy (doesn't matter what) we get a small fee based on your turnover",
"support_label_affinstr3" : "You ALWAYS pay the same price, there is absolutely no difference. Try it out!", "support_label_affinstr3" : "You ALWAYS pay the same price, there is absolutely no difference. Try it out!",
"support_label_btctext" : "Address:", "support_label_btctext" : "Address:",
"support_label_donationpp" : "Donation:", "support_label_donationpp" : "Donation:",
@ -304,15 +304,15 @@
"info_conlost_label_title" : "Lost connection to Hyperion service!", "info_conlost_label_title" : "Lost connection to Hyperion service!",
"info_conlost_label_reason" : "Possible reasons:", "info_conlost_label_reason" : "Possible reasons:",
"info_conlost_label_reason1" : "- Bad WLAN connection", "info_conlost_label_reason1" : "- Bad WLAN connection",
"info_conlost_label_reason2" : "- You performed an update", "info_conlost_label_reason2" : "- You perform an update",
"info_conlost_label_reason3" : "- Hyperion isn't running", "info_conlost_label_reason3" : "- Hyperion isn't running",
"info_conlost_label_autorecon" : "Well reconnect after Hyperion is available.", "info_conlost_label_autorecon" : "We reconnect again after Hyperion is available.",
"info_conlost_label_autorefresh" : "This page will be automatically refreshed.", "info_conlost_label_autorefresh" : "This page will be automatically refreshed.",
"info_conlost_label_reload" : "Auto reconnect stopped - limit exceeded, please refresh page or click me.", "info_conlost_label_reload" : "Auto reconnect stopped - limit exceeded, please refresh page or click me.",
"info_restart_title" : "Restarting...", "info_restart_title" : "Restarts currently...",
"info_restart_rightback" : "Hyperion will be back shortly!", "info_restart_rightback" : "Hyperion will be right back immediately!",
"info_restart_contus" : "If your here for more than 20 seconds and you have no clue why, please open a new topic in our support forum...", "info_restart_contus" : "If you still hang around here after 20 seconds and you have no clue why please open a new topic at our support forum...",
"info_restart_contusa" : "...detailing the last steps to took. Thank you!", "info_restart_contusa" : "...with your last steps. Thank you!",
"info_404" : "The page you requested is not available!", "info_404" : "The page you requested is not available!",
"infoDialog_general_success_title" : "Success", "infoDialog_general_success_title" : "Success",
"infoDialog_general_error_title" : "Error", "infoDialog_general_error_title" : "Error",
@ -321,32 +321,32 @@
"infoDialog_effconf_deleted_text" : "The effect \"$1\" has been deleted successfully!", "infoDialog_effconf_deleted_text" : "The effect \"$1\" has been deleted successfully!",
"infoDialog_effconf_created_text" : "The effect \"$1\" has been created successfully!", "infoDialog_effconf_created_text" : "The effect \"$1\" has been created successfully!",
"InfoDialog_lang_title" : "Language setting", "InfoDialog_lang_title" : "Language setting",
"InfoDialog_lang_text" : "If you don't like the result of the automatic language detection you can overwrite it here.", "InfoDialog_lang_text" : "If you don't like the result of the automatic language detection you could overwrite it here.",
"InfoDialog_access_title" : "Settings level", "InfoDialog_access_title" : "Settings level",
"InfoDialog_changePassword_title" : "Change Password", "InfoDialog_changePassword_title" : "Change Password",
"InfoDialog_changePassword_success" : "Password successfully saved!", "InfoDialog_changePassword_success" : "Password successfully saved!",
"InfoDialog_access_text" : "Depending on the settings level you will be able to adjust more options or get access to more features. Recommended is the \"Default\" level.", "InfoDialog_access_text" : "Depending on settings level you could adjust more options or get access to more features. Recommended is the \"Default\" level.",
"InfoDialog_nowrite_title" : "write permission error!", "InfoDialog_nowrite_title" : "write permission error!",
"InfoDialog_nowrite_text" : "Hyperion can't write to your current loaded configuration file. Please repair the file permissions to proceed.", "InfoDialog_nowrite_text" : "Hyperion can't write to your current loaded configuration file. Please repair the file permissions to proceed.",
"InfoDialog_nowrite_foottext" : "The WebUI will be unlocked automatically after you solved the problem!", "InfoDialog_nowrite_foottext" : "The WebUI will be unlocked automatically after you solved the problem!",
"infoDialog_wizrgb_text" : "Your RGB Byte Order is already correctly set.", "infoDialog_wizrgb_text" : "Your RGB Byte Order is already well adjusted.",
"infoDialog_writeimage_error_text": "The selected file \"$1\" is not an image file or it's corrupted! Please select another image file.", "infoDialog_writeimage_error_text": "The selected file \"$1\" is no image file or it's corrupted! Please select another image file.",
"infoDialog_writeconf_error_text" : "Saving your configuration has failed.", "infoDialog_writeconf_error_text" : "Saving your configuration failed.",
"infoDialog_import_jsonerror_text" : "The selected configuration file \"$1\" is not a .json file or it's corrupted. Error message: ($2)", "infoDialog_import_jsonerror_text" : "The selected configuration file \"$1\" is no .json file or it's corrupted. Error message: ($2)",
"infoDialog_import_hyperror_text" : "The selected configuration file \"$1\" can't be imported. It's not compatible with Hyperion 2.0 and higher!", "infoDialog_import_hyperror_text" : "The selected configuration file \"$1\" can't be imported. It's not compatible with Hyperion 2.0 and higher!",
"infoDialog_import_comperror_text" : "Sad! Your browser doesn't support importing. Please try again with another browser.", "infoDialog_import_comperror_text" : "Sad! Your browser doesn't support a import. Please try again with another browser.",
"infoDialog_import_confirm_title" : "Confirm import", "infoDialog_import_confirm_title" : "Confirm import",
"infoDialog_import_confirm_text" : "Are you sure want to import \"$1\"? This process can't be reverted!", "infoDialog_import_confirm_text" : "Are you sure to import \"$1\"? This process can't be reverted!",
"InfoDialog_iswitch_title" : "Hyperion switcher", "InfoDialog_iswitch_title" : "Hyperion switcher",
"InfoDialog_iswitch_text" : "If you run more than one Hyperion Instance on your local network, you can switch between the web configurations. Select the Hyperion instance the want to control below and switch!", "InfoDialog_iswitch_text" : "If you run Hyperion more than once in your local network, you could switch between the web configurations. Select the Hyperion instance below and switch!",
"wiz_wizavail" : "Wizard available", "wiz_wizavail" : "Wizard available",
"wiz_guideyou" : "The $1 will guide you through the settings. Just press the button!", "wiz_guideyou" : "The $1 will guide you through the settings. Just press the button!",
"wiz_rgb_title" : "RGB Byte Order Wizard", "wiz_rgb_title" : "RGB Byte Order Wizard",
"wiz_rgb_intro1" : "This wizard will guide you through the process of finding the correct coluor order for your leds. Click on continue to begin.", "wiz_rgb_intro1" : "This wizard will guide you through the finding process of the correct color order for your leds. Click on continue to begin.",
"wiz_rgb_intro2" : "When do you need this wizard? Example: You set the colour red, but you get green or blue. You can also use it for first time configuration.", "wiz_rgb_intro2" : "When do you need this wizard? Example: You set the color red, but you get green or blue. You could also use it for first configuration.",
"wiz_rgb_expl" : "The coloured dot will change colour (red, green) every x seconds, at the same time your leds switch to that colour. Answer the questions at the bottom to check/correct your byte order.", "wiz_rgb_expl" : "The color dot switches every x seconds the color (red, green), at the same time your leds switch the color too. Answer the questions at the bottom to check/correct your byte order.",
"wiz_rgb_switchevery" : "Switch colour every...", "wiz_rgb_switchevery" : "Switch color every...",
"wiz_rgb_q" : "Which colour does your setup show, when the coloured dot above shows...", "wiz_rgb_q" : "Which color show your leds, when the color dot above shows...",
"wiz_rgb_qrend" : "...red?", "wiz_rgb_qrend" : "...red?",
"wiz_rgb_qgend" : "...green?", "wiz_rgb_qgend" : "...green?",
"wiz_hue_title" : "Philips Hue Wizard", "wiz_hue_title" : "Philips Hue Wizard",
@ -367,8 +367,8 @@
"wiz_hue_searchb": "Searching for bridge...", "wiz_hue_searchb": "Searching for bridge...",
"wiz_hue_blinkblue": "Let ID $1 light up blue", "wiz_hue_blinkblue": "Let ID $1 light up blue",
"wiz_hue_ident" : "Identify", "wiz_hue_ident" : "Identify",
"wiz_cc_title" : "Colour calibration wizard", "wiz_cc_title" : "Color calibration wizard",
"wiz_cc_intro1" : "This wizard will guide you through your led calibration. If you are using Kodi, the calibration pictures and videos can be sent directly to it without further actions on your side. If not, you will need to download these files yourself and display them when the wizard needs you to adjust the setting.", "wiz_cc_intro1" : "This wizard will guide you through your led calibration. If you are using Kodi, the calibration pictures and videos can be send directly to kodi without further tasks on your side. If not, you need to download these files yourself and apply them, if the wizard wants it.",
"wiz_cc_kwebs" : "Kodi webserver (IP:Port)", "wiz_cc_kwebs" : "Kodi webserver (IP:Port)",
"wiz_cc_kodidiscon" : "Kodi webserver not found, proceed without Kodi support.", "wiz_cc_kodidiscon" : "Kodi webserver not found, proceed without Kodi support.",
"wiz_cc_kodidisconlink" : "Download link pictures:", "wiz_cc_kodidisconlink" : "Download link pictures:",
@ -377,20 +377,20 @@
"wiz_cc_kodishould" : "Kodi should show the following picture: $1", "wiz_cc_kodishould" : "Kodi should show 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 you are happy with it. Take notice: The more you adjust away from the default value will reduce the available colour spectrum (This also effects the colours in between). Depending on your TV/LED colour spectrum, your results may vary.", "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: What you have to do is, adjust gamma levels of each channel until you have the same perceived amount for each channel. Hint: Neutral is 1.0! For example, if your Grey is a bit reddish it means that you have to increase red gamma to reduce the amount of red (the more gamma, the less amount of color).", "wiz_cc_adjustgamma" : "Gamma: What you have to do is, adjust gamma levels of each channel until you have the same perceived amount of each channel. Hint: Neutral is 1.0! For example, if your Grey is a bit reddish it means that you have to increase red gamma to reduce the amount of red (the more gamma, the less amount of color).",
"wiz_cc_chooseid" : "Define a name for this colour profile.", "wiz_cc_chooseid" : "Define a name for this color profile.",
"wiz_cc_btn_switchpic" : "Switch picture", "wiz_cc_btn_switchpic" : "Switch picture",
"wiz_cc_backlight" : "Additionally you could define a backlight to sort out \"bad colors\" in nearly dark areas or if you don't like to switch between colour and off during watching. You also have the option to define a specific colour to use as a backlight. 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" : "Click the button below to start a test video.", "wiz_cc_testintrok" : "Push on a button below to start a test video.",
"wiz_cc_testintrowok" : "Check out the following link to download test videos:", "wiz_cc_testintrowok" : "Check out the following link to download test videos:",
"wiz_cc_link" : "Click me!", "wiz_cc_link" : "Click me!",
"wiz_cc_morethanone" : "You have more than one profile, please choose the profile you want to calibrate.", "wiz_cc_morethanone" : "You have more than one profile, please choose the profile you want to calibrate.",
"wiz_cc_btn_stop" : "Stop video", "wiz_cc_btn_stop" : "Stop video",
"wiz_cc_summary" : "A culmination of your settings. During video playback, you can adjust these values to see their effects. When you are happy, click on save.", "wiz_cc_summary" : "A conclusion of your settings. During video playback, you could change or test values again. If you are done, click on save.",
"edt_dev_auth_key_title" : "Authentication Token", "edt_dev_auth_key_title" : "Authentication Token",
"edt_dev_enum_subtract_minimum" : "Subtract minimum", "edt_dev_enum_subtract_minimum" : "Substract minimum",
"edt_dev_enum_sub_min_cool_adjust" : "Subtract cool white", "edt_dev_enum_sub_min_cool_adjust" : "Subtract cool white",
"edt_dev_enum_sub_min_warm_adjust" : "Subtract warm white", "edt_dev_enum_sub_min_warm_adjust" : "Subtract warm white",
"edt_dev_enum_white_off" : "White off", "edt_dev_enum_white_off" : "White off",
@ -412,9 +412,9 @@
"edt_dev_spec_targetIpHost_title" : "Target IP/hostname", "edt_dev_spec_targetIpHost_title" : "Target IP/hostname",
"edt_dev_spec_outputPath_title" : "Output path", "edt_dev_spec_outputPath_title" : "Output path",
"edt_dev_spec_delayAfterConnect_title" : "Delay after connect", "edt_dev_spec_delayAfterConnect_title" : "Delay after connect",
"edt_dev_spec_FCsetConfig_title" : "Set fade candy configuration", "edt_dev_spec_FCsetConfig_title" : "Set fadecandy configuration",
"edt_dev_spec_FCmanualControl_title" : "Manual control of fade candy LED", "edt_dev_spec_FCmanualControl_title" : "Manual control of fadecandy LED",
"edt_dev_spec_FCledToOn_title" : "Fade candy LED set to on", "edt_dev_spec_FCledToOn_title" : "Fadecandy LED set to on",
"edt_dev_spec_interpolation_title" : "Interpolation", "edt_dev_spec_interpolation_title" : "Interpolation",
"edt_dev_spec_dithering_title" : "Dithering", "edt_dev_spec_dithering_title" : "Dithering",
"edt_dev_spec_gamma_title" : "Gamma", "edt_dev_spec_gamma_title" : "Gamma",
@ -422,13 +422,13 @@
"edt_dev_spec_username_title" : "Username", "edt_dev_spec_username_title" : "Username",
"edt_dev_spec_lightid_title" : "Light ID(s)", "edt_dev_spec_lightid_title" : "Light ID(s)",
"edt_dev_spec_lightid_itemtitle" : "ID", "edt_dev_spec_lightid_itemtitle" : "ID",
"edt_dev_spec_transistionTime_title" : "Transition time", "edt_dev_spec_transistionTime_title" : "Transistion time",
"edt_dev_spec_switchOffOnBlack_title" : "Switch off on black", "edt_dev_spec_switchOffOnBlack_title" : "Switch off on black",
"edt_dev_spec_brightnessFactor_title" : "Brightness factor", "edt_dev_spec_brightnessFactor_title" : "Brightness factor",
"edt_dev_spec_restoreOriginalState_title" : "Restore lights' original state", "edt_dev_spec_restoreOriginalState_title" : "Restore lights' original state",
"edt_dev_spec_ledType_title" : "LED Type", "edt_dev_spec_ledType_title" : "LED Type",
"edt_dev_spec_uid_title" : "UID", "edt_dev_spec_uid_title" : "UID",
"edt_dev_spec_intervall_title" : "Interval", "edt_dev_spec_intervall_title" : "Intervall",
"edt_dev_spec_latchtime_title" : "Latch time", "edt_dev_spec_latchtime_title" : "Latch time",
"edt_dev_spec_maxPacket_title" : "Max packet", "edt_dev_spec_maxPacket_title" : "Max packet",
"edt_dev_spec_serial_title" : "Serial number", "edt_dev_spec_serial_title" : "Serial number",
@ -447,15 +447,14 @@
"edt_dev_spec_PBFiFo_title" : "Pi-Blaster FiFo", "edt_dev_spec_PBFiFo_title" : "Pi-Blaster FiFo",
"edt_dev_spec_gpioBcm_title" : "GPIO Pin", "edt_dev_spec_gpioBcm_title" : "GPIO Pin",
"edt_dev_spec_ledIndex_title" : "LED index", "edt_dev_spec_ledIndex_title" : "LED index",
"edt_dev_spec_colorComponent_title" : "Colour component", "edt_dev_spec_colorComponent_title" : "Color component",
"edt_dev_spec_printTimeStamp_title" : "Add timestamp",
"edt_conf_general_enable_title" : "Activate", "edt_conf_general_enable_title" : "Activate",
"edt_conf_general_enable_expl" : "If checked, the component is enabled.", "edt_conf_general_enable_expl" : "If checked, the component is enabled.",
"edt_conf_general_priority_title" : "Priority channel", "edt_conf_general_priority_title" : "Priority channel",
"edt_conf_general_priority_expl" : "The priority of this component", "edt_conf_general_priority_expl" : "The priority of this component",
"edt_conf_general_port_title" : "Port", "edt_conf_general_port_title" : "Port",
"edt_conf_general_port_expl" : "The port that is used.", "edt_conf_general_port_expl" : "The port that is used.",
"edt_conf_enum_color" : "Colour", "edt_conf_enum_color" : "Color",
"edt_conf_enum_effect" : "Effect", "edt_conf_enum_effect" : "Effect",
"edt_conf_enum_multicolor_mean" : "Multicolor", "edt_conf_enum_multicolor_mean" : "Multicolor",
"edt_conf_enum_unicolor_mean" : "Unicolor", "edt_conf_enum_unicolor_mean" : "Unicolor",
@ -481,15 +480,15 @@
"edt_conf_enum_custom": "Custom", "edt_conf_enum_custom": "Custom",
"edt_conf_gen_heading_title" : "General Settings", "edt_conf_gen_heading_title" : "General Settings",
"edt_conf_gen_name_title" : "Configuration name", "edt_conf_gen_name_title" : "Configuration name",
"edt_conf_gen_name_expl" : "A user defined name which is used to identify Hyperion. (Helpful if you have more than one Hyperion instance)", "edt_conf_gen_name_expl" : "A user defined name which is used to detect Hyperion. (Helpful with more than one Hyperion instance)",
"edt_conf_gen_showOptHelp_title" : "Show explanations", "edt_conf_gen_showOptHelp_title" : "Show explanations",
"edt_conf_gen_showOptHelp_expl" : "Show all available explanations in each section. Highly recommended for beginners!", "edt_conf_gen_showOptHelp_expl" : "Show all available explanations in each section. Highly recommended for beginners!",
"edt_conf_gen_watchedVersionBranch_title" : "Watched version branch", "edt_conf_gen_watchedVersionBranch_title" : "Watched version branch",
"edt_conf_gen_watchedVersionBranch_expl" : "Selects which branch should be used when searching for new Hyperion versions.", "edt_conf_gen_watchedVersionBranch_expl" : "Selects which version branch should be used for searching new Hyperion versions.",
"edt_conf_color_heading_title" : "Colour Calibration", "edt_conf_color_heading_title" : "Color Calibration",
"edt_conf_color_channelAdjustment_header_itemtitle" : "Profile", "edt_conf_color_channelAdjustment_header_itemtitle" : "Profile",
"edt_conf_color_channelAdjustment_header_title" : "Colour channel adjustments", "edt_conf_color_channelAdjustment_header_title" : "Color channel adjustments",
"edt_conf_color_channelAdjustment_header_expl": "Create colour profiles that could be assigned to a specific component. Adjust color, gamma, brightness, compensation and more.", "edt_conf_color_channelAdjustment_header_expl": "Create color profiles that could be assigned to a specific component. Adjust color, gamma, brightness, compensation and more.",
"edt_conf_color_imageToLedMappingType_title" : "Led area assignment", "edt_conf_color_imageToLedMappingType_title" : "Led area assignment",
"edt_conf_color_imageToLedMappingType_expl" : "Overwrites the led area assignment of your led layout if it's not \"multicolor\"", "edt_conf_color_imageToLedMappingType_expl" : "Overwrites the led area assignment of your led layout if it's not \"multicolor\"",
"edt_conf_color_id_title" : "ID", "edt_conf_color_id_title" : "ID",
@ -513,19 +512,19 @@
"edt_conf_color_yellow_title" : "Yellow", "edt_conf_color_yellow_title" : "Yellow",
"edt_conf_color_yellow_expl" : "The calibrated yellow value.", "edt_conf_color_yellow_expl" : "The calibrated yellow value.",
"edt_conf_color_gammaRed_title" : "Gamma red", "edt_conf_color_gammaRed_title" : "Gamma red",
"edt_conf_color_gammaRed_expl" : "The gamma of red. 1.0 is neutral. Over 1.0 reduces red, lower than 1.0 adds red.", "edt_conf_color_gammaRed_expl" : "The gamma of red. 1.0 is neutral. Over 1.0 it reduces red, lower than 1.0 it adds red.",
"edt_conf_color_gammaGreen_title" : "Gamma green", "edt_conf_color_gammaGreen_title" : "Gamma green",
"edt_conf_color_gammaGreen_expl" : "The gamma of green. 1.0 is neutral. Over 1.0 reduces green, lower than 1.0 adds green.", "edt_conf_color_gammaGreen_expl" : "The gamma of green. 1.0 is neutral. Over 1.0 it reduces green, lower than 1.0 it adds green.",
"edt_conf_color_gammaBlue_title" : "Gamma blue", "edt_conf_color_gammaBlue_title" : "Gamma blue",
"edt_conf_color_gammaBlue_expl" : "The gamma of blue. 1.0 is neutral. Over 1.0 reduces blue, lower than 1.0 adds blue.", "edt_conf_color_gammaBlue_expl" : "The gamma of blue. 1.0 is neutral. Over 1.0 it reduces blue, lower than 1.0 it adds 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, colours and in status \"Off\"", "edt_conf_color_backlightThreshold_expl" : "The minimum amount of brightness (backlight). Disabled during effects, colors and in status \"Off\"",
"edt_conf_color_backlightColored_title" : "Coloured backlight", "edt_conf_color_backlightColored_title" : "Colored backlight",
"edt_conf_color_backlightColored_expl" : "Add some colour to your backlight.", "edt_conf_color_backlightColored_expl" : "Add some color to your backlight.",
"edt_conf_color_brightness_title" : "Brightness", "edt_conf_color_brightness_title" : "Brightness",
"edt_conf_color_brightness_expl" : "set overall brightness of leds", "edt_conf_color_brightness_expl" : "set overall brightness of leds",
"edt_conf_color_brightnessComp_title" : "Brightness compensation", "edt_conf_color_brightnessComp_title" : "Brightness compensation",
"edt_conf_color_brightnessComp_expl" : "Compensates for brightness differences between red, green, blue, cyan, magenta, yellow and white. 100 means full compensation, 0 means no compensation", "edt_conf_color_brightnessComp_expl" : "Compensates bightness differences between red green blue, cyan magenta yellow and white. 100 means full compensation, 0 no compensation",
"edt_conf_smooth_heading_title" : "Smoothing", "edt_conf_smooth_heading_title" : "Smoothing",
"edt_conf_smooth_type_title" : "Type", "edt_conf_smooth_type_title" : "Type",
"edt_conf_smooth_type_expl" : "Type of smoothing.", "edt_conf_smooth_type_expl" : "Type of smoothing.",
@ -534,9 +533,9 @@
"edt_conf_smooth_updateFrequency_title" : "Update frequency", "edt_conf_smooth_updateFrequency_title" : "Update frequency",
"edt_conf_smooth_updateFrequency_expl" : "The output speed to your led controller.", "edt_conf_smooth_updateFrequency_expl" : "The output speed to your led controller.",
"edt_conf_smooth_updateDelay_title" : "Update delay", "edt_conf_smooth_updateDelay_title" : "Update delay",
"edt_conf_smooth_updateDelay_expl" : "Delay the output in case your ambient lights are faster than your TV.", "edt_conf_smooth_updateDelay_expl" : "Delay the output in case your ambient light is faster than your TV.",
"edt_conf_smooth_continuousOutput_title" : "Continuous output", "edt_conf_smooth_continuousOutput_title" : "Continuous output",
"edt_conf_smooth_continuousOutput_expl" : "Update the leds even if there is no change in the picture.", "edt_conf_smooth_continuousOutput_expl" : "Update the leds even there is no changed picture.",
"edt_conf_v4l2_heading_title" : "USB Capture", "edt_conf_v4l2_heading_title" : "USB Capture",
"edt_conf_v4l2_device_title" : "Device", "edt_conf_v4l2_device_title" : "Device",
"edt_conf_v4l2_device_expl" : "The path to the USB capture interface. Set to 'Automatic' for automatic detection. Example: '/dev/video0'", "edt_conf_v4l2_device_expl" : "The path to the USB capture interface. Set to 'Automatic' for automatic detection. Example: '/dev/video0'",
@ -557,7 +556,7 @@
"edt_conf_v4l2_cropBottom_title" : "Crop bottom", "edt_conf_v4l2_cropBottom_title" : "Crop bottom",
"edt_conf_v4l2_cropBottom_expl" : "Count of pixels on the bottom side that are removed from the picture.", "edt_conf_v4l2_cropBottom_expl" : "Count of pixels on the bottom side that are removed from the picture.",
"edt_conf_v4l2_signalDetection_title" : "Signal detection", "edt_conf_v4l2_signalDetection_title" : "Signal detection",
"edt_conf_v4l2_signalDetection_expl" : "If enabled, USB capture will be temporarily disabled when no signal is found. This will happen when the picture falls below the threshold value for a period of 4 seconds.", "edt_conf_v4l2_signalDetection_expl" : "If enabled, usb capture will be temporarily disabled when no signal was found. This will happen when the picture fall below the threshold value for a period of 4 seconds.",
"edt_conf_v4l2_redSignalThreshold_title" : "Red signal threshold", "edt_conf_v4l2_redSignalThreshold_title" : "Red signal threshold",
"edt_conf_v4l2_redSignalThreshold_expl" : "Darkens low red values (recognized as black)", "edt_conf_v4l2_redSignalThreshold_expl" : "Darkens low red values (recognized as black)",
"edt_conf_v4l2_greenSignalThreshold_title" : "Green signal threshold", "edt_conf_v4l2_greenSignalThreshold_title" : "Green signal threshold",
@ -581,39 +580,39 @@
"edt_conf_fg_type_title" : "Type", "edt_conf_fg_type_title" : "Type",
"edt_conf_fg_type_expl" : "Type of platform capture, default is 'auto'", "edt_conf_fg_type_expl" : "Type of platform capture, default is 'auto'",
"edt_conf_fg_frequency_Hz_title" : "Capture frequency", "edt_conf_fg_frequency_Hz_title" : "Capture frequency",
"edt_conf_fg_frequency_Hz_expl" : "How often new pictures are captured", "edt_conf_fg_frequency_Hz_expl" : "How fast new pictures are captured",
"edt_conf_fg_width_title" : "Width", "edt_conf_fg_width_title" : "Width",
"edt_conf_fg_width_expl" : "Shrink picture to this width, as a raw picture feed will need a lot of CPU time.", "edt_conf_fg_width_expl" : "Shrink picture to this width, as raw picture needs a lot of cpu time.",
"edt_conf_fg_height_title" : "Height", "edt_conf_fg_height_title" : "Height",
"edt_conf_fg_height_expl" : "Shrink picture to this height, as a raw picture feed will needs a lot of CPU time.", "edt_conf_fg_height_expl" : "Shrink picture to this height, as raw picture needs a lot of cpu time.",
"edt_conf_fg_pixelDecimation_title" : "Picture decimation", "edt_conf_fg_pixelDecimation_title" : "Picture decimation",
"edt_conf_fg_pixelDecimation_expl" : "The factor of size decimation. 1 means no decimation (keep original size)", "edt_conf_fg_pixelDecimation_expl" : "Reduce picture size (factor) based on original size. A factor of 1 means no change",
"edt_conf_fg_device_title" : "Device", "edt_conf_fg_device_title" : "Device",
"edt_conf_fg_display_title" : "Display", "edt_conf_fg_display_title" : "Display",
"edt_conf_fg_display_expl" : "Select which desktop should be captured (multi monitor setup)", "edt_conf_fg_display_expl" : "Select which desktop should be captured (multi monitor setup)",
"edt_conf_bb_heading_title" : "Blackbar detector", "edt_conf_bb_heading_title" : "Blackbar detector",
"edt_conf_bb_threshold_title" : "Threshold", "edt_conf_bb_threshold_title" : "Threshold",
"edt_conf_bb_threshold_expl" : "If the detection doesn't work, Increase the threshold to adjust for 'greyish' blacks", "edt_conf_bb_threshold_expl" : "If the detection doesn't work, higher the threshold to adjust on 'greyish' black",
"edt_conf_bb_unknownFrameCnt_title" : "Unknown frames", "edt_conf_bb_unknownFrameCnt_title" : "Unknown frames",
"edt_conf_bb_unknownFrameCnt_expl" : "Number of frames without detection before the border is set to 0.", "edt_conf_bb_unknownFrameCnt_expl" : "Number of frames without any detection before the border is set to 0.",
"edt_conf_bb_borderFrameCnt_title" : "Border frames", "edt_conf_bb_borderFrameCnt_title" : "Border frames",
"edt_conf_bb_borderFrameCnt_expl" : "Number of frames before a consistent detected border isset.", "edt_conf_bb_borderFrameCnt_expl" : "Number of frames before a consistent detected border gets set.",
"edt_conf_bb_maxInconsistentCnt_title" : "Inconsistent frames", "edt_conf_bb_maxInconsistentCnt_title" : "Inconsistent frames",
"edt_conf_bb_maxInconsistentCnt_expl" : "Number of inconsistent frames that are ignored before a new border gets a chance to proof consistency.", "edt_conf_bb_maxInconsistentCnt_expl" : "Number of inconsistent frames that are ignored before a new border gets a chance to proof consistency.",
"edt_conf_bb_blurRemoveCnt_title" : "Blur pixel", "edt_conf_bb_blurRemoveCnt_title" : "Blur pixel",
"edt_conf_bb_blurRemoveCnt_expl" : "Number of pixels that get removed from the detected border to cut away blur.", "edt_conf_bb_blurRemoveCnt_expl" : "Number of pixels that get removed from the detected border to cut away blur.",
"edt_conf_bb_mode_title" : "Mode", "edt_conf_bb_mode_title" : "Mode",
"edt_conf_bb_mode_expl" : "Algorithm for processing. (see Wiki)", "edt_conf_bb_mode_expl" : "Algorithm for processing. (see Wiki)",
"edt_conf_fge_heading_title" : "Boot Effect/Colour", "edt_conf_fge_heading_title" : "Boot Effect/Color",
"edt_conf_fge_type_title" : "Type", "edt_conf_fge_type_title" : "Type",
"edt_conf_fge_type_expl" : "Choose between a colour or effect.", "edt_conf_fge_type_expl" : "Choose between a color or effect.",
"edt_conf_fge_color_title" : "Colour", "edt_conf_fge_color_title" : "Color",
"edt_conf_fge_color_expl" : "If type is set to \"Colour\", Choose the colour to display.", "edt_conf_fge_color_expl" : "If type is \"Color\", set a color of your choice here.",
"edt_conf_fge_effect_title" : "Effect", "edt_conf_fge_effect_title" : "Effect",
"edt_conf_fge_effect_expl" : "If type is set to \"Effect\", select the effect to use (Your own effects are also available).", "edt_conf_fge_effect_expl" : "If type is \"Effect\", select a effect of your choice (Also self created effects).",
"edt_conf_fge_duration_ms_title" : "Duration", "edt_conf_fge_duration_ms_title" : "Duration",
"edt_conf_fge_duration_ms_expl" : "Duration of the Effect/Colour during Hyperion start-up.", "edt_conf_fge_duration_ms_expl" : "Duration of Effect/Color during Hyperion startup.",
"edt_conf_bge_heading_title" : "Background Effect/Colour", "edt_conf_bge_heading_title" : "Background Effect/Color",
"edt_conf_fw_heading_title" : "Forwarder", "edt_conf_fw_heading_title" : "Forwarder",
"edt_conf_fw_json_title" : "List of json clients", "edt_conf_fw_json_title" : "List of json clients",
"edt_conf_fw_json_expl" : "One json target per line. Contains IP:PORT (Example: 127.0.0.1:19446)", "edt_conf_fw_json_expl" : "One json target per line. Contains IP:PORT (Example: 127.0.0.1:19446)",
@ -625,50 +624,50 @@
"edt_conf_net_internetAccessAPI_title":"Internet API Access", "edt_conf_net_internetAccessAPI_title":"Internet API Access",
"edt_conf_net_internetAccessAPI_expl":"Allow access to the Hyperion API/Webinterface from the internet, disable for higher security.", "edt_conf_net_internetAccessAPI_expl":"Allow access to the Hyperion API/Webinterface from the internet, disable for higher security.",
"edt_conf_net_ipWhitelist_title":"Whitelisted IP's", "edt_conf_net_ipWhitelist_title":"Whitelisted IP's",
"edt_conf_net_ipWhitelist_expl":"You can whitelist specific IP addresses instead of allowing all connections from the internet to connect to the Hyperion API/Webinterface.", "edt_conf_net_ipWhitelist_expl":"You can whitelist IP addresses instead allowing all connections from internet to connect to the Hyperion API/Webinterface.",
"edt_conf_net_ip_itemtitle":"IP", "edt_conf_net_ip_itemtitle":"IP",
"edt_conf_net_apiAuth_title":"API Authentication", "edt_conf_net_apiAuth_title":"API Authentication",
"edt_conf_net_apiAuth_expl":"Enforce all applications that use the Hyperion API to authenticate themselves against Hyperion (Exception see \"Local API Authentication\"). Higher security, as you control the access and can revoke it at any time.", "edt_conf_net_apiAuth_expl":"Enforce all applications that use the Hyperion API to authenticate themself against Hyperion (Exception see \"Local API Authentication\"). Higher security, as you control the access and revoke it at any time.",
"edt_conf_net_localApiAuth_title" : "Local API Authentication", "edt_conf_net_localApiAuth_title" : "Local API Authentication",
"edt_conf_net_localApiAuth_expl" : "When enabled, connections from your home network needs to authenticate themselves by using a token.", "edt_conf_net_localApiAuth_expl" : "When enabled, connections from your home network needs to authenticate themself against Hyperion with a token.",
"edt_conf_net_localAdminAuth_title":"Local Admin API Authentication", "edt_conf_net_localAdminAuth_title":"Local Admin API Authentication",
"edt_conf_net_localAdminAuth_expl":"When enabled, administration access from your home network needs a password.", "edt_conf_net_localAdminAuth_expl":"When enabled, administration access from your home network needs a password.",
"edt_conf_net_restirctedInternetAccessAPI_title" : "Restrict to IP's", "edt_conf_net_restirctedInternetAccessAPI_title" : "Restrict to IP's",
"edt_conf_net_restirctedInternetAccessAPI_expl": "You can restrict access to the API through the internet to specific IP's.", "edt_conf_net_restirctedInternetAccessAPI_expl": "You can restrict the access to the API through the internet to certain IP's.",
"edt_conf_js_heading_title" : "JSON Server", "edt_conf_js_heading_title" : "JSON Server",
"edt_conf_fbs_heading_title" : "Flatbuffers Server", "edt_conf_fbs_heading_title" : "Flatbuffers Server",
"edt_conf_fbs_timeout_title" : "Timeout", "edt_conf_fbs_timeout_title" : "Timeout",
"edt_conf_fbs_timeout_expl" : "If no data is received in the given time period, the component will be (soft) disabled.", "edt_conf_fbs_timeout_expl" : "If no data are received for the given period, the component will be (soft) disabled.",
"edt_conf_pbs_heading_title" : "Protocol Buffers Server", "edt_conf_pbs_heading_title" : "Protocol Buffers Server",
"edt_conf_pbs_timeout_title" : "Timeout", "edt_conf_pbs_timeout_title" : "Timeout",
"edt_conf_pbs_timeout_expl" : "If no data is received in the given time period, the component will be (soft) disabled.", "edt_conf_pbs_timeout_expl" : "If no data are received for the given period, the component will be (soft) disabled.",
"edt_conf_bobls_heading_title" : "Boblight Server", "edt_conf_bobls_heading_title" : "Boblight Server",
"edt_conf_webc_heading_title" : "Web Configuration", "edt_conf_webc_heading_title" : "Web Configuration",
"edt_conf_webc_docroot_title" : "Document Root", "edt_conf_webc_docroot_title" : "Document Root",
"edt_conf_webc_docroot_expl" : "Local webinterfaces root path (just for webui development)", "edt_conf_webc_docroot_expl" : "Local webinterface root path (just for webui developer)",
"edt_conf_webc_sslport_title" : "HTTPS Port", "edt_conf_webc_sslport_title" : "HTTPS Port",
"edt_conf_webc_sslport_expl" : "Port of the HTTPS webserver", "edt_conf_webc_sslport_expl" : "Port oft the HTTPS webserver",
"edt_conf_webc_crtPath_title" : "Certificate path", "edt_conf_webc_crtPath_title" : "Certificate path",
"edt_conf_webc_crtPath_expl" : "Path to the certification file to use (format should be PEM)", "edt_conf_webc_crtPath_expl" : "Path to the certification file (format should be PEM)",
"edt_conf_webc_keyPath_title" : "Private key path", "edt_conf_webc_keyPath_title" : "Private key path",
"edt_conf_webc_keyPath_expl" : "Path to the key file for the above certificate (format PEM, encrypted with RSA)", "edt_conf_webc_keyPath_expl" : "Path to the key file (format PEM, encrypted with RSA)",
"edt_conf_webc_keyPassPhrase_title" : "Key password", "edt_conf_webc_keyPassPhrase_title" : "Key password",
"edt_conf_webc_keyPassPhrase_expl" : "Optional: The key might be protected with a password", "edt_conf_webc_keyPassPhrase_expl" : "Optional: The key might be protected with a password",
"edt_conf_effp_heading_title" : "Effect Paths", "edt_conf_effp_heading_title" : "Effect Paths",
"edt_conf_effp_paths_title" : "Effect Path(s)", "edt_conf_effp_paths_title" : "Effect Path(s)",
"edt_conf_effp_paths_expl" : "You can define folders that contain additional effects. The effect configurator will default to saving in the first folder .", "edt_conf_effp_paths_expl" : "You could define more folders that contain effects. The effect configurator will always save inside the first folder.",
"edt_conf_effp_paths_itemtitle" : "Path", "edt_conf_effp_paths_itemtitle" : "Path",
"edt_conf_effp_disable_title" : "Disabled Effects", "edt_conf_effp_disable_title" : "Disabled Effects",
"edt_conf_effp_disable_expl" : "Add the names of the effects you would like to disable/hide from all effect lists.", "edt_conf_effp_disable_expl" : "Add effect names here to disable/hide them from all effect lists.",
"edt_conf_effp_disable_itemtitle" : "Effect", "edt_conf_effp_disable_itemtitle" : "Effect",
"edt_conf_log_heading_title" : "Logging", "edt_conf_log_heading_title" : "Logging",
"edt_conf_log_level_title" : "Log-Level", "edt_conf_log_level_title" : "Log-Level",
"edt_conf_log_level_expl" : "You will see more or less information depending on the set logging level you have set.", "edt_conf_log_level_expl" : "Depending on loglevel you see less or more messages in your log.",
"edt_eff_smooth_custom" : "Enable smoothing", "edt_eff_smooth_custom" : "Enable smoothing",
"edt_eff_smooth_time_ms" : "Smoothing time", "edt_eff_smooth_time_ms" : "Smoothing time",
"edt_eff_smooth_updateFrequency" : "Smoothing update frequency", "edt_eff_smooth_updateFrequency" : "Smoothing update frequency",
"edt_eff_waves_header" : "Waves", "edt_eff_waves_header" : "Waves",
"edt_eff_waves_header_desc" : "Waves of colour! Choose your colours, rotation time, direction reverse and more.", "edt_eff_waves_header_desc" : "Waves of color! Choose your colors, rotation time, direction reverse and more.",
"edt_eff_gif_header" : "GIF's", "edt_eff_gif_header" : "GIF's",
"edt_eff_gif_header_desc" : "This effect plays .gif files, provide a simple video like loop as effect.", "edt_eff_gif_header_desc" : "This effect plays .gif files, provide a simple video like loop as effect.",
"edt_eff_candle_header" : "Candle", "edt_eff_candle_header" : "Candle",
@ -678,33 +677,33 @@
"edt_eff_police_header" : "Police", "edt_eff_police_header" : "Police",
"edt_eff_police_header_desc" : "Lights like a police car in action", "edt_eff_police_header_desc" : "Lights like a police car in action",
"edt_eff_fade_header" : "Fade", "edt_eff_fade_header" : "Fade",
"edt_eff_fade_header_desc" : "Fades between colours", "edt_eff_fade_header_desc" : "Fades between colors",
"edt_eff_rainbowmood_header" : "Rainbow Mood", "edt_eff_rainbowmood_header" : "Rainbow Mood",
"edt_eff_rainbowmood_header_desc" : "All leds rainbow mood", "edt_eff_rainbowmood_header_desc" : "All leds rainbow mood",
"edt_eff_knightrider_header" : "Knight Rider", "edt_eff_knightrider_header" : "Knight Rider",
"edt_eff_knightrider_header_desc" : "K.I.T.T is back! The front-scanner of the well-known car, this time not just in red.", "edt_eff_knightrider_header_desc" : "K.I.T.T is back! The front-scanner of the well known car, this time not just in red.",
"edt_eff_lightclock_header" : "Light Clock", "edt_eff_lightclock_header" : "Light Clock",
"edt_eff_lightclock_header_desc" : "A real clock as light! Adjust the colours of hours, minute, seconds. A optional 3/6/9/12 o'clock marker is also available. In case the clock is wrong, you need to check your system clock.", "edt_eff_lightclock_header_desc" : "A real clock as light! Adjsut the colors of hours, minute, seconds. A optional 3/6/9/12 o'clock marker is also available. In case the clock is wrong, you need to check your system clock.",
"edt_eff_pacman_header" : "Pac-Man", "edt_eff_pacman_header" : "Pac-Man",
"edt_eff_pacman_header_desc" : "Small hungry and yellow. Who will survive?", "edt_eff_pacman_header_desc" : "Small hungry and yellow. Who will survive?",
"edt_eff_moodblobs_header" : "Mood Blobs", "edt_eff_moodblobs_header" : "Mood Blobs",
"edt_eff_moodblobs_header_desc" : "Relax at the evening with slow moving and colour changing blobs.", "edt_eff_moodblobs_header_desc" : "Relax at the evening with slow moving and color changing blobs.",
"edt_eff_swirl_header" : "Colour Swirl", "edt_eff_swirl_header" : "Color Swirl",
"edt_eff_swirl_header_desc" : "A swirl of custom colours. Colours are evenly spread over 360°, with the colours inbetween the selected ones calculated automatically. You can also add a second swirl on top of the first, but be aware that you need partial transparency! Hint: A repeat of the same colour results in a \"larger\" colour area and a reduced colour shift area.", "edt_eff_swirl_header_desc" : "A swirl with custom colors. Colors are even spread to 360°, in between colors shifts will be calcualted. Additional you can add a second swirl on top, be aware that you need partly transparency! Hint: A reapeat of the same color results in a \"hugher\" color area and a reduced color shift area.",
"edt_eff_random_header" : "Random", "edt_eff_random_header" : "Random",
"edt_eff_random_header_desc" : "Pixel Dot, dot, dot...", "edt_eff_random_header_desc" : "Pixel Dot, dot, dot...",
"edt_eff_systemshutdown_header" : "System Shutdown", "edt_eff_systemshutdown_header" : "System Shutdown",
"edt_eff_systemshutdown_header_desc" : "A short animation mimicking a real system shutdown", "edt_eff_systemshutdown_header_desc" : "A short animation with probably a real system shutdown",
"edt_eff_snake_header" : "Snake", "edt_eff_snake_header" : "Snake",
"edt_eff_snake_header_desc" : "Looking for something to eat?", "edt_eff_snake_header_desc" : "Where is something to eat?",
"edt_eff_sparks_header" : "Sparks", "edt_eff_sparks_header" : "Sparks",
"edt_eff_sparks_header_desc" : "Star-Sparkling, choose between a static colour or random. You could also adjust brightness, saturation and speed.", "edt_eff_sparks_header_desc" : "Star-Sparking, choose between a static color or random. You could also adjust brightness, staturation and speed.",
"edt_eff_traces_header" : "Colour Traces", "edt_eff_traces_header" : "Color Traces",
"edt_eff_traces_header_desc" : "Requires a redesign", "edt_eff_traces_header_desc" : "Requires redesign",
"edt_eff_x-mas_header" : "X-Mas", "edt_eff_x-mas_header" : "X-Mas",
"edt_eff_x-mas_header_desc" : "Touch of Christmas", "edt_eff_x-mas_header_desc" : "Touch of christmas",
"edt_eff_trails_header" : "Falling stars", "edt_eff_trails_header" : "Falling stars",
"edt_eff_trails_header_desc" : "Coloured stars that fall from top to bottom", "edt_eff_trails_header_desc" : "Colored stars that fall from top to bottom",
"edt_eff_flag_header" : "Flags", "edt_eff_flag_header" : "Flags",
"edt_eff_flag_header_desc" : "Let your leds shine bright in the colours of your country. You can select more than one flag and they will change based on the interval time.", "edt_eff_flag_header_desc" : "Let your leds shine bright in the colours of your country. You can select more than one flag and they will change based on the interval time.",
"edt_eff_collision_header": "colour collision", "edt_eff_collision_header": "colour collision",
@ -716,11 +715,11 @@
"edt_eff_enum_all-together" : "All together", "edt_eff_enum_all-together" : "All together",
"edt_eff_enum_list" : "LED List", "edt_eff_enum_list" : "LED List",
"edt_eff_count" : "Count", "edt_eff_count" : "Count",
"edt_eff_color" : "Colour", "edt_eff_color" : "Color",
"edt_eff_colorrandom" : "Random colour", "edt_eff_colorrandom" : "Random color",
"edt_eff_colorone" : "Colour one", "edt_eff_colorone" : "Color one",
"edt_eff_colortwo" : "Colour two", "edt_eff_colortwo" : "Color two",
"edt_eff_colorcount" : "Colour length", "edt_eff_colorcount" : "Color length",
"edt_eff_rotationtime" : "Rotation time", "edt_eff_rotationtime" : "Rotation time",
"edt_eff_sleeptime" : "Sleep time", "edt_eff_sleeptime" : "Sleep time",
"edt_eff_image" : "Image file", "edt_eff_image" : "Image file",
@ -730,31 +729,31 @@
"edt_eff_fadeouttime" : "Fade out time", "edt_eff_fadeouttime" : "Fade out time",
"edt_eff_repeat" : "Repeat", "edt_eff_repeat" : "Repeat",
"edt_eff_repeatcount" : "Repeat count", "edt_eff_repeatcount" : "Repeat count",
"edt_eff_colorendtime" : "Time to hold the start colour", "edt_eff_colorendtime" : "Time to hold start color",
"edt_eff_colorstarttime" : "Time to hold the end colour", "edt_eff_colorstarttime" : "Time to hold end color",
"edt_eff_colorstart" : "Colour start", "edt_eff_colorstart" : "Color start",
"edt_eff_colorend" : "Colour end", "edt_eff_colorend" : "Color end",
"edt_eff_maintain_end_color" : "Keep end colour", "edt_eff_maintain_end_color" : "Keep endcolor",
"edt_eff_colorshift" : "Colour Shift", "edt_eff_colorshift" : "Color Shift",
"edt_eff_whichleds" : "Which Leds", "edt_eff_whichleds" : "Which Leds",
"edt_eff_ledlist" : "Led List", "edt_eff_ledlist" : "Led List",
"edt_eff_speed" : "Speed", "edt_eff_speed" : "Speed",
"edt_eff_fadefactor" : "Fade factor", "edt_eff_fadefactor" : "Fade factor",
"edt_eff_showseconds" : "Show seconds", "edt_eff_showseconds" : "Show seconds",
"edt_eff_blobcount" : "Blob count", "edt_eff_blobcount" : "Blob count",
"edt_eff_huechange" : "Colour change", "edt_eff_huechange" : "Color change",
"edt_eff_basecolorchange" : "Base colour change", "edt_eff_basecolorchange" : "Base color change",
"edt_eff_basecolorchangerate" : "BC change rate", "edt_eff_basecolorchangerate" : "BC change rate",
"edt_eff_basecolorrangeleft" : "BC range left", "edt_eff_basecolorrangeleft" : "BC range left",
"edt_eff_basecolorrangeright" : "BC range right", "edt_eff_basecolorrangeright" : "BC range right",
"edt_eff_brightness" : "Brightness", "edt_eff_brightness" : "Brightness",
"edt_eff_centerx" : "Centre X-Axis", "edt_eff_centerx" : "Center X-Axis",
"edt_eff_centery" : "Centre Y-Axis", "edt_eff_centery" : "Center Y-Axis",
"edt_eff_saturation" : "Saturation", "edt_eff_saturation" : "Saturation",
"edt_eff_colorevel" : "Colour level", "edt_eff_colorevel" : "Color level",
"edt_eff_whitelevel" : "White level", "edt_eff_whitelevel" : "White level",
"edt_eff_alarmcolor" : "Alarm colour", "edt_eff_alarmcolor" : "Alarm color",
"edt_eff_postcolor" : "Post colour", "edt_eff_postcolor" : "Post color",
"edt_eff_enableshutdown" : "Real shutdown", "edt_eff_enableshutdown" : "Real shutdown",
"edt_eff_length" : "Length", "edt_eff_length" : "Length",
"edt_eff_frequency" : "Frequency", "edt_eff_frequency" : "Frequency",
@ -762,19 +761,19 @@
"edt_eff_max_len" : "Maximal length", "edt_eff_max_len" : "Maximal length",
"edt_eff_height" : "Height", "edt_eff_height" : "Height",
"edt_eff_offset" : "Offset", "edt_eff_offset" : "Offset",
"edt_eff_colorHour" : "Colour hour", "edt_eff_colorHour" : "Color hour",
"edt_eff_colorMinute" : "Colour minute", "edt_eff_colorMinute" : "Color minute",
"edt_eff_colorSecond" : "Colour second", "edt_eff_colorSecond" : "Color second",
"edt_eff_colorMarker" : "Marker colour", "edt_eff_colorMarker" : "Marker color",
"edt_eff_markerWidth" : "Marker width", "edt_eff_markerWidth" : "Marker width",
"edt_eff_markerDepth" : "Marker depth", "edt_eff_markerDepth" : "Marker depth",
"edt_eff_markerEnable" : "Show Marker", "edt_eff_markerEnable" : "Show Marker",
"edt_eff_backgroundColor" : "Background colour", "edt_eff_backgroundColor" : "Background Color",
"edt_eff_countries" : "Countries", "edt_eff_countries" : "Countries",
"edt_eff_interval" : "Interval", "edt_eff_interval" : "Interval",
"edt_eff_margin" : "Margin", "edt_eff_margin" : "Margin",
"edt_eff_customColor" : "Custom colour", "edt_eff_customColor" : "Custom Color",
"edt_eff_randomCenter" : "Random Centre", "edt_eff_randomCenter" : "Random Center",
"edt_eff_enableSecondSwirl":"Second Swirl", "edt_eff_enableSecondSwirl":"Second Swirl",
"edt_eff_reverseRandomTime":"Reverse every", "edt_eff_reverseRandomTime":"Reverse every",
"edt_append_ns" : "ns", "edt_append_ns" : "ns",
@ -783,6 +782,8 @@
"edt_append_hz" : "Hz", "edt_append_hz" : "Hz",
"edt_append_pixel" : "Pixel", "edt_append_pixel" : "Pixel",
"edt_append_percent" : "%", "edt_append_percent" : "%",
"edt_append_percent_h": "% hori",
"edt_append_percent_v": "% vert",
"edt_append_degree" : "°", "edt_append_degree" : "°",
"edt_append_sdegree" : "s/degree", "edt_append_sdegree" : "s/degree",
"edt_append_leds" : "LEDs", "edt_append_leds" : "LEDs",
@ -823,5 +824,12 @@
"edt_msg_button_delete_row_title" : "Delete $1", "edt_msg_button_delete_row_title" : "Delete $1",
"edt_msg_button_delete_row_title_short" : "Delete", "edt_msg_button_delete_row_title_short" : "Delete",
"edt_msg_button_collapse" : "Collapse", "edt_msg_button_collapse" : "Collapse",
"edt_msg_button_expand" : "Expand" "edt_msg_button_expand": "Expand",
"conf_leds_layout_ptln": "Trapezpoints",
"conf_leds_layout_ptlh": "Horizontal",
"conf_leds_layout_ptlv": "Vertical",
"conf_leds_layout_ptl": "Point Top Left",
"conf_leds_layout_ptr": "Point Top Right",
"conf_leds_layout_pbl": "Point Bottom Left",
"conf_leds_layout_pbr": "Point Botton Right"
} }

View File

@ -89,7 +89,7 @@ $(document).ready( function() {
$('#versioninforesult').html('<div class="bs-callout bs-callout-warning" style="margin:0px"><a target="_blank" href="' + window.latestVersion.html_url + '">'+$.i18n('dashboard_infobox_message_updatewarning', window.latestVersion.tag_name) + '</a></div>'); $('#versioninforesult').html('<div class="bs-callout bs-callout-warning" style="margin:0px"><a target="_blank" href="' + window.latestVersion.html_url + '">'+$.i18n('dashboard_infobox_message_updatewarning', window.latestVersion.tag_name) + '</a></div>');
else else
$('#versioninforesult').html('<div class="bs-callout bs-callout-success" style="margin:0px">'+$.i18n('dashboard_infobox_message_updatesuccess')+'</div>'); $('#versioninforesult').html('<div class="bs-callout bs-callout-success" style="margin:0px">'+$.i18n('dashboard_infobox_message_updatesuccess')+'</div>');
} }
}); });

86
assets/webconfig/js/content_leds.js Normal file → Executable file
View File

@ -75,8 +75,18 @@ function createClassicLeds(){
var ledsHDepth = parseInt($("#ip_cl_hdepth").val())/100; var ledsHDepth = parseInt($("#ip_cl_hdepth").val())/100;
var edgeVGap = parseInt($("#ip_cl_edgegap").val())/100/2; var edgeVGap = parseInt($("#ip_cl_edgegap").val())/100/2;
//var cornerVGap = parseInt($("#ip_cl_cornergap").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()/100;
//trapezoid values % -> float
var ptblh = parseInt($("#ip_cl_pblh").val())/100;
var ptblv = parseInt($("#ip_cl_pblv").val())/100;
var ptbrh = parseInt($("#ip_cl_pbrh").val())/100;
var ptbrv = parseInt($("#ip_cl_pbrv").val())/100;
var pttlh = parseInt($("#ip_cl_ptlh").val())/100;
var pttlv = parseInt($("#ip_cl_ptlv").val())/100;
var pttrh = parseInt($("#ip_cl_ptrh").val())/100;
var pttrv = parseInt($("#ip_cl_ptrv").val())/100;
//helper //helper
var edgeHGap = edgeVGap/(16/9); var edgeHGap = edgeVGap/(16/9);
//var cornerHGap = cornerVGap/(16/9); //var cornerHGap = cornerVGap/(16/9);
@ -142,61 +152,59 @@ function createClassicLeds(){
} }
function createTopLeds(){ function createTopLeds(){
var step=(Hmax-Hmin)/ledstop; var steph = (pttrh - pttlh - (2*edgeHGap))/ledstop;
//if(cornerVGap != '0') var stepv = (pttrv - pttlv)/ledstop;
// step=(Hmax-Hmin-(cornerHGap*2))/ledstop;
var vmin=Vmin;
var vmax=vmin+ledsHDepth;
for (var i = 0; i<ledstop; i++){ for (var i = 0; i<ledstop; i++){
var hmin = ovl("-",(Hdiff/ledstop*Number([i]))+edgeHGap); var hmin = ovl("-",pttlh+(steph*Number([i]))+edgeHGap);
var hmax = ovl("+",(Hdiff/ledstop*Number([i]))+step+edgeHGap); var hmax = ovl("+",pttlh+(steph*Number([i+1]))+edgeHGap);
createLedArray(hmin, hmax, vmin, vmax); var vmin = pttlv+(stepv*Number([i]));
} var vmax = vmin + ledsHDepth;
}
function createLeftLeds(){
var step=(Vmax-Vmin)/ledsleft;
//if(cornerVGap != '0')
// step=(Vmax-Vmin-(cornerVGap*2))/ledsleft;
var hmin=Hmin;
var hmax=hmin+ledsVDepth;
for (var i = ledsleft-1; i>-1; --i){
var vmin = ovl("-",(Vdiff/ledsleft*Number([i]))+edgeVGap);
var vmax = ovl("+",(Vdiff/ledsleft*Number([i]))+step+edgeVGap);
createLedArray(hmin, hmax, vmin, vmax); createLedArray(hmin, hmax, vmin, vmax);
} }
} }
function createRightLeds(){ function createRightLeds(){
var step=(Vmax-Vmin)/ledsright; var steph = (ptbrh - pttrh)/ledsright;
//if(cornerVGap != '0') var stepv = (ptbrv - pttrv - (2*edgeVGap))/ledsright;
// step=(Vmax-Vmin-(cornerVGap*2))/ledsright;
var hmax=Hmax;
var hmin=hmax-ledsVDepth;
for (var i = 0; i<ledsright; i++){ for (var i = 0; i<ledsright; i++){
var vmin = ovl("-",(Vdiff/ledsright*Number([i]))+edgeVGap); var hmax = pttrh+(steph*Number([i+1]));
var vmax = ovl("+",(Vdiff/ledsright*Number([i]))+step+edgeVGap); var hmin = hmax-ledsVDepth;
var vmin = ovl("-",pttrv+(stepv*Number([i]))+edgeVGap);
var vmax = ovl("+",pttrv+(stepv*Number([i+1]))+edgeVGap);
createLedArray(hmin, hmax, vmin, vmax); createLedArray(hmin, hmax, vmin, vmax);
} }
} }
function createBottomLeds(){ function createBottomLeds(){
var step=(Hmax-Hmin)/ledsbottom; var steph = (ptbrh - ptblh - (2*edgeHGap))/ledsbottom;
//if(cornerVGap != '0') var stepv = (ptbrv - ptblv)/ledsbottom;
// step=(Hmax-Hmin-(cornerHGap*2))/ledsbottom;
var vmax=Vmax;
var vmin=vmax-ledsHDepth;
for (var i = ledsbottom-1; i>-1; i--){ for (var i = ledsbottom-1; i>-1; i--){
var hmin = ovl("-",(Hdiff/ledsbottom*Number([i]))+edgeHGap); var hmin = ovl("-",ptblh+(steph*Number([i]))+edgeHGap);
var hmax = ovl("+",(Hdiff/ledsbottom*Number([i]))+step+edgeHGap); var hmax = ovl("+",ptblh+(steph*Number([i+1]))+edgeHGap);
var vmax= ptblv+(stepv*Number([i]));
var vmin = vmax-ledsHDepth;
createLedArray(hmin, hmax, vmin, vmax); createLedArray(hmin, hmax, vmin, vmax);
} }
} }
function createLeftLeds(){
var steph = (ptblh - pttlh)/ledsleft;
var stepv = (ptblv - pttlv - (2*edgeVGap))/ledsleft;
for (var i = ledsleft-1; i>-1; i--){
var hmin = pttlh+(steph*Number([i]));
var hmax = hmin+ledsVDepth;
var vmin = ovl("-",pttlv+(stepv*Number([i]))+edgeVGap);
var vmax = ovl("+",pttlv+(stepv*Number([i+1]))+edgeVGap);
createLedArray(hmin, hmax, vmin, vmax);
}
}
//rectangle
createTopLeds(); createTopLeds();
createRightLeds(); createRightLeds();
createBottomLeds(); createBottomLeds();

View File

@ -330,7 +330,7 @@
/// Recreate and save led layouts made with web config. These values are just helpers for ui, not for Hyperion. /// Recreate and save led layouts made with web config. These values are just helpers for ui, not for Hyperion.
"ledConfig" : "ledConfig" :
{ {
"classic": "classic":
{ {
"top" : 8, "top" : 8,
"bottom" : 8, "bottom" : 8,
@ -343,7 +343,15 @@
"hdepth" : 8, "hdepth" : 8,
"vdepth" : 5, "vdepth" : 5,
"overlap" : 0, "overlap" : 0,
"edgegap" : 0 "edgegap" : 0,
"ptlh" : 0,
"ptlv" : 0,
"ptrh" : 100,
"ptrv" : 0,
"pblh" : 0,
"pblv" : 100,
"pbrh" : 100,
"pbrv" : 100
}, },
"matrix": "matrix":

View File

@ -190,7 +190,7 @@
"ledConfig" : "ledConfig" :
{ {
"classic": "classic":
{ {
"top" : 8, "top" : 8,
"bottom" : 8, "bottom" : 8,
@ -203,7 +203,15 @@
"hdepth" : 8, "hdepth" : 8,
"vdepth" : 5, "vdepth" : 5,
"overlap" : 0, "overlap" : 0,
"edgegap" : 0 "edgegap" : 0,
"ptlh" : 0,
"ptlv" : 0,
"ptrh" : 100,
"ptrv" : 0,
"pblh" : 0,
"pblv" : 100,
"pbrh" : 100,
"pbrv" : 100
}, },
@ -213,7 +221,7 @@
"ledsvert" : 10, "ledsvert" : 10,
"cabling" : "snake", "cabling" : "snake",
"start" : "top-left" "start" : "top-left"
} }
}, },
"leds": "leds":

View File

@ -18,8 +18,8 @@
<file alias="schema-logging">JSONRPC_schema/schema-logging.json</file> <file alias="schema-logging">JSONRPC_schema/schema-logging.json</file>
<file alias="schema-processing">JSONRPC_schema/schema-processing.json</file> <file alias="schema-processing">JSONRPC_schema/schema-processing.json</file>
<file alias="schema-videomode">JSONRPC_schema/schema-videomode.json</file> <file alias="schema-videomode">JSONRPC_schema/schema-videomode.json</file>
<file alias="schema-authorize">JSONRPC_schema/schema-authorize.json</file> <file alias="schema-authorize">JSONRPC_schema/schema-authorize.json</file>
<file alias="schema-instance">JSONRPC_schema/schema-instance.json</file> <file alias="schema-instance">JSONRPC_schema/schema-instance.json</file>
<!-- The following schemas are derecated but used to ensure backward compatibility with hyperion Classic remote control--> <!-- The following schemas are derecated but used to ensure backward compatibility with hyperion Classic remote control-->
<file alias="schema-transform">JSONRPC_schema/schema-hyperion-classic.json</file> <file alias="schema-transform">JSONRPC_schema/schema-hyperion-classic.json</file>
<file alias="schema-correction">JSONRPC_schema/schema-hyperion-classic.json</file> <file alias="schema-correction">JSONRPC_schema/schema-hyperion-classic.json</file>

View File

@ -1,122 +1,149 @@
{ {
"type" : "object", "type": "object",
"properties" : "properties": {
{ "classic": {
"classic" : "type": "object",
{ "required": true,
"type":"object", "properties": {
"required" : true, "top": {
"properties": "type": "integer",
{ "minimum": 0,
"top" : "default": 8
{
"type" : "integer",
"minimum" : 0,
"default" : 8
}, },
"bottom" : "bottom": {
{ "type": "integer",
"type" : "integer", "minimum": 0,
"minimum" : 0, "default": 8
"default" : 8
}, },
"left" : "left": {
{ "type": "integer",
"type" : "integer", "minimum": 0,
"minimum" : 0, "default": 5
"default" : 5
}, },
"right" : "right": {
{ "type": "integer",
"type" : "integer", "minimum": 0,
"minimum" : 0, "default": 5
"default" : 5
}, },
"glength" : "glength": {
{ "type": "integer",
"type" : "integer", "minimum": 0,
"minimum" : 0, "default": 0
"default" : 0
}, },
"gpos" : "gpos": {
{ "type": "integer",
"type" : "integer", "minimum": 0,
"minimum" : 0, "default": 0
"default" : 0
}, },
"position" : "position": {
{ "type": "integer",
"type" : "integer", "default": 0
"default" : 0
}, },
"reverse" : "reverse": {
{ "type": "boolean",
"type" : "boolean", "default": false
"default" : false
}, },
"hdepth" : "hdepth": {
{ "type": "integer",
"type" : "integer", "minimum": 1,
"minimum" : 1, "maximum": 100,
"maximum" : 100, "default": 8
"default" : 8
}, },
"vdepth" : "vdepth": {
{ "type": "integer",
"type" : "integer", "minimum": 1,
"minimum" : 1, "maximum": 100,
"maximum" : 100, "default": 5
"default" : 5
}, },
"overlap" : "overlap": {
{ "type": "integer",
"type" : "integer", "minimum": 0,
"minimum" : 0, "default": 0
"default" : 0
}, },
"edgegap" : "edgegap": {
{ "type": "integer",
"type" : "integer", "minimum": 0,
"minimum" : 0, "maximum": 50,
"maximum" : 50, "default": 0
"default" : 0 },
"ptlh": {
"type": "integer",
"minimum": 0,
"maximum": 100,
"default": 0
},
"ptlv": {
"type": "integer",
"minimum": 0,
"maximum": 100,
"default": 0
},
"ptrh": {
"type": "integer",
"minimum": 0,
"maximum": 100,
"default": 0
},
"ptrv": {
"type": "integer",
"minimum": 0,
"maximum": 100,
"default": 0
},
"pblh": {
"type": "integer",
"minimum": 0,
"maximum": 100,
"default": 0
},
"pblv": {
"type": "integer",
"minimum": 0,
"maximum": 100,
"default": 0
},
"pbrh": {
"type": "integer",
"minimum": 0,
"maximum": 100,
"default": 0
},
"pbrv": {
"type": "integer",
"minimum": 0,
"maximum": 100,
"default": 0
} }
}, },
"additionalProperties" : false "additionalProperties": false
}, },
"matrix" : "matrix": {
{ "type": "object",
"type":"object", "required": true,
"required" : true, "properties": {
"properties": "ledshoriz": {
{ "type": "integer",
"ledshoriz" : "minimum": 0,
{ "maximum": 50,
"type" : "integer", "default": 0
"minimum" : 0,
"maximum" : 50,
"default" : 0
}, },
"ledsvert" : "ledsvert": {
{ "type": "integer",
"type" : "integer", "minimum": 0,
"minimum" : 0, "maximum": 50,
"maximum" : 50, "default": 0
"default" : 0
}, },
"cabling" : "cabling": {
{
"type": "string", "type": "string",
"enum" : ["snake", "parallel"] "enum": ["snake", "parallel"]
}, },
"start" : "start": {
{
"type": "string", "type": "string",
"enum" : ["top-left", "top-right", "bottom-left", "bottom-right"] "enum": ["top-left", "top-right", "bottom-left", "bottom-right"]
} }
}, },
"additionalProperties" : false "additionalProperties": false
} }
}, },
"additionalProperties" : true "additionalProperties": true
} }

View File

@ -340,7 +340,7 @@ void HyperionDaemon::handleSettingsUpdate(const settings::type &settingsType, co
// stop all capture interfaces // stop all capture interfaces
#ifdef ENABLE_FB #ifdef ENABLE_FB
if(_fbGrabber != nullptr) if(_fbGrabber != nullptr)
{ {
_fbGrabber->stop(); _fbGrabber->stop();
delete _fbGrabber; delete _fbGrabber;
_fbGrabber = nullptr; _fbGrabber = nullptr;