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>
</td>
</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">
<label class="ltdlabel" for="ip_cl_cornergap" data-i18n="conf_leds_layout_cl_cornergap">Corner Gap</label>
</td>
@ -180,6 +244,7 @@
</div>
</div>
</div>
</div>
<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>

View File

@ -784,6 +784,8 @@
"edt_append_hz": "Hz",
"edt_append_pixel": "Pixel",
"edt_append_percent": "%",
"edt_append_percent_h": "% hori",
"edt_append_percent_v": "% vert",
"edt_append_degree": "°",
"edt_append_sdegree": "s/grad",
"edt_append_leds": "LEDs",
@ -824,5 +826,12 @@
"edt_msg_button_delete_row_title": "$1 Löschen",
"edt_msg_button_delete_row_title_short": "Löschen",
"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_denyAccess": "Deny Access",
"general_chars_needed": "more characters needed",
"general_wiki_moreto" : "More information about \"$1\" is available at our",
"dashboard_label_intro" : "This dashboard gives you a quick overview of your Hyperion installation and shows you the latest news from the Hyperion Blog.",
"general_wiki_moreto" : "More informations to \"$1\" at our Wiki",
"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_currenthyp" : "Your Hyperion version:",
"dashboard_infobox_label_latesthyp" : "Latest Hyperion version:",
@ -71,12 +71,12 @@
"dashboard_componentbox_label_status" : "Status",
"dashboard_newsbox_label_title" : "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_alert_message_confedit_t" : "Configuration modified",
"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" : "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" : "Your Hyperion configuration has been saved successfully. Your changes are now active.",
"dashboard_message_global_setting_t": "Instance independent setting",
@ -102,19 +102,19 @@
"main_menu_webconfig_token" : "Web configuration",
"main_menu_about_token" : "About Hyperion",
"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_togglelednumber" : "LED numbers",
"main_ledsim_btn_togglelivevideo" : "Live video",
"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_l1" : "Import a configuration by selecting a configuration file below and clicking on \"Import\".",
"conf_general_impexp_l2" : "Export a configuration by clicking on \"Export\". Your browser will start a download.",
"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 starts a download.",
"conf_general_impexp_impbtn" : "Import",
"conf_general_impexp_expbtn" : "Export",
"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_actionhead" : "Action",
"conf_general_inst_name_title" : "New Instance name",
@ -125,10 +125,10 @@
"conf_helptable_option" : "Option",
"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_fgeff_intro" : "Define a boot effect or colour, which will be shown during Hyperion start-up, 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_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/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_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_ledlayout" : "LED Layout",
"conf_leds_contr_label_contrtype" : "Controller type:",
@ -141,8 +141,8 @@
"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_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_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_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 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_matrix" : "Matrix Layout (LED Wall)",
"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_originTEXT" : "Created from: Textfield",
"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_l1" : "This is your first led (input position)",
"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_right" : "Right",
"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_reversdir" : "Reverse direction",
"conf_leds_layout_cl_hleddepth" : "Horizontal LED depth",
@ -183,20 +183,20 @@
"conf_leds_layout_ma_opttopright" : "Top right",
"conf_leds_layout_ma_optbottomleft" : "Bottom left",
"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_grabber_fg_intro" : "Platform capture is your local system, captured as an input source.",
"conf_grabber_v4l_intro" : "USB capture uses a capture device connected via USB to this system to input source images for processing.",
"conf_colors_color_intro" : "Create one or more calibration profiles, adjust each colour, brightness, linearization and more.",
"conf_colors_smoothing_intro" : "Smoothing flattens colour/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_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" : "Platforum capture is your local system capture as input source, Hyperion is installed on.",
"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 color, brightness, linearization and more.",
"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 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_json_intro" : "The JSON-RPC-Port of all Hyperion instances, used for remote control.",
"conf_network_bobl_intro" : "Receiver for Boblight",
"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_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_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_lastuse" : "Last use",
"conf_network_tok_comment_title" : "Token description",
@ -210,49 +210,49 @@
"conf_logging_btn_pbupload" : "Upload a report for support requests",
"conf_logging_btn_autoscroll" : "Auto scrolling",
"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_uplfailed" : "Upload failed! Please check your internet connection!",
"conf_logging_report" : "Report",
"conf_logging_lastreports" : "Previous reports",
"conf_logging_uplpolicy" : "By clicking this button you accept the",
"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_color_label" : "Colours/Effects",
"remote_color_intro" : "Set an effect or colour. Youll also see that your own effects are listed (if available). $1",
"remote_color_button_reset" : "Reset Colour/Effect",
"remote_color_label_color" : "Colour:",
"remote_color_label" : "Colors/Effects",
"remote_color_intro" : "Set an effect or color. Also your self created effects are listed (if available). $1",
"remote_color_button_reset" : "Reset Color/Effect",
"remote_color_label_color" : "Color:",
"remote_effects_label_effects" : "Effect:",
"remote_effects_label_picture" : "Picture:",
"remote_adjustment_label" : "Colour adjustment",
"remote_adjustment_intro" : "Modify colour/brightness/compensation during runtime. $1",
"remote_adjustment_label" : "Color adjustment",
"remote_adjustment_intro" : "Modifiy color/brightness/compensation during runtime. $1",
"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_3DTAB" : "3DTAB",
"remote_videoMode_2D" : "2D",
"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_setsource_btn" : "Select a Source",
"remote_input_sourceactiv_btn" : "Source Active",
"remote_input_setsource_btn" : "Select Source",
"remote_input_sourceactiv_btn" : "Source active",
"remote_input_origin" : "Origin",
"remote_input_owner" : "Type",
"remote_input_priority" : "Priority",
"remote_input_status" : "Status/Action",
"remote_input_duration" : "Duration:",
"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_intro" : "Enable and disable components of Hyperion during runtime. $1",
"remote_optgroup_usreffets" : "User Effects",
"remote_optgroup_syseffets" : "Provided Effects",
"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_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_editdeleff" : "Delete/Load Effect",
"effectsconfigurator_button_saveeffect" : "Save Effect",
@ -265,14 +265,14 @@
"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_spreadtheword" : "Spread the word",
"support_label_fbtext" : "Share our Hyperion Facebook page and get a notification 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_fbtext" : "Share our Hyperion Facebook page and get a notice when new updates are released",
"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_yttext" : "Bored of pictures? Check out our Youtube channel!",
"support_label_igtext" : "Visit us on Instagram to watch see latest Hyperion pictures!",
"support_label_yttext" : "Bored from pictures? Check out our Youtube channel!",
"support_label_igtext" : "Visit us on Instagram to watch the latest Hyperion pictures!",
"support_label_donate" : "Donate or use our affiliate links",
"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_btctext" : "Address:",
"support_label_donationpp" : "Donation:",
@ -304,15 +304,15 @@
"info_conlost_label_title" : "Lost connection to Hyperion service!",
"info_conlost_label_reason" : "Possible reasons:",
"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_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_reload" : "Auto reconnect stopped - limit exceeded, please refresh page or click me.",
"info_restart_title" : "Restarting...",
"info_restart_rightback" : "Hyperion will be back shortly!",
"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_contusa" : "...detailing the last steps to took. Thank you!",
"info_restart_title" : "Restarts currently...",
"info_restart_rightback" : "Hyperion will be right back immediately!",
"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" : "...with your last steps. Thank you!",
"info_404" : "The page you requested is not available!",
"infoDialog_general_success_title" : "Success",
"infoDialog_general_error_title" : "Error",
@ -321,32 +321,32 @@
"infoDialog_effconf_deleted_text" : "The effect \"$1\" has been deleted successfully!",
"infoDialog_effconf_created_text" : "The effect \"$1\" has been created successfully!",
"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_changePassword_title" : "Change Password",
"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_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_wizrgb_text" : "Your RGB Byte Order is already correctly set.",
"infoDialog_writeimage_error_text": "The selected file \"$1\" is not an image file or it's corrupted! Please select another image file.",
"infoDialog_writeconf_error_text" : "Saving your configuration has failed.",
"infoDialog_import_jsonerror_text" : "The selected configuration file \"$1\" is not a .json file or it's corrupted. Error message: ($2)",
"infoDialog_wizrgb_text" : "Your RGB Byte Order is already well adjusted.",
"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 failed.",
"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_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_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_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_guideyou" : "The $1 will guide you through the settings. Just press the button!",
"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_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_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_switchevery" : "Switch colour every...",
"wiz_rgb_q" : "Which colour does your setup show, when the coloured dot above shows...",
"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 color red, but you get green or blue. You could also use it for first configuration.",
"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 color every...",
"wiz_rgb_q" : "Which color show your leds, when the color dot above shows...",
"wiz_rgb_qrend" : "...red?",
"wiz_rgb_qgend" : "...green?",
"wiz_hue_title" : "Philips Hue Wizard",
@ -367,8 +367,8 @@
"wiz_hue_searchb": "Searching for bridge...",
"wiz_hue_blinkblue": "Let ID $1 light up blue",
"wiz_hue_ident" : "Identify",
"wiz_cc_title" : "Colour 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_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 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_kodidiscon" : "Kodi webserver not found, proceed without Kodi support.",
"wiz_cc_kodidisconlink" : "Download link pictures:",
@ -377,20 +377,20 @@
"wiz_cc_kodishould" : "Kodi should 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_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_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_chooseid" : "Define a name for this colour profile.",
"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 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 color profile.",
"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_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_link" : "Click me!",
"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_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_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_warm_adjust" : "Subtract warm white",
"edt_dev_enum_white_off" : "White off",
@ -412,9 +412,9 @@
"edt_dev_spec_targetIpHost_title" : "Target IP/hostname",
"edt_dev_spec_outputPath_title" : "Output path",
"edt_dev_spec_delayAfterConnect_title" : "Delay after connect",
"edt_dev_spec_FCsetConfig_title" : "Set fade candy configuration",
"edt_dev_spec_FCmanualControl_title" : "Manual control of fade candy LED",
"edt_dev_spec_FCledToOn_title" : "Fade candy LED set to on",
"edt_dev_spec_FCsetConfig_title" : "Set fadecandy configuration",
"edt_dev_spec_FCmanualControl_title" : "Manual control of fadecandy LED",
"edt_dev_spec_FCledToOn_title" : "Fadecandy LED set to on",
"edt_dev_spec_interpolation_title" : "Interpolation",
"edt_dev_spec_dithering_title" : "Dithering",
"edt_dev_spec_gamma_title" : "Gamma",
@ -422,13 +422,13 @@
"edt_dev_spec_username_title" : "Username",
"edt_dev_spec_lightid_title" : "Light ID(s)",
"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_brightnessFactor_title" : "Brightness factor",
"edt_dev_spec_restoreOriginalState_title" : "Restore lights' original state",
"edt_dev_spec_ledType_title" : "LED Type",
"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_maxPacket_title" : "Max packet",
"edt_dev_spec_serial_title" : "Serial number",
@ -447,15 +447,14 @@
"edt_dev_spec_PBFiFo_title" : "Pi-Blaster FiFo",
"edt_dev_spec_gpioBcm_title" : "GPIO Pin",
"edt_dev_spec_ledIndex_title" : "LED index",
"edt_dev_spec_colorComponent_title" : "Colour component",
"edt_dev_spec_printTimeStamp_title" : "Add timestamp",
"edt_dev_spec_colorComponent_title" : "Color component",
"edt_conf_general_enable_title" : "Activate",
"edt_conf_general_enable_expl" : "If checked, the component is enabled.",
"edt_conf_general_priority_title" : "Priority channel",
"edt_conf_general_priority_expl" : "The priority of this component",
"edt_conf_general_port_title" : "Port",
"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_multicolor_mean" : "Multicolor",
"edt_conf_enum_unicolor_mean" : "Unicolor",
@ -481,15 +480,15 @@
"edt_conf_enum_custom": "Custom",
"edt_conf_gen_heading_title" : "General Settings",
"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_expl" : "Show all available explanations in each section. Highly recommended for beginners!",
"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_color_heading_title" : "Colour Calibration",
"edt_conf_gen_watchedVersionBranch_expl" : "Selects which version branch should be used for searching new Hyperion versions.",
"edt_conf_color_heading_title" : "Color Calibration",
"edt_conf_color_channelAdjustment_header_itemtitle" : "Profile",
"edt_conf_color_channelAdjustment_header_title" : "Colour 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_title" : "Color channel adjustments",
"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_expl" : "Overwrites the led area assignment of your led layout if it's not \"multicolor\"",
"edt_conf_color_id_title" : "ID",
@ -513,19 +512,19 @@
"edt_conf_color_yellow_title" : "Yellow",
"edt_conf_color_yellow_expl" : "The calibrated yellow value.",
"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_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_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_expl" : "The minimum amount of brightness (backlight). Disabled during effects, colours and in status \"Off\"",
"edt_conf_color_backlightColored_title" : "Coloured backlight",
"edt_conf_color_backlightColored_expl" : "Add some colour to your backlight.",
"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_expl" : "Add some color to your backlight.",
"edt_conf_color_brightness_title" : "Brightness",
"edt_conf_color_brightness_expl" : "set overall brightness of leds",
"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_type_title" : "Type",
"edt_conf_smooth_type_expl" : "Type of smoothing.",
@ -534,9 +533,9 @@
"edt_conf_smooth_updateFrequency_title" : "Update frequency",
"edt_conf_smooth_updateFrequency_expl" : "The output speed to your led controller.",
"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_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_device_title" : "Device",
"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_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_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_expl" : "Darkens low red values (recognized as black)",
"edt_conf_v4l2_greenSignalThreshold_title" : "Green signal threshold",
@ -581,39 +580,39 @@
"edt_conf_fg_type_title" : "Type",
"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_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_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_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_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_display_title" : "Display",
"edt_conf_fg_display_expl" : "Select which desktop should be captured (multi monitor setup)",
"edt_conf_bb_heading_title" : "Blackbar detector",
"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_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_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_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_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_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_expl" : "Choose between a colour or effect.",
"edt_conf_fge_color_title" : "Colour",
"edt_conf_fge_color_expl" : "If type is set to \"Colour\", Choose the colour to display.",
"edt_conf_fge_type_expl" : "Choose between a color or effect.",
"edt_conf_fge_color_title" : "Color",
"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_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_expl" : "Duration of the Effect/Colour during Hyperion start-up.",
"edt_conf_bge_heading_title" : "Background Effect/Colour",
"edt_conf_fge_duration_ms_expl" : "Duration of Effect/Color during Hyperion startup.",
"edt_conf_bge_heading_title" : "Background Effect/Color",
"edt_conf_fw_heading_title" : "Forwarder",
"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)",
@ -625,50 +624,50 @@
"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_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_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_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_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_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_fbs_heading_title" : "Flatbuffers Server",
"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_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_webc_heading_title" : "Web Configuration",
"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_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_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_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_expl" : "Optional: The key might be protected with a password",
"edt_conf_effp_heading_title" : "Effect Paths",
"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_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_log_heading_title" : "Logging",
"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_time_ms" : "Smoothing time",
"edt_eff_smooth_updateFrequency" : "Smoothing update frequency",
"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_desc" : "This effect plays .gif files, provide a simple video like loop as effect.",
"edt_eff_candle_header" : "Candle",
@ -678,33 +677,33 @@
"edt_eff_police_header" : "Police",
"edt_eff_police_header_desc" : "Lights like a police car in action",
"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_desc" : "All leds rainbow mood",
"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_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_desc" : "Small hungry and yellow. Who will survive?",
"edt_eff_moodblobs_header" : "Mood Blobs",
"edt_eff_moodblobs_header_desc" : "Relax at the evening with slow moving and colour changing blobs.",
"edt_eff_swirl_header" : "Colour 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_moodblobs_header_desc" : "Relax at the evening with slow moving and color changing blobs.",
"edt_eff_swirl_header" : "Color Swirl",
"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_desc" : "Pixel Dot, dot, dot...",
"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_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_desc" : "Star-Sparkling, choose between a static colour or random. You could also adjust brightness, saturation and speed.",
"edt_eff_traces_header" : "Colour Traces",
"edt_eff_traces_header_desc" : "Requires a redesign",
"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" : "Color Traces",
"edt_eff_traces_header_desc" : "Requires redesign",
"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_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_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",
@ -716,11 +715,11 @@
"edt_eff_enum_all-together" : "All together",
"edt_eff_enum_list" : "LED List",
"edt_eff_count" : "Count",
"edt_eff_color" : "Colour",
"edt_eff_colorrandom" : "Random colour",
"edt_eff_colorone" : "Colour one",
"edt_eff_colortwo" : "Colour two",
"edt_eff_colorcount" : "Colour length",
"edt_eff_color" : "Color",
"edt_eff_colorrandom" : "Random color",
"edt_eff_colorone" : "Color one",
"edt_eff_colortwo" : "Color two",
"edt_eff_colorcount" : "Color length",
"edt_eff_rotationtime" : "Rotation time",
"edt_eff_sleeptime" : "Sleep time",
"edt_eff_image" : "Image file",
@ -730,31 +729,31 @@
"edt_eff_fadeouttime" : "Fade out time",
"edt_eff_repeat" : "Repeat",
"edt_eff_repeatcount" : "Repeat count",
"edt_eff_colorendtime" : "Time to hold the start colour",
"edt_eff_colorstarttime" : "Time to hold the end colour",
"edt_eff_colorstart" : "Colour start",
"edt_eff_colorend" : "Colour end",
"edt_eff_maintain_end_color" : "Keep end colour",
"edt_eff_colorshift" : "Colour Shift",
"edt_eff_colorendtime" : "Time to hold start color",
"edt_eff_colorstarttime" : "Time to hold end color",
"edt_eff_colorstart" : "Color start",
"edt_eff_colorend" : "Color end",
"edt_eff_maintain_end_color" : "Keep endcolor",
"edt_eff_colorshift" : "Color Shift",
"edt_eff_whichleds" : "Which Leds",
"edt_eff_ledlist" : "Led List",
"edt_eff_speed" : "Speed",
"edt_eff_fadefactor" : "Fade factor",
"edt_eff_showseconds" : "Show seconds",
"edt_eff_blobcount" : "Blob count",
"edt_eff_huechange" : "Colour change",
"edt_eff_basecolorchange" : "Base colour change",
"edt_eff_huechange" : "Color change",
"edt_eff_basecolorchange" : "Base color change",
"edt_eff_basecolorchangerate" : "BC change rate",
"edt_eff_basecolorrangeleft" : "BC range left",
"edt_eff_basecolorrangeright" : "BC range right",
"edt_eff_brightness" : "Brightness",
"edt_eff_centerx" : "Centre X-Axis",
"edt_eff_centery" : "Centre Y-Axis",
"edt_eff_centerx" : "Center X-Axis",
"edt_eff_centery" : "Center Y-Axis",
"edt_eff_saturation" : "Saturation",
"edt_eff_colorevel" : "Colour level",
"edt_eff_colorevel" : "Color level",
"edt_eff_whitelevel" : "White level",
"edt_eff_alarmcolor" : "Alarm colour",
"edt_eff_postcolor" : "Post colour",
"edt_eff_alarmcolor" : "Alarm color",
"edt_eff_postcolor" : "Post color",
"edt_eff_enableshutdown" : "Real shutdown",
"edt_eff_length" : "Length",
"edt_eff_frequency" : "Frequency",
@ -762,19 +761,19 @@
"edt_eff_max_len" : "Maximal length",
"edt_eff_height" : "Height",
"edt_eff_offset" : "Offset",
"edt_eff_colorHour" : "Colour hour",
"edt_eff_colorMinute" : "Colour minute",
"edt_eff_colorSecond" : "Colour second",
"edt_eff_colorMarker" : "Marker colour",
"edt_eff_colorHour" : "Color hour",
"edt_eff_colorMinute" : "Color minute",
"edt_eff_colorSecond" : "Color second",
"edt_eff_colorMarker" : "Marker color",
"edt_eff_markerWidth" : "Marker width",
"edt_eff_markerDepth" : "Marker depth",
"edt_eff_markerEnable" : "Show Marker",
"edt_eff_backgroundColor" : "Background colour",
"edt_eff_backgroundColor" : "Background Color",
"edt_eff_countries" : "Countries",
"edt_eff_interval" : "Interval",
"edt_eff_margin" : "Margin",
"edt_eff_customColor" : "Custom colour",
"edt_eff_randomCenter" : "Random Centre",
"edt_eff_customColor" : "Custom Color",
"edt_eff_randomCenter" : "Random Center",
"edt_eff_enableSecondSwirl":"Second Swirl",
"edt_eff_reverseRandomTime":"Reverse every",
"edt_append_ns" : "ns",
@ -783,6 +782,8 @@
"edt_append_hz" : "Hz",
"edt_append_pixel" : "Pixel",
"edt_append_percent" : "%",
"edt_append_percent_h": "% hori",
"edt_append_percent_v": "% vert",
"edt_append_degree" : "°",
"edt_append_sdegree" : "s/degree",
"edt_append_leds" : "LEDs",
@ -823,5 +824,12 @@
"edt_msg_button_delete_row_title" : "Delete $1",
"edt_msg_button_delete_row_title_short" : "Delete",
"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>');
else
$('#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 edgeVGap = parseInt($("#ip_cl_edgegap").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
var edgeHGap = edgeVGap/(16/9);
//var cornerHGap = cornerVGap/(16/9);
@ -142,61 +152,59 @@ function createClassicLeds(){
}
function createTopLeds(){
var step=(Hmax-Hmin)/ledstop;
//if(cornerVGap != '0')
// step=(Hmax-Hmin-(cornerHGap*2))/ledstop;
var vmin=Vmin;
var vmax=vmin+ledsHDepth;
var steph = (pttrh - pttlh - (2*edgeHGap))/ledstop;
var stepv = (pttrv - pttlv)/ledstop;
for (var i = 0; i<ledstop; i++){
var hmin = ovl("-",(Hdiff/ledstop*Number([i]))+edgeHGap);
var hmax = ovl("+",(Hdiff/ledstop*Number([i]))+step+edgeHGap);
createLedArray(hmin, hmax, vmin, vmax);
}
}
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);
var hmin = ovl("-",pttlh+(steph*Number([i]))+edgeHGap);
var hmax = ovl("+",pttlh+(steph*Number([i+1]))+edgeHGap);
var vmin = pttlv+(stepv*Number([i]));
var vmax = vmin + ledsHDepth;
createLedArray(hmin, hmax, vmin, vmax);
}
}
function createRightLeds(){
var step=(Vmax-Vmin)/ledsright;
//if(cornerVGap != '0')
// step=(Vmax-Vmin-(cornerVGap*2))/ledsright;
var hmax=Hmax;
var hmin=hmax-ledsVDepth;
var steph = (ptbrh - pttrh)/ledsright;
var stepv = (ptbrv - pttrv - (2*edgeVGap))/ledsright;
for (var i = 0; i<ledsright; i++){
var vmin = ovl("-",(Vdiff/ledsright*Number([i]))+edgeVGap);
var vmax = ovl("+",(Vdiff/ledsright*Number([i]))+step+edgeVGap);
var hmax = pttrh+(steph*Number([i+1]));
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);
}
}
function createBottomLeds(){
var step=(Hmax-Hmin)/ledsbottom;
//if(cornerVGap != '0')
// step=(Hmax-Hmin-(cornerHGap*2))/ledsbottom;
var vmax=Vmax;
var vmin=vmax-ledsHDepth;
var steph = (ptbrh - ptblh - (2*edgeHGap))/ledsbottom;
var stepv = (ptbrv - ptblv)/ledsbottom;
for (var i = ledsbottom-1; i>-1; i--){
var hmin = ovl("-",(Hdiff/ledsbottom*Number([i]))+edgeHGap);
var hmax = ovl("+",(Hdiff/ledsbottom*Number([i]))+step+edgeHGap);
var hmin = ovl("-",ptblh+(steph*Number([i]))+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);
}
}
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();
createRightLeds();
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.
"ledConfig" :
{
"classic":
"classic":
{
"top" : 8,
"bottom" : 8,
@ -343,7 +343,15 @@
"hdepth" : 8,
"vdepth" : 5,
"overlap" : 0,
"edgegap" : 0
"edgegap" : 0,
"ptlh" : 0,
"ptlv" : 0,
"ptrh" : 100,
"ptrv" : 0,
"pblh" : 0,
"pblv" : 100,
"pbrh" : 100,
"pbrv" : 100
},
"matrix":

View File

@ -190,7 +190,7 @@
"ledConfig" :
{
"classic":
"classic":
{
"top" : 8,
"bottom" : 8,
@ -203,7 +203,15 @@
"hdepth" : 8,
"vdepth" : 5,
"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,
"cabling" : "snake",
"start" : "top-left"
}
}
},
"leds":

View File

@ -18,8 +18,8 @@
<file alias="schema-logging">JSONRPC_schema/schema-logging.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-authorize">JSONRPC_schema/schema-authorize.json</file>
<file alias="schema-instance">JSONRPC_schema/schema-instance.json</file>
<file alias="schema-authorize">JSONRPC_schema/schema-authorize.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-->
<file alias="schema-transform">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",
"properties" :
{
"classic" :
{
"type":"object",
"required" : true,
"properties":
{
"top" :
{
"type" : "integer",
"minimum" : 0,
"default" : 8
"type": "object",
"properties": {
"classic": {
"type": "object",
"required": true,
"properties": {
"top": {
"type": "integer",
"minimum": 0,
"default": 8
},
"bottom" :
{
"type" : "integer",
"minimum" : 0,
"default" : 8
"bottom": {
"type": "integer",
"minimum": 0,
"default": 8
},
"left" :
{
"type" : "integer",
"minimum" : 0,
"default" : 5
"left": {
"type": "integer",
"minimum": 0,
"default": 5
},
"right" :
{
"type" : "integer",
"minimum" : 0,
"default" : 5
"right": {
"type": "integer",
"minimum": 0,
"default": 5
},
"glength" :
{
"type" : "integer",
"minimum" : 0,
"default" : 0
"glength": {
"type": "integer",
"minimum": 0,
"default": 0
},
"gpos" :
{
"type" : "integer",
"minimum" : 0,
"default" : 0
"gpos": {
"type": "integer",
"minimum": 0,
"default": 0
},
"position" :
{
"type" : "integer",
"default" : 0
"position": {
"type": "integer",
"default": 0
},
"reverse" :
{
"type" : "boolean",
"default" : false
"reverse": {
"type": "boolean",
"default": false
},
"hdepth" :
{
"type" : "integer",
"minimum" : 1,
"maximum" : 100,
"default" : 8
"hdepth": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 8
},
"vdepth" :
{
"type" : "integer",
"minimum" : 1,
"maximum" : 100,
"default" : 5
"vdepth": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 5
},
"overlap" :
{
"type" : "integer",
"minimum" : 0,
"default" : 0
"overlap": {
"type": "integer",
"minimum": 0,
"default": 0
},
"edgegap" :
{
"type" : "integer",
"minimum" : 0,
"maximum" : 50,
"default" : 0
"edgegap": {
"type": "integer",
"minimum": 0,
"maximum": 50,
"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" :
{
"type":"object",
"required" : true,
"properties":
{
"ledshoriz" :
{
"type" : "integer",
"minimum" : 0,
"maximum" : 50,
"default" : 0
"matrix": {
"type": "object",
"required": true,
"properties": {
"ledshoriz": {
"type": "integer",
"minimum": 0,
"maximum": 50,
"default": 0
},
"ledsvert" :
{
"type" : "integer",
"minimum" : 0,
"maximum" : 50,
"default" : 0
"ledsvert": {
"type": "integer",
"minimum": 0,
"maximum": 50,
"default": 0
},
"cabling" :
{
"cabling": {
"type": "string",
"enum" : ["snake", "parallel"]
},
"start" :
{
"enum": ["snake", "parallel"]
},
"start": {
"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
#ifdef ENABLE_FB
if(_fbGrabber != nullptr)
{
{
_fbGrabber->stop();
delete _fbGrabber;
_fbGrabber = nullptr;