mirror of
https://github.com/hyperion-project/hyperion.ng.git
synced 2023-10-10 13:36:59 +02:00
impl options explanation, uiLock (#343)
* update schemas * update * killed upstream change * min prio is now 100 * reset watchdog regularly * update * fix * update
This commit is contained in:
parent
0414e3c860
commit
88bed79c07
@ -5,8 +5,8 @@
|
||||
<h2 class="page-header"><i class="fa fa-photo fa-fw"></i><span data-i18n="main_menu_colors_conf_token">Image Processing</span></h2>
|
||||
<div class="introd">
|
||||
<h4 data-i18n="conf_colors_label_intro">Color calibration, smoothing (color transistions) and detection of blackbars.</h4>
|
||||
</div>
|
||||
<hr />
|
||||
</div>
|
||||
<div id='editor_container'/>
|
||||
<button class="btn btn-success" id='btn_submit' data-i18n="general_button_savesettings">Save Settings</button>
|
||||
</div>
|
||||
|
@ -4,8 +4,9 @@
|
||||
<h2 class="page-header"><i class="fa fa-dashboard fa-fw"></i><span data-i18n="main_menu_dashboard_token">Dashboard</span></h2>
|
||||
<div class="introd">
|
||||
<h4 data-i18n="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.</h4>
|
||||
<hr />
|
||||
</div>
|
||||
<hr>
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xxl-4">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
@ -69,7 +70,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.col-lg-12 -->
|
||||
</div>
|
||||
|
@ -4,8 +4,8 @@
|
||||
<h2 class="page-header"><i class="fa fa-spinner fa-fw"></i><span data-i18n="main_menu_effect_conf_token">Effects</span></h2>
|
||||
<div class="introd">
|
||||
<h4 data-i18n="conf_effects_label_intro">Setting up a booteffect/color that is visible after Hyperion startup. Configure a background effect/color which is active, when all capture sources are disabled (also temporarily via Kodi Watch)</h4>
|
||||
<hr />
|
||||
</div>
|
||||
<hr>
|
||||
<div id='editor_container'></div>
|
||||
<button class="btn btn-success" id='btn_submit' data-i18n="general_button_savesettings">Save Settings</button>
|
||||
</div>
|
||||
|
@ -4,20 +4,24 @@
|
||||
<h2 class="page-header"><i class="fa fa-cogs fa-fw"></i><span data-i18n="main_menu_effectsconfigurator_token">Effects Configurator</span></h2>
|
||||
<div class="introd">
|
||||
<h4 data-i18n="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.</h4>
|
||||
</div>
|
||||
<hr />
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xxl-6">
|
||||
<div class="panel panel-default" >
|
||||
<div class="panel-heading">
|
||||
<label for="effectslist" data-i18n="effectsconfigurator_label_chooseeff">Choose Base-Effect:</label>
|
||||
<select id="effectslist" class="form-control" style="color:black;width:auto;margin-left:10px;display:inline-block" />
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="form-group row">
|
||||
<label for="name-input" class="col-xs-2 col-form-label" data-i18n="effectsconfigurator_label_effectname">Effect name:</label>
|
||||
<div class="col-xs-10">
|
||||
<input class="form-control" type="text" id="name-input">
|
||||
</div>
|
||||
</div>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="ltd"><label for="name-input" data-i18n="effectsconfigurator_label_effectname">Effect name:</label></td>
|
||||
<td class="itd"><input class="form-control" type="text" id="name-input" /></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div id="editor_container" />
|
||||
</div>
|
||||
<div class="panel-footer" id="eff_footer">
|
||||
@ -27,6 +31,8 @@
|
||||
<button class="btn btn-primary pull-right" id='btn_write' data-i18n="effectsconfigurator_button_saveeffect">Save Effect</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xxl-6">
|
||||
<div class="panel panel-default" >
|
||||
<div class="panel-heading">
|
||||
<label for="effectsdellist" data-i18n="effectsconfigurator_label_deleffect">Delete Effect:</label>
|
||||
@ -37,5 +43,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="/js/content_effectsconfigurator.js"></script>
|
||||
|
@ -5,10 +5,40 @@
|
||||
<h2 class="page-header"><i class="fa fa-camera fa-fw"></i><span data-i18n="main_menu_grabber_conf_token">Capturing Hardware</span></h2>
|
||||
<div class="introd">
|
||||
<h4 data-i18n="conf_grabber_label_intro">Hyperion supports two ways on how to get captured pictures for processing and output. The platform grabber which captures internal at the device you are running Hyperion on (best qualitiy) and the USB Grabber which gathers from a connected device the necessary pictures (more calibration work and configuration).</h4>
|
||||
</div>
|
||||
<hr />
|
||||
<div id='editor_container'/>
|
||||
<button class="btn btn-success" id='btn_submit' data-i18n="general_button_savesettings">Save Settings</button>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading"><i class="fa fa-camera fa-fw"></i><span data-i18n="edt_conf_fg_heading_title">Kodi Watch</span></div>
|
||||
<div class="panel-body">
|
||||
<div id='editor_container_fg'/>
|
||||
</div>
|
||||
<div class="panel-footer">
|
||||
<button class="btn btn-success" id='btn_submit_fg' data-i18n="general_button_savesettings">Save Settings</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<div id="opt_expl_fg"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading"><i class="fa fa-camera fa-fw"></i><span data-i18n="edt_conf_v4l2_heading_title">Kodi Watch</span></div>
|
||||
<div class="panel-body">
|
||||
<div id='editor_container_v4l2'/>
|
||||
</div>
|
||||
<div class="panel-footer">
|
||||
<button class="btn btn-success" id='btn_submit_v4l2' data-i18n="general_button_savesettings">Save Settings</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<div id="opt_expl_v4l2"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -4,16 +4,30 @@
|
||||
<h2 class="page-header"><i class="fa fa-play-circle-o fa-fw"></i><span data-i18n="conf_kodi_label_title">Kodi Watch</span></h2>
|
||||
<div class="introd">
|
||||
<h4 data-i18n="conf_kodi_label_intro">The Kodi Watcher enables you to enable and disable the screencapture depending on Kodi state. This is not limited to the same machine, you could observe also a Kodi on any other device at your network.</h4>
|
||||
</div>
|
||||
<hr />
|
||||
</div>
|
||||
<div class="alert alert-info" role="alert">
|
||||
<strong>HINT 1:</strong> In any case you need to enable the remote control for Kodi. Please checkout Wiki for instructions. LINK<br>
|
||||
<strong>HINT 2:</strong> If you just use a USB-Grabber you could enable the Kodi Watch for this separately at the USB-Grabber page.
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading"><i class="fa fa-play-circle-o fa-fw"></i><span data-i18n="conf_kodi_label_title">Kodi Watch</span></div>
|
||||
<div class="panel-body">
|
||||
<div id='editor_container'/>
|
||||
</div>
|
||||
<div class="panel-footer">
|
||||
<button class="btn btn-success" id='btn_submit' data-i18n="general_button_savesettings">Save Settings</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<div id="opt_expl"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="/js/content_kodi.js"></script>
|
||||
|
@ -32,8 +32,9 @@
|
||||
<h2 class="page-header"><i class="fa fa-lightbulb-o fa-fw"></i><span data-i18n="main_menu_leds_conf_token">LED Hardware</span></h2>
|
||||
<div class="introd">
|
||||
<h4 data-i18n="conf_leds_label_intro">The LED controller of youre choice is your way to output the led data via Raspberry PI GPIO, USB or network! Choose one, define your led layout and enjoy the light!</h4>
|
||||
<hr />
|
||||
</div>
|
||||
<hr>
|
||||
|
||||
<ul id="leds_cfg_nav" class="nav nav-tabs">
|
||||
<li class="active"><a data-toggle="tab" href="#menu_controller" data-i18n="conf_leds_nav_label_ledcontroller">LED Controller</a></li>
|
||||
<li><a data-toggle="tab" href="#menu_gencfg" data-i18n="conf_leds_nav_label_ledlayout">LED Layout</a></li>
|
||||
@ -43,9 +44,10 @@
|
||||
<div class="tab-content">
|
||||
|
||||
<div id="menu_controller" class="tab-pane fade in active" style="padding-top:10px">
|
||||
<div class="row">
|
||||
<div class="col-lg-8">
|
||||
<div class="panel panel-primary">
|
||||
<div class="panel-heading form-group" style="font-size:90%;white-space:nowrap;">
|
||||
<button id='btn_submit_controller' class="btn btn-success" style="float:right" data-i18n="general_button_savesettings">Save Settings</button>
|
||||
<label for="leddevices" data-i18n="conf_leds_contr_label_contrtype">Controller type:</label>
|
||||
<select id="leddevices" class="form-control" style="color:black;width:auto;margin-left:10px;display:inline-block" />
|
||||
</div>
|
||||
@ -77,6 +79,11 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel-footer">
|
||||
<button id='btn_submit_controller' class="btn btn-success" data-i18n="general_button_savesettings">Save Settings</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -97,12 +104,11 @@
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-6 col-md-12">
|
||||
|
||||
<div class="panel-group" id="accordion">
|
||||
<div class="panel panel-primary">
|
||||
<div class="panel-heading headcollapse" data-toggle="collapse" data-parent="#accordion" data-target="#collapse4">
|
||||
<h4 class="panel-title">
|
||||
<a><i class="fa fa-wrench fa-fw"></i><span data-i18n="conf_leds_layout_generatedconf">Generated/Current LED Configuration</span></a>
|
||||
<a><i class="fa fa-wrench fa-fw"></i><span data-i18n="conf_leds_layout_generatedconf">Generated/Actual LED Configuration</span></a>
|
||||
</h4>
|
||||
</div>
|
||||
<div id="collapse4" class="panel-collapse collapse in">
|
||||
@ -125,61 +131,82 @@
|
||||
</div>
|
||||
<div id="collapse1" class="panel-collapse collapse">
|
||||
<div class="panel-body ">
|
||||
<div class="form-group">
|
||||
<label class="col-form-label col-md-6" for="ip_cl_ledstop" style="width:170px" data-i18n="conf_leds_layout_cl_top">Top</label>
|
||||
<div class=" input-group">
|
||||
<table class="table borderless">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="ltd">
|
||||
<label class="ltdlabel" for="ip_cl_ledstop" data-i18n="conf_leds_layout_cl_top">Top</label>
|
||||
</td>
|
||||
<td class="itd input-group">
|
||||
<input class="form-control ledCLconstr" id="ip_cl_ledstop" type="number" value="10" min="0" step="1"></input>
|
||||
<div class="input-group-addon" data-i18n="edt_append_leds">LEDs</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-form-label col-md-6" for="ip_cl_ledsbottom" style="width:170px" data-i18n="conf_leds_layout_cl_bottom">Bottom</label>
|
||||
<div class=" input-group">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="ltd">
|
||||
<label class="ltdlabel" for="ip_cl_ledsbottom" data-i18n="conf_leds_layout_cl_bottom">Bottom</label>
|
||||
</td>
|
||||
<td class="itd input-group">
|
||||
<input class="form-control ledCLconstr" id="ip_cl_ledsbottom" type="number" value="10" min="0" step="1"></input>
|
||||
<div class="input-group-addon" data-i18n="edt_append_leds">LEDs</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-form-label col-md-6" for="ip_cl_ledsleft" style="width:170px" data-i18n="conf_leds_layout_cl_left">Left</label>
|
||||
<div class=" input-group">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="ltd">
|
||||
<label class="ltdlabel" for="ip_cl_ledsleft" data-i18n="conf_leds_layout_cl_left">Left</label>
|
||||
</td>
|
||||
<td class="itd input-group">
|
||||
<input class="form-control ledCLconstr" id="ip_cl_ledsleft" type="number" value="6" min="0" step="1"></input>
|
||||
<div class="input-group-addon" data-i18n="edt_append_leds">LEDs</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-form-label col-md-6" for="ip_cl_ledsright" style="width:170px" data-i18n="conf_leds_layout_cl_right">Right</label>
|
||||
<div class=" input-group">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="ltd">
|
||||
<label class="ltdlabel" for="ip_cl_ledsright" data-i18n="conf_leds_layout_cl_right">Right</label>
|
||||
</td>
|
||||
<td class="itd input-group">
|
||||
<input class="form-control ledCLconstr" id="ip_cl_ledsright" type="number" value="6" min="0" step="1"></input>
|
||||
<div class="input-group-addon" data-i18n="edt_append_leds">LEDs</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-form-label col-md-6" for="ip_cl_ledsglength" style="width:170px" data-i18n="conf_leds_layout_cl_gaglength">Gap length</label>
|
||||
<div class=" input-group">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="ltd">
|
||||
<label class="ltdlabel" for="ip_cl_ledsglength" data-i18n="conf_leds_layout_cl_gaglength">Gap length</label>
|
||||
</td>
|
||||
<td class="itd input-group">
|
||||
<input class="form-control ledCLconstr" id="ip_cl_ledsglength" type="number" value="0" min="0" step="1"></input>
|
||||
<div class="input-group-addon" data-i18n="edt_append_leds">LEDs</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-form-label col-md-6" for="ip_cl_ledsgpos" style="width:170px" data-i18n="conf_leds_layout_cl_gappos">Gap position</label>
|
||||
<div class=" input-group">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="ltd">
|
||||
<label class="ltdlabel" for="ip_cl_ledsgpos" data-i18n="conf_leds_layout_cl_gappos">Gap position</label>
|
||||
</td>
|
||||
<td class="itd">
|
||||
<input class="form-control ledCLconstr" id="ip_cl_ledsgpos" type="number" value="0" min="0" step="1">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-form-label col-md-6" for="ip_cl_position" style="width:170px" data-i18n="conf_leds_layout_cl_inppos">Input position</label>
|
||||
<div class=" input-group">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="ltd">
|
||||
<label class="ltdlabel" for="ip_cl_position" data-i18n="conf_leds_layout_cl_inppos">Input position</label>
|
||||
</td>
|
||||
<td class="itd">
|
||||
<input class="form-control ledCLconstr" id="ip_cl_position" type="number" value="0" step="1">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-form-label col-md-6" for="ip_cl_reverse" style="width:190px" data-i18n="conf_leds_layout_cl_reversdir">Reverse direction</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="ltd">
|
||||
<label class="ltdlabel" for="ip_cl_reverse" data-i18n="conf_leds_layout_cl_reversdir">Reverse direction</label>
|
||||
</td>
|
||||
<td class="itd">
|
||||
<div class="checkbox">
|
||||
<input class="ledCLconstr" id="ip_cl_reverse" type="checkbox" value="false"></input>
|
||||
<label></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="">
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading headcollapse" data-toggle="collapse" data-target="#collapse3">
|
||||
<h4 class="panel-title">
|
||||
@ -188,35 +215,46 @@
|
||||
</div>
|
||||
<div id="collapse3" class="panel-collapse collapse">
|
||||
<div class="panel-body ">
|
||||
<div class="form-group">
|
||||
<label class="col-form-label col-md-6" for="ip_cl_ledshdepth" style="width:190px;max-width:200px" data-i18n="conf_leds_layout_cl_hleddepth">Horizontal LED depth</label>
|
||||
<div class=" input-group">
|
||||
<table class="tableform borderless">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="ltd">
|
||||
<label class="ltdlabel" for="ip_cl_ledshdepth" data-i18n="conf_leds_layout_cl_hleddepth">Horizontal LED depth</label>
|
||||
</td>
|
||||
<td class="itd input-group">
|
||||
<input class="form-control ledCLconstr" id="ip_cl_ledshdepth" type="number" value="8" min="1" max="100" step="1"></input>
|
||||
<div class="input-group-addon" data-i18n="edt_append_percent">%</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-form-label col-md-6" for="ip_cl_ledsvdepth" style="width:190px;max-width:200px" data-i18n="conf_leds_layout_cl_vleddepth">Vertical LED depth</label>
|
||||
<div class=" input-group">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="ltd">
|
||||
<label class="ltdlabel" for="ip_cl_ledsvdepth" data-i18n="conf_leds_layout_cl_vleddepth">Vertical LED depth</label>
|
||||
</td>
|
||||
<td class="itd input-group">
|
||||
<input class="form-control ledCLconstr" id="ip_cl_ledsvdepth" type="number" value="5" min="1" max="100" step="1"></input>
|
||||
<div class="input-group-addon" data-i18n="edt_append_percent">%</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-form-label col-md-6" for="ip_cl_ledsedgegap" style="width:190px;max-width:200px" data-i18n="conf_leds_layout_cl_edgegap">Edge Gap</label>
|
||||
<div class=" input-group">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="ltd">
|
||||
<label class="ltdlabel" for="ip_cl_ledsedgegap" data-i18n="conf_leds_layout_cl_edgegap">Edge Gap</label>
|
||||
</td>
|
||||
<td class="itd input-group">
|
||||
<input class="form-control ledCLconstr" id="ip_cl_ledsedgegap" type="number" value="0" min="0" max="50" step="1"></input>
|
||||
<div class="input-group-addon" data-i18n="edt_append_percent">%</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-form-label col-md-6" for="ip_cl_ledscornergap" style="width:190px;max-width:200px" data-i18n="conf_leds_layout_cl_cornergap">Corner Gap</label>
|
||||
<div class=" input-group">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="ltd">
|
||||
<label class="ltdlabel" for="ip_cl_ledscornergap" data-i18n="conf_leds_layout_cl_cornergap">Corner Gap</label>
|
||||
</td>
|
||||
<td class="itd input-group">
|
||||
<input class="form-control ledCLconstr" id="ip_cl_ledscornergap" type="number" value="0" min="0" max="50" step="1"></input>
|
||||
<div class="input-group-addon" data-i18n="edt_append_percent">%</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -226,7 +264,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="panel panel-primary">
|
||||
<div class="panel-heading headcollapse" data-toggle="collapse" data-parent="#accordion" data-target="#collapse2">
|
||||
<h4 class="panel-title">
|
||||
@ -235,58 +272,72 @@
|
||||
</div>
|
||||
<div id="collapse2" class="panel-collapse collapse">
|
||||
<div class="panel-body">
|
||||
<div class="form-group">
|
||||
<label class="col-form-label col-md-6" for="ip_ma_ledshoriz" style="width:170px;" data-i18n="conf_leds_layout_ma_horiz">Horizontal</label>
|
||||
<div class=" input-group">
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="ltd">
|
||||
<label class="ltdlabel" for="ip_ma_ledshoriz" data-i18n="conf_leds_layout_ma_horiz">Horizontal</label>
|
||||
</td>
|
||||
<td class="itd input-group">
|
||||
<input class="form-control ledMAconstr" id="ip_ma_ledshoriz" type="number" value="10" min="1" step="1"></input>
|
||||
<div class="input-group-addon" data-i18n="edt_append_leds">LEDs</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-form-label col-md-6" for="ip_ma_ledsvert" style="width:170px;" data-i18n="conf_leds_layout_ma_vert">Vertical</label>
|
||||
<div class=" input-group">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="ltd">
|
||||
<label class="ltdlabel" for="ip_ma_ledsvert" data-i18n="conf_leds_layout_ma_vert">Vertical</label>
|
||||
</td>
|
||||
<td class="itd input-group">
|
||||
<input class="form-control ledMAconstr" id="ip_ma_ledsvert" type="number" value="10" min="1" step="1"></input>
|
||||
<div class="input-group-addon" data-i18n="edt_append_leds">LEDs</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-form-label col-md-6" for="ip_ma_cabling" style="width:170px;" data-i18n="conf_leds_layout_ma_cabling">Cabling</label>
|
||||
<div class=" input-group">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="ltd">
|
||||
<label class="ltdlabel" for="ip_ma_cabling" data-i18n="conf_leds_layout_ma_cabling">Cabling</label>
|
||||
</td>
|
||||
<td class="itd">
|
||||
<select class="form-control ledMAconstr" id="ip_ma_cabling">
|
||||
<option value="snake" data-i18n="conf_leds_layout_ma_optsnake">Snake</option>
|
||||
<option value="parallel" data-i18n="conf_leds_layout_ma_optparallel">Parallel</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<!--- <div class="form-group">
|
||||
<label class="col-form-label col-md-6" for="ip_ma_order" style="width:170px;" data-i18n="conf_leds_layout_ma_order">Order</label>
|
||||
<div class=" input-group">
|
||||
</td>
|
||||
</tr>
|
||||
<!--- <tr>
|
||||
<td class="ltd">
|
||||
<label class="ltdlabel" for="ip_ma_order" data-i18n="conf_leds_layout_ma_order">Order</label>
|
||||
</td>
|
||||
<td class="itd">
|
||||
<select class="form-control ledMAconstr" id="ip_ma_order">
|
||||
<option value="horizontal" data-i18n="conf_leds_layout_ma_opthoriz">Horizontal</option>
|
||||
<option value="vertical" data-i18n="conf_leds_layout_ma_optvert">Vertical</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
--->
|
||||
<div class="form-group">
|
||||
<label class="col-form-label col-md-6" for="ip_ma_start" style="width:170px;" data-i18n="conf_leds_layout_ma_position">Input</label>
|
||||
<div class=" input-group">
|
||||
<tr>
|
||||
<td class="ltd">
|
||||
<label class="ltdlabel" for="ip_ma_start" data-i18n="conf_leds_layout_ma_position">Input</label>
|
||||
</td>
|
||||
<td class="itd">
|
||||
<select class="form-control ledMAconstr" id="ip_ma_start">
|
||||
<option value="top-left" data-i18n="conf_leds_layout_ma_opttopleft">Top left</option>
|
||||
<option value="top-right" data-i18n="conf_leds_layout_ma_opttopright">Top right</option>
|
||||
<option value="bottom-left" data-i18n="conf_leds_layout_ma_optbottomleft">Bottom left</option>
|
||||
<option value="bottom-right" data-i18n="conf_leds_layout_ma_optbottomright">Bottom right</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="panel-footer">
|
||||
<button id="btn_ma_generate" class="btn btn-warning" data-i18n="conf_leds_layout_cl_generate">Generate LED configuration</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> <!-- accordion -->
|
||||
</div>
|
||||
</div> <!-- accordion -->
|
||||
<div class="col-lg-6 col-md-12">
|
||||
<div class="panel panel-primary">
|
||||
<div class="panel-heading">
|
||||
@ -297,7 +348,6 @@
|
||||
<div id="previewledcount"></div>
|
||||
<div class="col-lg-12 st_helper" style="padding-left:0px; padding-right:0px">
|
||||
<div id="leds_preview"></div>
|
||||
<div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel-footer">
|
||||
@ -305,9 +355,9 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> <!-- row layout -->
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -4,8 +4,8 @@
|
||||
<h2 class="page-header"><i class="fa fa-reorder fa-fw"></i><span data-i18n="main_menu_logging_token">Log</span></h2>
|
||||
<div class="introd">
|
||||
<h4 data-i18n="conf_logging_label_intro">Area to check log messages, depending on loglevel setting you see more or less.</h4>
|
||||
</div>
|
||||
<hr />
|
||||
</div>
|
||||
<div id='editor_container'/>
|
||||
<button class="btn btn-success" id='btn_submit' data-i18n="general_button_savesettings">Save Settings</button>
|
||||
<hr />
|
||||
|
@ -4,10 +4,88 @@
|
||||
<h2 class="page-header"><i class="fa fa-sitemap fa-fw"></i><span data-i18n="main_menu_network_conf_token">Network Services</span></h2>
|
||||
<div class="introd">
|
||||
<h4 data-i18n="conf_network_label_intro">All network based settings are listed here.</h4>
|
||||
</div>
|
||||
<hr />
|
||||
<div id='editor_container'/>
|
||||
<button class="btn btn-success" id='btn_submit' data-i18n="general_button_savesettings">Save Settings</button>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading"><i class="fa fa-sitemap fa-fw"></i><span data-i18n="edt_conf_js_heading_title">JSON Server</span></div>
|
||||
<div class="panel-body">
|
||||
<div id='editor_container_jsonserver'/>
|
||||
</div>
|
||||
<div class="panel-footer">
|
||||
<button class="btn btn-success" id='btn_submit_jsonserver' data-i18n="general_button_savesettings">Save Settings</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<div id="opt_expl_jsonserver"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading"><i class="fa fa-sitemap fa-fw"></i><span data-i18n="edt_conf_ps_heading_title">PROTO Server</span></div>
|
||||
<div class="panel-body">
|
||||
<div id='editor_container_protoserver'/>
|
||||
</div>
|
||||
<div class="panel-footer">
|
||||
<button class="btn btn-success" id='btn_submit_protoserver' data-i18n="general_button_savesettings">Save Settings</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<div id="opt_expl_protoserver"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading"><i class="fa fa-sitemap fa-fw"></i><span data-i18n="edt_conf_bobls_heading_title">Boblight Server</span></div>
|
||||
<div class="panel-body">
|
||||
<div id='editor_container_boblightserver'/>
|
||||
</div>
|
||||
<div class="panel-footer">
|
||||
<button class="btn btn-success" id='btn_submit_boblightserver' data-i18n="general_button_savesettings">Save Settings</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<div id="opt_expl_boblightserver"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading"><i class="fa fa-sitemap fa-fw"></i><span data-i18n="edt_conf_udpl_heading_title">UDP Listener</span></div>
|
||||
<div class="panel-body">
|
||||
<div id='editor_container_udplistener'/>
|
||||
</div>
|
||||
<div class="panel-footer">
|
||||
<button class="btn btn-success" id='btn_submit_udplistener' data-i18n="general_button_savesettings">Save Settings</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<div id="opt_expl_udplistener"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading"><i class="fa fa-sitemap fa-fw"></i><span data-i18n="edt_conf_fw_heading_title">Forwarder</span></div>
|
||||
<div class="panel-body">
|
||||
<div id='editor_container_forwarder'/>
|
||||
</div>
|
||||
<div class="panel-footer">
|
||||
<button class="btn btn-success" id='btn_submit_forwarder' data-i18n="general_button_savesettings">Save Settings</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<div id="opt_expl_forwarder"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -2,8 +2,8 @@
|
||||
<h2 class="page-header"><i class="fa fa-wifi fa-fw"></i><span data-i18n="main_menu_remotecontrol_token">Remote Control</span></h2>
|
||||
<div class="introd">
|
||||
<h4 data-i18n="remote_label_intro">Set an effect/color. You could also select a source manually. The Components control give the opportunity to enable/disable components of Hyprion during runtime. All changes you made here are lost after a restart.</h4>
|
||||
<hr />
|
||||
</div>
|
||||
<hr>
|
||||
</div>
|
||||
|
||||
<div class="container-fluid">
|
||||
@ -51,4 +51,17 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
<div class="panel panel-primary" >
|
||||
<div class="panel-heading" data-i18n="remote_maptype_label">Mapping types</div>
|
||||
<div class="panel-body">
|
||||
<div id="mappingsbutton"><i style="font-size:120px;padding:20px;text-align:center;display: inline-block;width: 100%;line-height: normal;" class="fa fa-cog fa-spin"></i></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="/js/content_remote.js" ></script>
|
||||
|
@ -4,8 +4,8 @@
|
||||
<h2 class="page-header"><i class="fa fa-info fa-fw"></i><span data-i18n="support_label_title">Support Hyperion</span></h2>
|
||||
<div class="introd">
|
||||
<h4 data-i18n="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.</h4>
|
||||
<hr />
|
||||
</div>
|
||||
<hr>
|
||||
<h3 style="font-weight: bold" data-i18n="support_label_spreadtheword">Spread the word</h3>
|
||||
<a href="#" target="_blank" class="unlink">
|
||||
<div class="col-xs-12 col-sm-6 col-lg-3 support-container">
|
||||
|
@ -4,8 +4,8 @@
|
||||
<h2 class="page-header"><i class="fa fa-download fa-fw"></i><span data-i18n="main_menu_update_token">Update</span></h2>
|
||||
<div class="introd">
|
||||
<h4 data-i18n="update_label_intro">Overview about all available Hyperion versions. On top you could update or downgrade your version of Hyperion whenever you want. Sorted from newest to oldest</h4>
|
||||
<hr />
|
||||
</div>
|
||||
<hr>
|
||||
<h4 id="update_currver"></h4>
|
||||
<hr>
|
||||
<div class="col-lg-12" id="versionlist">
|
||||
|
@ -4,8 +4,8 @@
|
||||
<h2 class="page-header"><i class="fa fa-wrench fa-fw"></i><span data-i18n="main_menu_webconfig_token">Webinterface</span></h2>
|
||||
<div class="introd">
|
||||
<h4 data-i18n="conf_webconfig_label_intro">Webinterface settings. Edit wisely</h4>
|
||||
</div>
|
||||
<hr />
|
||||
</div>
|
||||
<div id='editor_container'/>
|
||||
<button class="btn btn-success" id='btn_submit' data-i18n="general_button_savesettings">Save Settings</button>
|
||||
</div>
|
||||
|
@ -5,11 +5,107 @@
|
||||
url("../fonts/Roboto-Regular.ttf") format('ttf');
|
||||
}
|
||||
body{font-family:Roboto,"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:15px;}
|
||||
.form-group{margin-bottom:11px;}
|
||||
#page-content {
|
||||
padding-bottom:50px;
|
||||
}
|
||||
|
||||
/*editor changes*/
|
||||
[id^=editor_container] h3{margin-top:10px;}
|
||||
[id^=editor_container] .well{margin-bottom:9px;border:none;background-color:white;box-shadow:none;}
|
||||
[id^=editor_container] label{padding-left:0px !important; padding-right:0px !important;}
|
||||
.ltd{width:auto;text-align:left;white-space:nowrap;vertical-align:middle !important;padding:6px !important;}
|
||||
.itd{width:100%;padding:6px !important;}
|
||||
table.input-group{width:100%}
|
||||
.borderless {margin-bottom:0px}
|
||||
@media (max-width: 767px) {.ltd{white-space:normal;}}
|
||||
|
||||
/*icon spacing*/
|
||||
.fa-fw{margin-right:5px;}
|
||||
/*borderless table*/
|
||||
table.borderless td,table.borderless th{border: none !important;}
|
||||
|
||||
/*Header*/
|
||||
.navbar-brand{padding: 5px;padding-left:20px;height:60px;}
|
||||
.sidebar{margin-top:61px;padding-top:20px;}
|
||||
.dropdown{font-size:18px;}
|
||||
@media (max-width: 767px) {.sidebar{margin-top:0px;padding-top:0px !important;} .introd{display:none}}
|
||||
.page-header{margin-top:15px;}
|
||||
|
||||
/*Panels*/
|
||||
.panel-heading{font-size:18px;}
|
||||
.headcollapse{cursor:pointer;}
|
||||
.headcollapse a:hover{text-decoration:none;}
|
||||
|
||||
/*Dashboard*/
|
||||
.component-on{color:green;}
|
||||
.component-off{color:grey;}
|
||||
|
||||
/*Colorpicker 2x*/
|
||||
.colorpicker-2x .colorpicker-saturation {width: 200px;height: 200px;}
|
||||
.colorpicker-2x .colorpicker-hue,.colorpicker-2x .colorpicker-alpha {width: 30px;height: 200px;}
|
||||
.colorpicker-2x .colorpicker-color,.colorpicker-2x .colorpicker-color div {height: 30px;}
|
||||
.colorpicker-2x .colorpicker-selectors i{height:20px;width:20px;}
|
||||
|
||||
/*Support page*/
|
||||
.unlink,.unlink:hover{color:#333;text-decoration:none;}
|
||||
.support-container ul{padding-left:0px;list-style-type: none;}
|
||||
.support-container{text-align: center;margin-top:15px;color:#333;}
|
||||
.support-container .fa{line-height:58px;font-size:40px;width:100px;height:100px;padding:20px;border-radius: 120px;border: 1px solid;transition: background-color 0.5s linear, color 0.5s linear;}
|
||||
.support-container h4{margin-top:13px;}
|
||||
.support-container:hover .bg-color-fb{background-color:#3b5998;color:white;}
|
||||
.support-container:hover .bg-color-tw{background-color:#1da1f2; color:white;}
|
||||
.support-container:hover .bg-color-g{background-color:#cc181e; color:white;}
|
||||
.support-container:hover .bg-color-wf{background-color:#0088cc; color:white;}
|
||||
.support-container:hover .bg-color-btc{background-color:#f7931a; color:white;}
|
||||
.support-container:hover .bg-color-pp{background-color:#0070ba; color:white;}
|
||||
.support-container:hover .bg-color-am{background-color:#ef9c00; color:white;}
|
||||
|
||||
/*Config introduction*/
|
||||
.introd h4{line-height:25px;padding-left:14px;border-left:5px solid #0088cc;}
|
||||
|
||||
/*backported bootstrap 4 forms-label alignment*/
|
||||
.col-form-label {
|
||||
padding-top: .5rem;
|
||||
padding-bottom: .5rem;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
/*Modal icons*/
|
||||
[class*="modal-icon"]{
|
||||
padding:30px;
|
||||
border-radius: 60px;
|
||||
color:white;
|
||||
font-size:50px !important;
|
||||
}
|
||||
.modal-icon-check{
|
||||
background-color:#71c341;
|
||||
}
|
||||
.modal-icon-warning{
|
||||
background-color:#f7c44a;
|
||||
}
|
||||
.modal-icon-error{
|
||||
background-color:#d1322e;
|
||||
}
|
||||
|
||||
.overlay {
|
||||
background-image: url('/img/hyperion/hyperionwhitelogo.png');
|
||||
background-repeat: no-repeat;
|
||||
background-position: center center;
|
||||
background-color: rgba(1, 1, 1, 0.7);
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
top: 0;
|
||||
z-index:99999;
|
||||
}
|
||||
|
||||
/**add a dditional width defintion for bootstrap**/
|
||||
@media (min-width: 1500px) {
|
||||
.col-xxl-1, .col-xxl-2, .col-xxl-3, .col-xxl-4, .col-xxl-5, .col-xxl-6, .col-xxl-7, .col-xxl-8, .col-xxl-9, .col-xxl-10, .col-xxl-11, .col-xxl-12 {
|
||||
float: left;
|
||||
padding:0 15px;
|
||||
}
|
||||
.col-xxl-12 {
|
||||
width: 100%;
|
||||
@ -166,102 +262,13 @@ body{font-family:Roboto,"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:15
|
||||
}
|
||||
}
|
||||
|
||||
/*icon spacing*/
|
||||
.fa-fw{margin-right:5px;}
|
||||
/*borderless table*/
|
||||
table.borderless td,table.borderless th{border: none !important;}
|
||||
|
||||
/*Header*/
|
||||
.navbar-brand{padding: 5px;padding-left:20px;height:60px;}
|
||||
.sidebar{margin-top:61px;padding-top:20px;}
|
||||
.dropdown{font-size:18px;}
|
||||
@media (max-width: 767px) {.sidebar{margin-top:0px;}}
|
||||
.page-header{margin-top:15px;}
|
||||
|
||||
/*Panels*/
|
||||
.panel-heading{font-size:18px;}
|
||||
.headcollapse{cursor:pointer;}
|
||||
.headcollapse a:hover{text-decoration:none;}
|
||||
|
||||
/*Dashboard*/
|
||||
.component-on{color:green;}
|
||||
.component-off{color:grey;}
|
||||
|
||||
/*Colorpicker 2x*/
|
||||
.colorpicker-2x .colorpicker-saturation {width: 200px;height: 200px;}
|
||||
.colorpicker-2x .colorpicker-hue,.colorpicker-2x .colorpicker-alpha {width: 30px;height: 200px;}
|
||||
.colorpicker-2x .colorpicker-color,.colorpicker-2x .colorpicker-color div {height: 30px;}
|
||||
.colorpicker-2x .colorpicker-selectors i{height:20px;width:20px;}
|
||||
|
||||
/*Support page*/
|
||||
.unlink,.unlink:hover{color:#333;text-decoration:none;}
|
||||
.support-container ul{padding-left:0px;list-style-type: none;}
|
||||
.support-container{text-align: center;margin-top:15px;color:#333;}
|
||||
.support-container .fa{line-height:58px;font-size:40px;width:100px;height:100px;padding:20px;border-radius: 120px;border: 1px solid;transition: background-color 0.5s linear, color 0.5s linear;}
|
||||
.support-container h4{margin-top:13px;}
|
||||
.support-container:hover .bg-color-fb{background-color:#3b5998;color:white;}
|
||||
.support-container:hover .bg-color-tw{background-color:#1da1f2; color:white;}
|
||||
.support-container:hover .bg-color-g{background-color:#cc181e; color:white;}
|
||||
.support-container:hover .bg-color-wf{background-color:#0088cc; color:white;}
|
||||
.support-container:hover .bg-color-btc{background-color:#f7931a; color:white;}
|
||||
.support-container:hover .bg-color-pp{background-color:#0070ba; color:white;}
|
||||
.support-container:hover .bg-color-am{background-color:#ef9c00; color:white;}
|
||||
|
||||
/*Config introduction*/
|
||||
.introd{padding-left:14px;border-left:5px solid #0088cc;}
|
||||
.introd h4{line-height:25px;}
|
||||
|
||||
/*backported bootstrap 4 forms-label alignment*/
|
||||
.col-form-label {
|
||||
padding-top: .5rem;
|
||||
padding-bottom: .5rem;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
/*Modal icons*/
|
||||
.modal-icon-check{
|
||||
background-color:#71c341;
|
||||
padding:30px;
|
||||
border-radius: 60px;
|
||||
color:white;
|
||||
font-size:50px !important;
|
||||
}
|
||||
.modal-icon-warning{
|
||||
background-color:#f7c44a;
|
||||
padding:30px;
|
||||
border-radius: 60px;
|
||||
color:white;
|
||||
font-size:50px !important;
|
||||
}
|
||||
.modal-icon-error{
|
||||
background-color:#d1322e;
|
||||
padding:30px;
|
||||
border-radius: 60px;
|
||||
color:white;
|
||||
font-size:50px !important;
|
||||
}
|
||||
|
||||
.overlay {
|
||||
background-image: url('/img/hyperion/hyperionwhitelogo.png');
|
||||
background-repeat: no-repeat;
|
||||
background-position: center center;
|
||||
background-color: rgba(1, 1, 1, 0.7);
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
top: 0;
|
||||
z-index:99999;
|
||||
}
|
||||
|
||||
#page-content {
|
||||
padding-bottom:50px;
|
||||
}
|
||||
|
||||
|
||||
/*https://github.com/flatlogic/awesome-bootstrap-checkbox slighty edited for our purposes*/
|
||||
.checkbox {
|
||||
height:34px;
|
||||
padding-left: 20px;
|
||||
padding-top:2px !important;
|
||||
margin-top: 0px !important;
|
||||
margin-bottom: 0px !important;
|
||||
}
|
||||
.checkbox label {
|
||||
display: inline-block;
|
||||
|
@ -31,6 +31,7 @@
|
||||
"general_btn_ok" : "OK",
|
||||
"general_btn_abort" : "Abbrechen",
|
||||
"general_btn_save" : "Speichern",
|
||||
"general_btn_restarthyperion" : "Hyperion neustarten",
|
||||
"dashboard_label_intro" : "Das Dashboard zeigt dir Informationen zum Systemstatus, ob Updates verfügbar sind, den Komponentenstatus sowie die letzten Blog-Posts vom Hyperion Team.",
|
||||
"dashboard_infobox_label_title" : "Information",
|
||||
"dashboard_infobox_label_currenthyp" : "Deine Hyperion Version:",
|
||||
@ -44,7 +45,6 @@
|
||||
"dashboard_componentbox_label_status" : "Status",
|
||||
"dashboard_newsbox_label_title" : "Die letzten Blogposts",
|
||||
"dashboard_alert_message_confedit" : "Deine Hyperion Konfiguration wurde verändert. Um die Änderungen anzuwenden, starte Hyperion neu.",
|
||||
"dashboard_alert_button_restarthyerion" : "Hyperion neustarten",
|
||||
"main_menu_dashboard_token" : "Dashboard",
|
||||
"main_menu_configuration_token" : "Konfiguration",
|
||||
"main_menu_leds_conf_token" : "LED Hardware",
|
||||
@ -61,6 +61,8 @@
|
||||
"main_menu_input_selection_token" : "Eingabeauswahl",
|
||||
"main_menu_logging_token" : "Protokoll",
|
||||
"main_menu_webconfig_token" : "Webkonfiguration",
|
||||
"conf_helptable_option" : "Option",
|
||||
"conf_helptable_expl" : "Erklärung",
|
||||
"conf_effects_label_intro" : "Stelle einen Effekt oder Farbe ein, der beim Starten sichtbar sein soll. Stelle einen Hintergrundeffekt/Farbe ein der erst sichtbar wird, wenn alle Bildquellen abgeschaltet sind (Das gilt ebenfalls für temporäres abschalten mithilfe der Kodi Überwachung).",
|
||||
"conf_leds_label_intro" : "Der LED Hardware Bereich ermöglicht eine Vielzahl von Ausgabemöglichkeiten über Raspberry Pi GPIO, USB oder Netzwerk. Erstelle ein LED Layout das zu deinem Aufbau passt und schon kann es losgehen!",
|
||||
"conf_leds_nav_label_ledcontroller" : "LED Steuerung",
|
||||
@ -136,6 +138,9 @@
|
||||
"remote_optgroup_usreffets" : "Benutzer Effekte",
|
||||
"remote_optgroup_syseffets" : "Mitgelieferte Effekte",
|
||||
"remote_help_text" : "Hyperion nutzt ein Prioritätensystem um die Quelle zu wählen. Alles was du setzte hat eine Prioität (Effekte/Farben/Plattform Capture/USB Capture und Netzwerkquellen). Standartmäßig nutzt Hyperion die Quelle mit der niedrigsten Prioität. Hier hast du die Möglichkeit die Quelle manuell auszuwählen.",
|
||||
"remote_maptype_label" : "Farbzuordnung",
|
||||
"remote_maptype_label_multicolor_mean" : "Mehrfarbig",
|
||||
"remote_maptype_label_unicolor_mean" : "Einfarbig",
|
||||
"hue_button_create_user_token" : "Benutzer anlegen",
|
||||
"hue_press_link_modal" : "Bitte Link Taste auf der Hue Bridge drücken.",
|
||||
"hue_failure_connection_token" : "Connection Timeout. Bitte drücke die Taste rechtzeitig.",
|
||||
@ -148,7 +153,7 @@
|
||||
"effectsconfigurator_label_intro" : "Erstelle auf Grundlage der Basiseffekte neue Effekt die nach deinen Wünschen angepasst sind. Je nach Effekt stehen Optionen wie Farbe, Geschwindigkeit, oder Richtung und vieles mehr zur Auswahl.",
|
||||
"effectsconfigurator_label_chooseeff" : "Basis-Effekt auswählen:",
|
||||
"effectsconfigurator_button_saveeffect" : "Effekt speichern",
|
||||
"effectsconfigurator_label_effectname" : "Effektname:",
|
||||
"effectsconfigurator_label_effectname" : "Effektname",
|
||||
"effectsconfigurator_button_starttest" : "Starte Effekttest",
|
||||
"effectsconfigurator_button_stoptest" : "Stoppe Effekttest",
|
||||
"effectsconfigurator_button_conttest" : "Fortlaufender Test",
|
||||
@ -201,6 +206,9 @@
|
||||
"InfoDialog_lang_text" : "Sollte dir die Vorauswahl der automatischen Spracherkennung nicht gefallen, kannst du die Sprache hier manuell festlegen.",
|
||||
"InfoDialog_access_title" : "Zugriffsstufe",
|
||||
"InfoDialog_access_text" : "Abhängig von der Stufe hast du Zugriff auf mehr oder weniger Einstellungen. Empfohlen ist 'Standard'.",
|
||||
"InfoDialog_nowrite_title" : "Fehler beim Schreibzugriff!",
|
||||
"InfoDialog_nowrite_text" : "Hyperion hat keinen Schreibzugriff auf die aktuell geladene Konfiguration. Bitte korrigiere die Dateizugriffsrechte um fortzufahren.",
|
||||
"InfoDialog_nowrite_foottext" : "Die Webkonfiguration wird automatisch wieder freigegeben, sobald das Problem behoben wurde!",
|
||||
"edt_dev_general_heading_title" : "Allgemeine Einstellungen",
|
||||
"edt_dev_general_name_title" : "Name der Konfiguration",
|
||||
"edt_dev_general_ledCount_title" : "Anzahl Hardware LEDs",
|
||||
@ -251,62 +259,105 @@
|
||||
"edt_dev_spec_ledIndex_title" : "LED index",
|
||||
"edt_dev_spec_colorComponent_title" : "Farbkomponente",
|
||||
"edt_conf_general_enable_title" : "Aktiviert",
|
||||
"edt_conf_general_enable_expl" : "Wenn aktiviert, ist die Komponente aktiv.",
|
||||
"edt_conf_general_priority_title" : "Priorität",
|
||||
"edt_conf_general_priority_expl" : "Die Priorität dieser Komponente.",
|
||||
"edt_conf_general_port_title" : "Port",
|
||||
"edt_conf_general_port_expl" : "Der genutzte Port.",
|
||||
"edt_conf_color_heading_title" : "Farbkalibrierung",
|
||||
"edt_conf_smooth_heading_title" : "Glättung",
|
||||
"edt_conf_smooth_type_title" : "Art",
|
||||
"edt_conf_smooth_type_expl" : "Algorithmus der Glättung.",
|
||||
"edt_conf_smooth_time_ms_title" : "Zeit",
|
||||
"edt_conf_smooth_time_ms_expl" : "Wie lange soll die Glättung Bilder sammeln?",
|
||||
"edt_conf_smooth_updateFrequency_title" : "Aktualisierungsfrequenz",
|
||||
"edt_conf_smooth_updateFrequency_expl" : "Die Geschwindigkeit der Datenausgabe an die LED Steuerung.",
|
||||
"edt_conf_smooth_updateDelay_title" : "Aktualisierungsverzögerung",
|
||||
"edt_conf_smooth_updateDelay_expl" : "Verzögere die Ausgabe, sollte dein ambient light schneller sein als dein TV.",
|
||||
"edt_conf_smooth_continuousOutput_title" : "Fortlaufende Ausgabe",
|
||||
"edt_conf_smooth_continuousOutput_expl" : "Aktualisiere die LEDs, auch wenn das Bild sich nicht geändert hat.",
|
||||
"edt_conf_v4l2_heading_title" : "USB Aufnahme",
|
||||
"edt_conf_v4l2_device_title" : "Gerät",
|
||||
"edt_conf_v4l2_device_expl" : "Der Pfad zum USB Aufnahmegerät.",
|
||||
"edt_conf_v4l2_input_title" : "Eingang",
|
||||
"edt_conf_v4l2_input_expl" : "Der Eingang des Pfades.",
|
||||
"edt_conf_v4l2_standard_title" : "Videoformat",
|
||||
"edt_conf_v4l2_standard_expl" : "Wähle das passende Videoformat deiner Region.",
|
||||
"edt_conf_v4l2_width_title" : "Breite",
|
||||
"edt_conf_v4l2_width_expl" : "Die Breite des Bildes. (-1 = Automatische Breitenbestimmung)",
|
||||
"edt_conf_v4l2_height_title" : "Höhe",
|
||||
"edt_conf_v4l2_height_expl" : "Die Höhes des Bildes. (-1 = Automatische Höhenbestimmung)",
|
||||
"edt_conf_v4l2_frameDecimation_title" : "Bildverkleinerung",
|
||||
"edt_conf_v4l2_frameDecimation_expl" : "Der Faktor der Bildverkleinerung",
|
||||
"edt_conf_v4l2_sizeDecimation_title" : "Größenänderung",
|
||||
"edt_conf_v4l2_sizeDecimation_expl" : "Der Faktor der Größenänderung",
|
||||
"edt_conf_v4l2_mode_title" : "Modus",
|
||||
"edt_conf_v4l2_mode_expl" : "Modus der USB Aufnahme",
|
||||
"edt_conf_v4l2_useKodiChecker_title" : "Nutze Kodi Überwachung",
|
||||
"edt_conf_v4l2_useKodiChecker_expl" : "Starte/Stoppe Aufnahme mithilfe der Kodi Überwachung.",
|
||||
"edt_conf_v4l2_cropLeft_title" : "Entferne links",
|
||||
"edt_conf_v4l2_cropLeft_expl" : "Anzahl der Pixel auf der linken Seite die vom Bild entfernt werden.",
|
||||
"edt_conf_v4l2_cropRight_title" : "Entferne rechts",
|
||||
"edt_conf_v4l2_cropRight_expl" : "Anzahl der Pixel auf der rechten Seite die vom Bild entfernt werden.",
|
||||
"edt_conf_v4l2_cropTop_title" : "Entferne oben",
|
||||
"edt_conf_v4l2_cropTop_expl" : "Anzahl der Pixel auf der oberen Seite die vom Bild entfernt werden.",
|
||||
"edt_conf_v4l2_cropBottom_title" : "Entferne unten",
|
||||
"edt_conf_v4l2_cropBottom_expl" : "Anzahl der Pixel auf der unteren Seite die vom Bild entfernt werden.",
|
||||
"edt_conf_v4l2_redSignalThreshold_title" : "Rote Signalschwelle",
|
||||
"edt_conf_v4l2_redSignalThreshold_expl" : "Verdunkelt rote Werte. (Wird als schwarz interpretiert)",
|
||||
"edt_conf_v4l2_greenSignalThreshold_title" : "Grüne Signalschwelle",
|
||||
"edt_conf_v4l2_greenSignalThreshold_expl" : "Verdunkelt grüne Werte. (Wird als schwarz interpretiert)",
|
||||
"edt_conf_v4l2_blueSignalThreshold_title" : "Blaue Signalschwelle",
|
||||
"edt_conf_v4l2_blueSignalThreshold_expl" : "Verdunkelt blaue Werte. (Wird als schwarz interpretiert))",
|
||||
"edt_conf_fg_heading_title" : "Plattform Aufnahme",
|
||||
"edt_conf_fg_type_title" : "Typ",
|
||||
"edt_conf_fg_type_expl" : "Art der Plattform Aufnahme, standard ist 'auto'",
|
||||
"edt_conf_fg_frequency_Hz_title" : "Aufnahmefrequenz",
|
||||
"edt_conf_fg_frequency_Hz_expl" : "Wie schnell neue Bilder aufgenommen werden.",
|
||||
"edt_conf_fg_horizontalPixelDecimation_title" : "Horizontale Pixelreduzierung",
|
||||
"edt_conf_fg_horizontalPixelDecimation_expl" : "Horizontale Pixelreduzierung (Faktor)",
|
||||
"edt_conf_fg_useXGetImage_title" : "Nutze XGetImage",
|
||||
"edt_conf_fg_useXGetImage_expl" : "XGetImage für aktuelle X11 desktops",
|
||||
"edt_conf_fg_verticalPixelDecimation_title" : "Vertikale Pixelreduzierung",
|
||||
"edt_conf_fg_verticalPixelDecimation_expl" : "Vertikale Pixelreduzierung (Faktor)",
|
||||
"edt_conf_fg_device_title" : "Device",
|
||||
"edt_conf_fg_display_title" : "Display",
|
||||
"edt_conf_fg_display_expl" : "Gebe an von welchem Desktop aufgenommen werden soll. (Multi Monitor Setup)",
|
||||
"edt_conf_bb_heading_title" : "Schwarze Balken Erkennung",
|
||||
"edt_conf_bb_threshold_title" : "Schwelle",
|
||||
"edt_conf_bb_threshold_expl" : "Wenn die Erkennung nicht funktioniert, erhöhe die Schwelle um auf 'graues' schwarz zu reagieren.",
|
||||
"edt_conf_bb_unknownFrameCnt_title" : "unknownFrameCnt",
|
||||
"edt_conf_bb_borderFrameCnt_title" : "borderFrameCnt",
|
||||
"edt_conf_bb_maxInconsistentCnt_title" : "maxInconsistentCn",
|
||||
"edt_conf_bb_blurRemoveCnt_title" : "blurRemoveCnt",
|
||||
"edt_conf_bb_mode_title" : "Modus",
|
||||
"edt_conf_bb_mode_expl" : "Algorithmus zur Auswertung. (siehe Wiki)",
|
||||
"edt_conf_kodic_heading_title" : "Kodi Überwachung",
|
||||
"edt_conf_kodic_kodiAddress_title" : "Kodi IP Adresse",
|
||||
"edt_conf_kodic_kodiAddress_expl" : "Die IP Adresse von Kodi.",
|
||||
"edt_conf_kodic_kodiTcpPort_title" : "Kodi TCP Port",
|
||||
"edt_conf_kodic_kodiTcpPort_expl" : "Der Kodi TCP Port.",
|
||||
"edt_conf_kodic_grabVideo_title" : "Video",
|
||||
"edt_conf_kodic_grabVideo_expl" : "Wenn aktiviert, ist die Aufnahme aktiv während ein Video abgespielt werden.",
|
||||
"edt_conf_kodic_grabPictures_title" : "Bilder",
|
||||
"edt_conf_kodic_grabPictures_expl" : "Wenn aktiviert, ist die Aufnahme aktiv während Bilder angezeigt werden.",
|
||||
"edt_conf_kodic_grabAudio_title" : "Audio",
|
||||
"edt_conf_kodic_grabAudio_expl" : "Wenn aktiviert, ist die Aufnahme aktiv während Musik abgespielt wird.",
|
||||
"edt_conf_kodic_grabMenu_title" : "Menü",
|
||||
"edt_conf_kodic_grabMenu_expl" : "Wenn aktiviert, ist die Aufnahme aktiv während du dich im Kodi Menü oder Nutzerauswahl befindest.",
|
||||
"edt_conf_kodic_grabPause_title" : "Pause",
|
||||
"edt_conf_kodic_grabPause_expl" : "Wenn aktiviert, ist die Aufnahme aktiv während Kodi pausiert (Video, Musik, Diashow).",
|
||||
"edt_conf_kodic_grabScreensaver_title" : "Bildschirmschoner",
|
||||
"edt_conf_kodic_grabScreensaver_expl" : "Wenn aktiviert, ist die Aufnahme aktiv während Kodi pausiert (Video, Musik, Diashow).",
|
||||
"edt_conf_kodic_enable3DDetection_title" : "Erkenne 3D",
|
||||
"edt_conf_kodic_enable3DDetection_expl" : "Wenn aktiviert, erkenne und wende den passenden 3D Modus an. (kein MVC und nicht für USB Aufnahme)",
|
||||
"edt_conf_fw_heading_title" : "Weiterleitung",
|
||||
"edt_conf_fw_json_title" : "Liste von JSON zielen",
|
||||
"edt_conf_fw_json_itemtitle" : "JSON Ziel",
|
||||
"edt_conf_fw_proto_title" : "Liste von PROTO zielen",
|
||||
"edt_conf_fw_proto_itemtitle" : "PROTO Ziel",
|
||||
"edt_conf_fw_json_title" : "Liste von Json zielen",
|
||||
"edt_conf_fw_json_expl" : "Ein Json Ziel pro Zeile. Bestehend aus IP:PORT (Beispiel: 127.0.0.1:19446)",
|
||||
"edt_conf_fw_json_itemtitle" : "Json Ziel",
|
||||
"edt_conf_fw_proto_title" : "Liste von Proto zielen",
|
||||
"edt_conf_fw_proto_expl" : "Ein Proto Ziel pro Zeile. Bestehend aus IP:PORT (Beispiel: 127.0.0.1:19447)",
|
||||
"edt_conf_fw_proto_itemtitle" : "Proto Ziel",
|
||||
"edt_conf_js_heading_title" : "JSON Server",
|
||||
"edt_conf_ps_heading_title" : "PROTO Server",
|
||||
"edt_conf_bobls_heading_title" : "Boblight Server",
|
||||
@ -316,6 +367,7 @@
|
||||
"edt_conf_udpl_shared_title" : "Gemeinsam genutzt",
|
||||
"edt_conf_webc_heading_title" : "Web Konfiguration",
|
||||
"edt_conf_webc_docroot_title" : "Verzeichnis",
|
||||
"edt_conf_webc_docroot_expl" : "Lokaler Pfad zum WebUI Wurzelverzeichnis (Nur für WebUI Entwickler)",
|
||||
"edt_conf_effp_paths_title" : "Effekt Pfad(e)",
|
||||
"edt_conf_effp_paths_itemtitle" : "Pfad",
|
||||
"edt_conf_effp_disable_title" : "Deaktivierte Effekte",
|
||||
|
@ -31,6 +31,7 @@
|
||||
"general_btn_ok" : "OK",
|
||||
"general_btn_abort" : "Abort",
|
||||
"general_btn_save" : "Save",
|
||||
"general_btn_restarthyperion" : "Restart Hyperion",
|
||||
"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:",
|
||||
@ -44,7 +45,6 @@
|
||||
"dashboard_componentbox_label_status" : "Status",
|
||||
"dashboard_newsbox_label_title" : "Latest Blog posts",
|
||||
"dashboard_alert_message_confedit" : "Your Hyperion configuration has been modified. To apply it, restart Hyperion.",
|
||||
"dashboard_alert_button_restarthyerion" : "Restart Hyperion",
|
||||
"main_menu_dashboard_token" : "Dashboard",
|
||||
"main_menu_configuration_token" : "Configuration",
|
||||
"main_menu_leds_conf_token" : "LED Hardware",
|
||||
@ -61,6 +61,8 @@
|
||||
"main_menu_input_selection_token" : "Eingabeauswahl",
|
||||
"main_menu_logging_token" : "Log",
|
||||
"main_menu_webconfig_token" : "Webconfiguration",
|
||||
"conf_helptable_option" : "Option",
|
||||
"conf_helptable_expl" : "Explanation",
|
||||
"conf_effects_label_intro" : "Setting up a booteffect/color that is visible after Hyperion startup. Configure a background effect/color which is active, when all capture sources are disabled (also temporarily via Kodi Watch)",
|
||||
"conf_leds_label_intro" : "The LED controller of youre choice is your way to output the led data via Raspberry PI GPIO, USB or network! Choose one, define your led layout and enjoy the light!",
|
||||
"conf_leds_nav_label_ledcontroller" : "LED Controller",
|
||||
@ -75,7 +77,7 @@
|
||||
"conf_leds_optgroup_debug" : "Debug",
|
||||
"conf_leds_layout_frame" : "Classic Layout (LED Frame)",
|
||||
"conf_leds_layout_matrix" : "Matrix Layout (LED Wall)",
|
||||
"conf_leds_layout_generatedconf" : "Generated/Actual LED Configuration",
|
||||
"conf_leds_layout_generatedconf" : "Generated/Current LED Configuration",
|
||||
"conf_leds_layout_button_savelay" : "Save Layout",
|
||||
"conf_leds_layout_button_updsim" : "Update Preview",
|
||||
"conf_leds_layout_peview" : "LED Layout Preview",
|
||||
@ -136,6 +138,9 @@
|
||||
"remote_optgroup_usreffets" : "User Effects",
|
||||
"remote_optgroup_syseffets" : "Provided Effects",
|
||||
"remote_help_text" : "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.",
|
||||
"remote_maptype_label" : "Mapping type",
|
||||
"remote_maptype_label_multicolor_mean" : "Multicolor",
|
||||
"remote_maptype_label_unicolor_mean" : "Unicolor",
|
||||
"hue_button_create_user_token" : "Create User",
|
||||
"hue_press_link_modal" : "Please press link button on the Hue Bridge.",
|
||||
"hue_failure_connection_token" : "Connection Timeout. Please press the button in time.",
|
||||
@ -148,7 +153,7 @@
|
||||
"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 Base-Effect:",
|
||||
"effectsconfigurator_button_saveeffect" : "Save Effect",
|
||||
"effectsconfigurator_label_effectname" : "Effect name:",
|
||||
"effectsconfigurator_label_effectname" : "Effect name",
|
||||
"effectsconfigurator_button_starttest" : "Start Effecttest",
|
||||
"effectsconfigurator_button_stoptest" : "Stop Effecttest",
|
||||
"effectsconfigurator_button_conttest" : "Toggle continuous testing",
|
||||
@ -201,6 +206,9 @@
|
||||
"InfoDialog_lang_text" : "If you don't like the result of the automatic language detection you could overwrite it here.",
|
||||
"InfoDialog_access_title" : "Level setting",
|
||||
"InfoDialog_access_text" : "Depending on settings level you could change more or less settings. 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!",
|
||||
"edt_dev_general_heading_title" : "General Settings",
|
||||
"edt_dev_general_name_title" : "Configuration name",
|
||||
"edt_dev_general_ledCount_title" : "Count of all hardware LEDs",
|
||||
@ -251,62 +259,105 @@
|
||||
"edt_dev_spec_ledIndex_title" : "LED index",
|
||||
"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_color_heading_title" : "Color Calibration",
|
||||
"edt_conf_smooth_heading_title" : "Smoothing",
|
||||
"edt_conf_smooth_type_title" : "Type",
|
||||
"edt_conf_smooth_type_expl" : "Type of smoothing.",
|
||||
"edt_conf_smooth_time_ms_title" : "Time",
|
||||
"edt_conf_smooth_time_ms_expl" : "How long should the smoothing gather pictures?",
|
||||
"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 light is faster than your TV.",
|
||||
"edt_conf_smooth_continuousOutput_title" : "Continuous output",
|
||||
"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.",
|
||||
"edt_conf_v4l2_input_title" : "Input",
|
||||
"edt_conf_v4l2_input_expl" : "Input of this path.",
|
||||
"edt_conf_v4l2_standard_title" : "Video standard",
|
||||
"edt_conf_v4l2_standard_expl" : "Select the video standard for your region.",
|
||||
"edt_conf_v4l2_width_title" : "Width",
|
||||
"edt_conf_v4l2_width_expl" : "The width of the picture. (-1 = auto width)",
|
||||
"edt_conf_v4l2_height_title" : "Height",
|
||||
"edt_conf_v4l2_height_expl" : "The height of the picture. (-1 = auto height)",
|
||||
"edt_conf_v4l2_frameDecimation_title" : "Frame decimation",
|
||||
"edt_conf_v4l2_frameDecimation_expl" : "The factor of frame decimation",
|
||||
"edt_conf_v4l2_sizeDecimation_title" : "Size decimation",
|
||||
"edt_conf_v4l2_sizeDecimation_expl" : "The factor of size decimation",
|
||||
"edt_conf_v4l2_mode_title" : "Mode",
|
||||
"edt_conf_v4l2_mode_expl" : "Modus of USB capture",
|
||||
"edt_conf_v4l2_useKodiChecker_title" : "Use Kodi Watch",
|
||||
"edt_conf_v4l2_useKodiChecker_expl" : "Start/stop capturing with Kodi Watch results.",
|
||||
"edt_conf_v4l2_cropLeft_title" : "Crop left",
|
||||
"edt_conf_v4l2_cropLeft_expl" : "Count of pixels on the left side that are removed from the picture.",
|
||||
"edt_conf_v4l2_cropRight_title" : "Crop right",
|
||||
"edt_conf_v4l2_cropRight_expl" : "Count of pixels on the right side that are removed from the picture.",
|
||||
"edt_conf_v4l2_cropTop_title" : "Crop top",
|
||||
"edt_conf_v4l2_cropTop_expl" : "Count of pixels on the top side that are removed from the picture.",
|
||||
"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_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",
|
||||
"edt_conf_v4l2_greenSignalThreshold_expl" : "Darkens low green values (recognized as black)",
|
||||
"edt_conf_v4l2_blueSignalThreshold_title" : "Blue signal threshold",
|
||||
"edt_conf_v4l2_blueSignalThreshold_expl" : "Darkens low blue values (recognized as black)",
|
||||
"edt_conf_fg_heading_title" : "Platform Capture",
|
||||
"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 fast new pictures are captured",
|
||||
"edt_conf_fg_horizontalPixelDecimation_title" : "Horizontal pixel decimation",
|
||||
"edt_conf_fg_horizontalPixelDecimation_expl" : "Horizontal pixel decimation (factor)",
|
||||
"edt_conf_fg_useXGetImage_title" : "Use XGetImage",
|
||||
"edt_conf_fg_useXGetImage_expl" : "XGetImage for newer X11 desktops",
|
||||
"edt_conf_fg_verticalPixelDecimation_title" : "Vertical pixel decimation",
|
||||
"edt_conf_fg_verticalPixelDecimation_expl" : "Vertical pixel decimation (factor)",
|
||||
"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, higher the threshold to adjust on 'greyish' black",
|
||||
"edt_conf_bb_unknownFrameCnt_title" : "unknownFrameCnt",
|
||||
"edt_conf_bb_borderFrameCnt_title" : "borderFrameCnt",
|
||||
"edt_conf_bb_maxInconsistentCnt_title" : "maxInconsistentCn",
|
||||
"edt_conf_bb_blurRemoveCnt_title" : "blurRemoveCnt",
|
||||
"edt_conf_bb_mode_title" : "Mode",
|
||||
"edt_conf_bb_mode_expl" : "Algorithm for processing. (see Wiki)",
|
||||
"edt_conf_kodic_heading_title" : "Kodi Watch",
|
||||
"edt_conf_kodic_kodiAddress_title" : "Kodi IP address",
|
||||
"edt_conf_kodic_kodiAddress_expl" : "The IP address of Kodi.",
|
||||
"edt_conf_kodic_kodiTcpPort_title" : "Kodi TCP port",
|
||||
"edt_conf_kodic_kodiTcpPort_expl" : "The TCP port of Kodi.",
|
||||
"edt_conf_kodic_grabVideo_title" : "Video",
|
||||
"edt_conf_kodic_grabVideo_expl" : "If checked, the capturing is enabled during video playback, else it's disabled.",
|
||||
"edt_conf_kodic_grabPictures_title" : "Pictures",
|
||||
"edt_conf_kodic_grabPictures_expl" : "If checked, the capturing is enabled on picture playback, else it's disabled.",
|
||||
"edt_conf_kodic_grabAudio_title" : "Audio",
|
||||
"edt_conf_kodic_grabAudio_expl" : "If checked, the capturing is enabled during audio playback, else it's disabled.",
|
||||
"edt_conf_kodic_grabMenu_title" : "Menu",
|
||||
"edt_conf_kodic_grabMenu_expl" : "If checked, the capturing is enabled in menu and login screen, else it's disabled.",
|
||||
"edt_conf_kodic_grabPause_title" : "Pause",
|
||||
"edt_conf_kodic_grabPause_expl" : "If checked, the capturing is enabled in pause mode (Music, Video, Diashow), else it's disabled.",
|
||||
"edt_conf_kodic_grabScreensaver_title" : "Screensaver",
|
||||
"edt_conf_kodic_grabScreensaver_expl" : "If checked, the capturing is enabled during screensaver, else it's disabled.",
|
||||
"edt_conf_kodic_enable3DDetection_title" : "Detect 3D",
|
||||
"edt_conf_kodic_enable3DDetection_expl" : "Detect which 3D mode Kodi is running. (no MVC and not for USB capture)",
|
||||
"edt_conf_fw_heading_title" : "Forwarder",
|
||||
"edt_conf_fw_json_title" : "List of JSON clients",
|
||||
"edt_conf_fw_json_itemtitle" : "JSON target",
|
||||
"edt_conf_fw_proto_title" : "List of PROTO clients",
|
||||
"edt_conf_fw_proto_itemtitle" : "PROTO target",
|
||||
"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_itemtitle" : "Json target",
|
||||
"edt_conf_fw_proto_title" : "List of proto clients",
|
||||
"edt_conf_fw_proto_expl" : "One proto target per line. Contains IP:PORT (Example: 127.0.0.1:19447)",
|
||||
"edt_conf_fw_proto_itemtitle" : "Proto target",
|
||||
"edt_conf_js_heading_title" : "JSON Server",
|
||||
"edt_conf_ps_heading_title" : "PROTO Server",
|
||||
"edt_conf_bobls_heading_title" : "Boblight Server",
|
||||
@ -316,6 +367,7 @@
|
||||
"edt_conf_udpl_shared_title" : "Shared",
|
||||
"edt_conf_webc_heading_title" : "Web Configuration",
|
||||
"edt_conf_webc_docroot_title" : "Document Root",
|
||||
"edt_conf_webc_docroot_expl" : "Local webinterface root path (just for webui developer)",
|
||||
"edt_conf_effp_paths_title" : "Effect Path(s)",
|
||||
"edt_conf_effp_paths_itemtitle" : "Path",
|
||||
"edt_conf_effp_disable_title" : "Disabed Effects",
|
||||
|
@ -216,11 +216,11 @@
|
||||
<div id="hyperion_reload_notify" class="alert alert-warning" style="display:none;padding:10px;margin:0">
|
||||
<div class="panel-danger" style="text-align:right">
|
||||
<div style="float:left;line-height:33px;" data-i18n="dashboard_alert_message_confedit">Your Hyperion configuration has been modified. To apply it, restart Hyperion.</div>
|
||||
<button id="btn_hyperion_reload" class="btn btn-danger" data-i18n="dashboard_alert_button_restarthyerion">Restart Hyperion</button>
|
||||
<button id="btn_hyperion_reload" class="btn btn-danger" data-i18n="general_btn_restarthyperion">Restart Hyperion</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="page-content" />
|
||||
<div id="page-content"></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@ -247,6 +247,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Bootstrap Core JavaScript -->
|
||||
<script src="/js/lib/bootstrap.min.js"></script>
|
||||
|
@ -30,7 +30,7 @@ JSONEditor.defaults.editors.colorPicker = JSONEditor.defaults.editors.string.ext
|
||||
build: function() {
|
||||
this._super();
|
||||
var myinput = this;
|
||||
$(myinput.input).parent().attr("class", $(myinput.input).parent().attr('class') + " colorpicker-element");
|
||||
$(myinput.input).parent().attr("class", $(myinput.input).parent().attr('class') + " colorpicker-element input-group");
|
||||
$(myinput.input).append("<span class='input-group-addon' id='event_catcher'><i></i></span>");
|
||||
$(myinput.input).colorpicker({
|
||||
format: 'rgb',
|
||||
@ -116,7 +116,7 @@ $(hyperion).one("cmd-config-getschema", function(event) {
|
||||
if (effects[idx].schemaContent.script == this.value){
|
||||
effects_editor = createJsonEditor('editor_container', {
|
||||
args : effects[idx].schemaContent,
|
||||
},false);
|
||||
},false, true);
|
||||
effectPy = ':';
|
||||
effectPy += effects[idx].schemaContent.script;
|
||||
}
|
||||
@ -130,7 +130,7 @@ $(hyperion).one("cmd-config-getschema", function(event) {
|
||||
});
|
||||
});
|
||||
|
||||
$("#name-input").on('change keydown click', function(event) {
|
||||
$("#name-input").on('change keydown click focusout', function(event) {
|
||||
effectName = $(this).val();
|
||||
if ($(this).val() == '') {
|
||||
effects_editor.disable();
|
||||
|
@ -1,17 +1,26 @@
|
||||
|
||||
|
||||
var conf_editor = null;
|
||||
var conf_editor_v4l2 = null;
|
||||
var conf_editor_fg = null;
|
||||
$(hyperion).one("cmd-config-getschema", function(event) {
|
||||
schema = parsedConfSchemaJSON.properties;
|
||||
conf_editor = createJsonEditor('editor_container', {
|
||||
framegrabber: schema.framegrabber,
|
||||
grabberV4L2 : schema.grabberV4L2
|
||||
}, true);
|
||||
conf_editor_fg = createJsonEditor('editor_container_fg', {
|
||||
framegrabber: schema.framegrabber
|
||||
}, true, true);
|
||||
|
||||
|
||||
$('#btn_submit').off().on('click',function() {
|
||||
requestWriteConfig(conf_editor.getValue());
|
||||
$('#btn_submit_fg').off().on('click',function() {
|
||||
requestWriteConfig(conf_editor_fg.getValue());
|
||||
});
|
||||
|
||||
conf_editor_v4l2 = createJsonEditor('editor_container_v4l2', {
|
||||
grabberV4L2 : schema.grabberV4L2
|
||||
}, true, true);
|
||||
|
||||
$('#btn_submit_v4l2').off().on('click',function() {
|
||||
requestWriteConfig(conf_editor_v4l2.getValue());
|
||||
});
|
||||
|
||||
$('#opt_expl_fg').html(createHelpTable(schema.framegrabber.properties, '<i class="fa fa-camera fa-fw"></i>'+$.i18n("edt_conf_fg_heading_title")));
|
||||
$('#opt_expl_v4l2').html(createHelpTable(schema.grabberV4L2.items.properties, '<i class="fa fa-camera fa-fw"></i>'+$.i18n("edt_conf_v4l2_heading_title")));
|
||||
});
|
||||
|
||||
|
||||
|
@ -1,4 +1,6 @@
|
||||
$(document).ready( function() {
|
||||
var uiLock = false;
|
||||
|
||||
$("#main-nav").hide();
|
||||
$("#loading_overlay").addClass("overlay");
|
||||
loadContentTo("#container_connection_lost","connection_lost");
|
||||
@ -23,12 +25,6 @@ $(document).ready( function() {
|
||||
currentVersion = parsedServerInfoJSON.info.hyperion[0].version;
|
||||
cleanCurrentVersion = currentVersion.replace(/\./g, '');
|
||||
|
||||
// ToDo lock config menu and display appropriate message
|
||||
if (! parsedServerInfoJSON.info.hyperion[0].config_writeable)
|
||||
{
|
||||
console.log("ATTENTION config is not writable");
|
||||
}
|
||||
|
||||
if (parsedServerInfoJSON.info.hyperion[0].config_modified)
|
||||
$("#hyperion_reload_notify").fadeIn("fast");
|
||||
else
|
||||
@ -78,7 +74,7 @@ $(document).ready( function() {
|
||||
});
|
||||
}
|
||||
|
||||
if ($("#logmessages").length == 0)
|
||||
if ($("#logmessages").length == 0 && loggingStreamActive)
|
||||
{
|
||||
requestLoggingStop();
|
||||
}
|
||||
@ -87,6 +83,19 @@ $(document).ready( function() {
|
||||
$("#loading_overlay").removeClass("overlay");
|
||||
$("#main-nav").show('slide', {direction: 'left'}, 1000);
|
||||
|
||||
if (!parsedServerInfoJSON.info.hyperion[0].config_writeable)
|
||||
{
|
||||
showInfoDialog('uilock',$.i18n('InfoDialog_nowrite_title'),$.i18n('InfoDialog_nowrite_text'));
|
||||
$('#wrapper').toggle(false);
|
||||
uiLock = true;
|
||||
}
|
||||
else if (uiLock)
|
||||
{
|
||||
$("#modal_dialog").modal('hide');
|
||||
$('#wrapper').toggle(true);
|
||||
uiLock = false;
|
||||
}
|
||||
|
||||
}); // end cmd-serverinfo
|
||||
|
||||
$(hyperion).one("cmd-config-getschema", function(event) {
|
||||
@ -108,11 +117,7 @@ $(document).ready( function() {
|
||||
});
|
||||
|
||||
$("#btn_hyperion_reload").on("click", function(){
|
||||
$(hyperion).off();
|
||||
requestServerConfigReload();
|
||||
watchdog = 1;
|
||||
$("#wrapper").fadeOut("slow");
|
||||
cron();
|
||||
initRestart();
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -4,18 +4,19 @@ $(hyperion).one("cmd-config-getschema", function(event) {
|
||||
schema = parsedConfSchemaJSON.properties;
|
||||
conf_editor = createJsonEditor('editor_container', {
|
||||
kodiVideoChecker: schema.kodiVideoChecker
|
||||
}, true);
|
||||
|
||||
$('#editor_container h3').remove();
|
||||
}, true, true);
|
||||
|
||||
$('#btn_submit').off().on('click',function() {
|
||||
requestWriteConfig(conf_editor.getValue());
|
||||
});
|
||||
|
||||
$('#opt_expl').html(createHelpTable(schema.kodiVideoChecker.properties, '<i class="fa fa-play-circle-o fa-fw"></i>'+$.i18n("conf_kodi_label_title")));
|
||||
});
|
||||
|
||||
|
||||
$(document).ready( function() {
|
||||
performTranslation();
|
||||
requestServerConfigSchema();
|
||||
|
||||
});
|
||||
|
||||
|
@ -451,7 +451,6 @@ $(document).ready(function() {
|
||||
$('#leds_canvas').html(leds_html);
|
||||
$('#led_0').css({"z-index":"10"});
|
||||
|
||||
$('#leds_custom_updsim').trigger('click');
|
||||
$('#image_preview').hide();
|
||||
$('#image_preview').attr("width" , $('#leds_canvas').innerWidth()-2);
|
||||
$('#image_preview').attr("height", $('#leds_canvas').innerHeight()-2);
|
||||
@ -520,6 +519,7 @@ $(document).ready(function() {
|
||||
var target = $(e.target).attr("href") // activated tab
|
||||
if (target == "#menu_gencfg" && !ledsCustomCfgInitialized)
|
||||
{
|
||||
$('#leds_custom_updsim').trigger('click');
|
||||
ledsCustomCfgInitialized = true;
|
||||
}
|
||||
});
|
||||
|
@ -25,7 +25,7 @@ $(document).ready(function() {
|
||||
{
|
||||
loggingHandlerInstalled = true;
|
||||
$(hyperion).on("cmd-logging-update",function(event){
|
||||
if ($("#logmessages").length == 0)
|
||||
if ($("#logmessages").length == 0 && loggingStreamActive)
|
||||
{
|
||||
requestLoggingStop();
|
||||
}
|
||||
|
@ -1,18 +1,59 @@
|
||||
|
||||
var conf_editor = null;
|
||||
var conf_editor_json = null;
|
||||
var conf_editor_proto = null;
|
||||
var conf_editor_bobl = null;
|
||||
var conf_editor_udpl = null;
|
||||
var conf_editor_forw = null;
|
||||
|
||||
$(hyperion).one("cmd-config-getschema", function(event) {
|
||||
schema = parsedConfSchemaJSON.properties;
|
||||
conf_editor = createJsonEditor('editor_container', {
|
||||
jsonServer : schema.jsonServer,
|
||||
protoServer : schema.protoServer,
|
||||
boblightServer : schema.boblightServer,
|
||||
udpListener : schema.udpListener,
|
||||
forwarder : schema.forwarder,
|
||||
}, true);
|
||||
|
||||
$('#btn_submit').off().on('click',function() {
|
||||
requestWriteConfig(conf_editor.getValue());
|
||||
schema = parsedConfSchemaJSON.properties;
|
||||
|
||||
conf_editor_json = createJsonEditor('editor_container_jsonserver', {
|
||||
jsonServer : schema.jsonServer
|
||||
}, true, true);
|
||||
|
||||
$('#btn_submit_jsonserver').off().on('click',function() {
|
||||
requestWriteConfig(conf_editor_json.getValue());
|
||||
});
|
||||
|
||||
conf_editor_proto = createJsonEditor('editor_container_protoserver', {
|
||||
protoServer : schema.protoServer
|
||||
}, true, true);
|
||||
|
||||
$('#btn_submit_protoserver').off().on('click',function() {
|
||||
requestWriteConfig(conf_editor_proto.getValue());
|
||||
});
|
||||
|
||||
conf_editor_bobl = createJsonEditor('editor_container_boblightserver', {
|
||||
boblightServer : schema.boblightServer
|
||||
}, true, true);
|
||||
|
||||
$('#btn_submit_boblightserver').off().on('click',function() {
|
||||
requestWriteConfig(conf_editor_bobl.getValue());
|
||||
});
|
||||
|
||||
conf_editor_udpl = createJsonEditor('editor_container_udplistener', {
|
||||
udpListener : schema.udpListener
|
||||
}, true, true);
|
||||
|
||||
$('#btn_submit_udplistener').off().on('click',function() {
|
||||
requestWriteConfig(conf_editor_udpl.getValue());
|
||||
});
|
||||
|
||||
conf_editor_forw = createJsonEditor('editor_container_forwarder', {
|
||||
forwarder : schema.forwarder
|
||||
}, true, true);
|
||||
|
||||
$('#btn_submit_forwarder').off().on('click',function() {
|
||||
requestWriteConfig(conf_editor_forw.getValue());
|
||||
});
|
||||
|
||||
$('#opt_expl_jsonserver').html(createHelpTable(schema.jsonServer.properties, '<i class="fa fa-sitemap fa-fw"></i>'+$.i18n("edt_conf_js_heading_title")));
|
||||
$('#opt_expl_protoserver').html(createHelpTable(schema.protoServer.properties, '<i class="fa fa-sitemap fa-fw"></i>'+$.i18n("edt_conf_ps_heading_title")));
|
||||
$('#opt_expl_boblightserver').html(createHelpTable(schema.boblightServer.properties, '<i class="fa fa-sitemap fa-fw"></i>'+$.i18n("edt_conf_bobls_heading_title")));
|
||||
$('#opt_expl_udplistener').html(createHelpTable(schema.udpListener.properties, '<i class="fa fa-sitemap fa-fw"></i>'+$.i18n("edt_conf_udpl_heading_title")));
|
||||
$('#opt_expl_forwarder').html(createHelpTable(schema.forwarder.properties, '<i class="fa fa-sitemap fa-fw"></i>'+$.i18n("edt_conf_fw_heading_title")));
|
||||
});
|
||||
|
||||
|
||||
|
@ -12,9 +12,11 @@
|
||||
if (active) btn_type = "warning";
|
||||
if (visible) btn_type = "success";
|
||||
|
||||
if(btn_type != 'default')
|
||||
data += '<button id="srcBtn'+i+'" type="button" class="btn btn-lg btn-'+btn_type+' btn_input_selection" style="margin:10px;min-width:200px" onclick="requestSetSource('+priority+');">'+owner+'<span style="font-size:70% !important;"> ('+priority+')</span></button><br/>';
|
||||
}
|
||||
data += '<button id="srcBtn'+i+'" type="button" class="btn btn-lg btn-info btn_input_selection" style="margin:10px;min-width:200px" onclick="requestSetSource(\'auto\');">'+$.i18n('remote_input_label_autoselect')+'</button><br/>';
|
||||
var autostate = (parsedServerInfoJSON.info.priorities_autoselect? "btn-success" : "btn-danger");
|
||||
data += '<button id="srcBtn'+i+'" type="button" class="btn btn-lg '+autostate+' btn_input_selection" style="margin:10px;min-width:200px" onclick="requestSetSource(\'auto\');">'+$.i18n('remote_input_label_autoselect')+'</button><br/>';
|
||||
$('#hyperion_inputs').html(data);
|
||||
|
||||
var max_width=200;
|
||||
@ -25,6 +27,23 @@
|
||||
$('.btn_input_selection').css("min-width",max_width+"px");
|
||||
}
|
||||
|
||||
function updateLedMapping()
|
||||
{
|
||||
mappingList = ["multicolor_mean", "unicolor_mean"];
|
||||
mapping = parsedServerInfoJSON.info.ledMAppingType;
|
||||
|
||||
$('#mappingsbutton').html("");
|
||||
for(var ix = 0; ix < mappingList.length; ix++)
|
||||
{
|
||||
if(mapping == mappingList[ix])
|
||||
btn_style = 'btn-success';
|
||||
else
|
||||
btn_style = 'btn-warning';
|
||||
|
||||
$('#mappingsbutton').append('<button type="button" id="lmBtn_'+mappingList[ix]+'" class="btn btn-lg '+btn_style+'" style="margin:10px;min-width:200px" onclick="requestMappingType(\''+mappingList[ix]+'\');">'+$.i18n('remote_maptype_label_'+mappingList[ix])+'</button><br/>');
|
||||
}
|
||||
}
|
||||
|
||||
function updateComponents(event) {
|
||||
if ($('#componentsbutton').length == 0)
|
||||
{
|
||||
@ -33,12 +52,12 @@
|
||||
else
|
||||
{
|
||||
updateInputSelect();
|
||||
updateLedMapping();
|
||||
components = event.response.info.components;
|
||||
// create buttons
|
||||
$('#componentsbutton').html("");
|
||||
for ( idx=0; idx<components.length;idx++)
|
||||
{
|
||||
//components_html += '<tr><td>'+(components[idx].title)+'</td><td><i class="fa fa-circle component-'+(components[idx].enabled?"on":"off")+'"></i></td></tr>';
|
||||
enable_style = (components[idx].enabled? "btn-success" : "btn-danger");
|
||||
enable_icon = (components[idx].enabled? "fa-play" : "fa-stop");
|
||||
comp_name = components[idx].name;
|
||||
@ -94,15 +113,6 @@ $(document).ready(function() {
|
||||
$(function() {
|
||||
$('#cp2').colorpicker({
|
||||
format: 'rgb',
|
||||
|
||||
colorSelectors: {
|
||||
'default': '#777777',
|
||||
'primary': '#337ab7',
|
||||
'success': '#5cb85c',
|
||||
'info' : '#5bc0de',
|
||||
'warning': '#f0ad4e',
|
||||
'danger' : '#d9534f'
|
||||
},
|
||||
customClass: 'colorpicker-2x',
|
||||
sliders: {
|
||||
saturation: {
|
||||
|
@ -19,7 +19,16 @@ var loggingStreamActive = false;
|
||||
var loggingHandlerInstalled = false;
|
||||
var watchdog = 0;
|
||||
var debugMessagesActive = true;
|
||||
//
|
||||
|
||||
function initRestart()
|
||||
{
|
||||
$(hyperion).off();
|
||||
requestServerConfigReload();
|
||||
watchdog = 1;
|
||||
$("#wrapper").fadeOut("slow");
|
||||
cron();
|
||||
}
|
||||
|
||||
function cron()
|
||||
{
|
||||
if ( watchdog > 2)
|
||||
@ -35,6 +44,8 @@ function cron()
|
||||
$(hyperion).trigger({type:"cron"});
|
||||
}
|
||||
|
||||
setInterval(function(){ watchdog = 0 }, 8000);
|
||||
|
||||
// init websocket to hyperion and bind socket events to jquery events of $(hyperion) object
|
||||
function initWebSocket()
|
||||
{
|
||||
@ -251,3 +262,8 @@ function requestLoggingStop()
|
||||
sendToHyperion("logging", "stop");
|
||||
}
|
||||
|
||||
function requestMappingType(type)
|
||||
{
|
||||
sendToHyperion("processing", "", '"mappingType": "'+type+'"');
|
||||
}
|
||||
|
||||
|
@ -1428,7 +1428,7 @@ JSONEditor.AbstractEditor = Class.extend({
|
||||
|
||||
if(!options.path && !this.schema.id) this.schema.id = 'root';
|
||||
this.path = options.path || 'root';
|
||||
this.formname = options.formname || this.path.replace(/\.([^.]+)/g,'[$1]');
|
||||
this.formname = options.formname || this.path.replace(/\.([^.]+)/g,'_$1');
|
||||
if(this.jsoneditor.options.form_name_root) this.formname = this.formname.replace(/^root\[/,this.jsoneditor.options.form_name_root+'[');
|
||||
this.key = this.path.split('.').pop();
|
||||
this.parent = options.parent;
|
||||
@ -1463,7 +1463,8 @@ JSONEditor.AbstractEditor = Class.extend({
|
||||
|
||||
if(this.schema.access){
|
||||
if(this.schema.access == 'expert' && storedAccess != 'expert'){
|
||||
this.disable();
|
||||
this.container.style.display = "none";
|
||||
//this.disable();
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -1885,12 +1886,12 @@ JSONEditor.defaults.editors.string = JSONEditor.AbstractEditor.extend({
|
||||
register: function() {
|
||||
this._super();
|
||||
if(!this.input) return;
|
||||
this.input.setAttribute('name',this.formname);
|
||||
this.input.setAttribute('id',this.formname);
|
||||
},
|
||||
unregister: function() {
|
||||
this._super();
|
||||
if(!this.input) return;
|
||||
this.input.removeAttribute('name');
|
||||
this.input.removeAttribute('id');
|
||||
},
|
||||
setValue: function(value,initial,from_template) {
|
||||
var self = this;
|
||||
@ -1953,6 +1954,8 @@ JSONEditor.defaults.editors.string = JSONEditor.AbstractEditor.extend({
|
||||
if(this.schema.description) this.description = this.theme.getFormInputDescription(this.schema.description);
|
||||
if(this.schema.append) this.append = this.theme.getFormInputAppend(this.getAppend());
|
||||
|
||||
this.placeholder = this.schema.default;
|
||||
|
||||
this.format = this.schema.format;
|
||||
if(!this.format && this.schema.media && this.schema.media.type) {
|
||||
this.format = this.schema.media.type.replace(/(^(application|text)\/(x-)?(script\.)?)|(-source$)/g,'');
|
||||
@ -2144,8 +2147,10 @@ JSONEditor.defaults.editors.string = JSONEditor.AbstractEditor.extend({
|
||||
}
|
||||
|
||||
if(this.format) this.input.setAttribute('data-schemaformat',this.format);
|
||||
if(this.defaultValue) this.input.setAttribute('data-schemaformat',this.format);
|
||||
if(this.formname)this.label.setAttribute('for',this.formname);
|
||||
|
||||
this.control = this.theme.getFormControl(this.label, this.input, this.description, this.append);
|
||||
this.control = this.theme.getFormControl(this.label, this.input, this.description, this.append, this.placeholder);
|
||||
this.container.appendChild(this.control);
|
||||
|
||||
// Any special formatting that needs to happen after the input is added to the dom
|
||||
@ -2740,12 +2745,6 @@ JSONEditor.defaults.editors.object = JSONEditor.AbstractEditor.extend({
|
||||
this.container.appendChild(this.description);
|
||||
}
|
||||
|
||||
// Appends
|
||||
if(this.schema.append) {
|
||||
this.append = this.theme.getAppend(this.schema.append);
|
||||
this.container.appendChild(this.append);
|
||||
}
|
||||
|
||||
// Validation error placeholder area
|
||||
this.error_holder = document.createElement('div');
|
||||
this.container.appendChild(this.error_holder);
|
||||
@ -4878,12 +4877,12 @@ JSONEditor.defaults.editors.select = JSONEditor.AbstractEditor.extend({
|
||||
register: function() {
|
||||
this._super();
|
||||
if(!this.input) return;
|
||||
this.input.setAttribute('name',this.formname);
|
||||
this.input.setAttribute('id',this.formname);
|
||||
},
|
||||
unregister: function() {
|
||||
this._super();
|
||||
if(!this.input) return;
|
||||
this.input.removeAttribute('name');
|
||||
this.input.removeAttribute('id');
|
||||
},
|
||||
getNumColumns: function() {
|
||||
if(!this.enum_options) return 3;
|
||||
@ -5032,6 +5031,8 @@ JSONEditor.defaults.editors.select = JSONEditor.AbstractEditor.extend({
|
||||
self.onInputChange();
|
||||
});
|
||||
|
||||
if(this.formname)this.label.setAttribute('for',this.formname);
|
||||
|
||||
this.control = this.theme.getFormControl(this.label, this.input, this.description);
|
||||
this.container.appendChild(this.control);
|
||||
|
||||
@ -6023,6 +6024,8 @@ JSONEditor.defaults.editors.checkbox = JSONEditor.AbstractEditor.extend({
|
||||
if(this.options.compact) this.container.className += ' compact';
|
||||
|
||||
this.input = this.theme.getCheckbox();
|
||||
if(this.formname)this.label.setAttribute('for',this.formname);
|
||||
if(this.formname)this.input.setAttribute('id',this.formname);
|
||||
this.control = this.theme.getFormControl(this.label, this.input, this.description);
|
||||
|
||||
if(this.schema.readOnly || this.schema.readonly) {
|
||||
@ -6227,18 +6230,21 @@ JSONEditor.AbstractTheme = Class.extend({
|
||||
},
|
||||
getCheckboxLabel: function(text) {
|
||||
var el = this.getFormInputLabel(text);
|
||||
el.style.fontWeight = 'normal';
|
||||
el.style.fontWeight = 'bold';
|
||||
return el;
|
||||
},
|
||||
getHeader: function(text) {
|
||||
var el = document.createElement('h3');
|
||||
if(typeof text === "string") {
|
||||
if(text.innerHTML == ''){
|
||||
text.style.display = 'none';
|
||||
return text;
|
||||
}
|
||||
else if(typeof text === "string") {
|
||||
el.textContent = text;
|
||||
}
|
||||
else {
|
||||
el.appendChild(text);
|
||||
}
|
||||
|
||||
return el;
|
||||
},
|
||||
getCheckbox: function() {
|
||||
@ -6547,20 +6553,23 @@ JSONEditor.defaults.themes.bootstrap3 = JSONEditor.AbstractTheme.extend({
|
||||
}
|
||||
return el;
|
||||
},
|
||||
getFormControl: function(label, input, description, append) {
|
||||
getFormControl: function(label, input, description, append, placeholder) {
|
||||
var group = document.createElement('div');
|
||||
var subgroup = document.createElement('div');
|
||||
|
||||
if(placeholder)
|
||||
input.setAttribute('placeholder',placeholder);
|
||||
|
||||
if (input.type === 'checkbox'){
|
||||
var helplabel = document.createElement("label")
|
||||
|
||||
group.className += ' form-group';
|
||||
group.style.minHeight = "30px";
|
||||
label.className += ' col-form-label col-sm-2';
|
||||
label.className += ' col-form-label col-sm-5 col-md-3 col-lg-5 col-xxl-4';
|
||||
label.style.fontWeight = "bold";
|
||||
group.appendChild(label);
|
||||
group.appendChild(subgroup);
|
||||
subgroup.className += 'checkbox col-sm-10';
|
||||
subgroup.className += 'checkbox col-sm-7 col-md-9 col-lg-7 col-xxl-8';
|
||||
subgroup.style.marginTop = "0px";
|
||||
subgroup.appendChild(input);
|
||||
subgroup.appendChild(helplabel);
|
||||
@ -6571,22 +6580,22 @@ JSONEditor.defaults.themes.bootstrap3 = JSONEditor.AbstractTheme.extend({
|
||||
else if (append){
|
||||
group.className += ' form-group';
|
||||
if(label) {
|
||||
label.className += ' col-form-label col-sm-2';
|
||||
label.className += ' col-form-label col-sm-5 col-md-3 col-lg-5 col-xxl-4';
|
||||
group.appendChild(label);
|
||||
}
|
||||
group.appendChild(subgroup);
|
||||
subgroup.className += 'col-sm-10 input-group';
|
||||
subgroup.className += ' col-sm-7 col-md-9 col-lg-7 input-group col-xxl-8';
|
||||
subgroup.appendChild(input);
|
||||
subgroup.appendChild(append);
|
||||
}
|
||||
else {
|
||||
group.className += ' form-group';
|
||||
if(label) {
|
||||
label.className += ' col-form-label col-sm-2';
|
||||
label.className += ' col-form-label col-sm-5 col-md-3 col-lg-5 col-xxl-4';
|
||||
group.appendChild(label);
|
||||
}
|
||||
group.appendChild(subgroup);
|
||||
subgroup.className += ' input-group col-sm-10';
|
||||
subgroup.className += ' input-group col-sm-7 col-md-9 col-lg-7 col-xxl-8';
|
||||
subgroup.appendChild(input);
|
||||
}
|
||||
|
||||
@ -6625,7 +6634,7 @@ JSONEditor.defaults.themes.bootstrap3 = JSONEditor.AbstractTheme.extend({
|
||||
},
|
||||
getButton: function(text, icon, title) {
|
||||
var el = this._super(text, icon, title);
|
||||
el.className += 'btn btn-default';
|
||||
el.className += 'btn btn-sm btn-primary';
|
||||
return el;
|
||||
},
|
||||
getTable: function() {
|
||||
|
@ -82,6 +82,10 @@ function showInfoDialog(type,header,message,btnid)
|
||||
$('#modal_dialog .modal-footer-button').html('<button type="button" id="'+btnid+'" class="btn btn-success" data-dismiss="modal">'+$.i18n('general_btn_save')+'</button>');
|
||||
$('#modal_dialog .modal-footer-button').append('<button type="button" class="btn btn-danger" data-dismiss="modal">'+$.i18n('general_btn_abort')+'</button>');
|
||||
}
|
||||
else if (type == "uilock"){
|
||||
$('#modal_dialog .modal-bodyicon').html('<img src="img/hyperion/hyperionlogo.png" alt="Redefine ambient light!">');
|
||||
$('#modal_dialog .modal-footer-button').html('<b>'+$.i18n('InfoDialog_nowrite_foottext')+'</b>');
|
||||
}
|
||||
|
||||
$("#modal_dialog").modal({
|
||||
backdrop : "static",
|
||||
@ -104,7 +108,7 @@ function isJsonString(str)
|
||||
}
|
||||
|
||||
|
||||
function createJsonEditor(container,schema,setconfig)
|
||||
function createJsonEditor(container,schema,setconfig,usePanel)
|
||||
{
|
||||
$('#'+container).off();
|
||||
$('#'+container).html("");
|
||||
@ -125,11 +129,12 @@ function createJsonEditor(container,schema,setconfig)
|
||||
}
|
||||
});
|
||||
|
||||
$('#editor_container .well').css("background-color","white");
|
||||
$('#editor_container .well').css("border","none");
|
||||
$('#editor_container .well').css("box-shadow","none");
|
||||
$('#editor_container .btn').addClass("btn-primary");
|
||||
$('#editor_container h3').first().remove();
|
||||
if(usePanel)
|
||||
{
|
||||
$('#'+container+' .well').first().removeClass('well well-sm');
|
||||
$('#'+container+' h3').remove();
|
||||
$('#'+container+' .well').first().removeClass('well well-sm');
|
||||
}
|
||||
|
||||
if (setconfig)
|
||||
{
|
||||
@ -142,6 +147,80 @@ function createJsonEditor(container,schema,setconfig)
|
||||
return editor;
|
||||
}
|
||||
|
||||
function createTableTh(th1, th2){
|
||||
var elth1 = document.createElement('th');
|
||||
var elth2 = document.createElement('th');
|
||||
var tr = document.createElement('tr');
|
||||
|
||||
elth1.innerHTML = th1;
|
||||
elth2.innerHTML = th2;
|
||||
tr.appendChild(elth1);
|
||||
tr.appendChild(elth2);
|
||||
|
||||
return tr;
|
||||
}
|
||||
|
||||
function createTableTd(td1, td2){
|
||||
var eltd1 = document.createElement('td');
|
||||
var eltd2 = document.createElement('td');
|
||||
var tr = document.createElement('tr');
|
||||
|
||||
eltd1.innerHTML = td1;
|
||||
eltd2.innerHTML = td2;
|
||||
tr.appendChild(eltd1);
|
||||
tr.appendChild(eltd2);
|
||||
|
||||
return tr;
|
||||
}
|
||||
|
||||
function createHelpTable(list, phead){
|
||||
var table = document.createElement('table');
|
||||
var thead = document.createElement('thead');
|
||||
var tbody = document.createElement('tbody');
|
||||
|
||||
table.className = 'table table-hover borderless';
|
||||
|
||||
thead.appendChild(createTableTh($.i18n('conf_helptable_option'), $.i18n('conf_helptable_expl')));
|
||||
for (key in list){
|
||||
text = list[key].title.replace('title', 'expl');
|
||||
tbody.appendChild(createTableTd($.i18n(list[key].title), $.i18n(text)));
|
||||
}
|
||||
table.appendChild(thead);
|
||||
table.appendChild(tbody);
|
||||
|
||||
return createPanel(phead, table);
|
||||
}
|
||||
|
||||
function createPanel(head, body, footer, type){
|
||||
var p = document.createElement('div');
|
||||
var phead = document.createElement('div');
|
||||
var pbody = document.createElement('div');
|
||||
var pfooter = document.createElement('div');
|
||||
|
||||
if(typeof type == 'undefined')
|
||||
type = 'panel-default';
|
||||
|
||||
p.className = 'panel '+type;
|
||||
phead.className = 'panel-heading';
|
||||
pbody.className = 'panel-body';
|
||||
pfooter.className = 'panel-footer';
|
||||
|
||||
phead.innerHTML = head;
|
||||
|
||||
if(typeof body != 'undefined')
|
||||
pbody.appendChild(body);
|
||||
|
||||
pfooter.innerHTML = footer;
|
||||
|
||||
p.appendChild(phead);
|
||||
p.appendChild(pbody);
|
||||
|
||||
if(typeof footer != 'undefined')
|
||||
p.appendChild(pfooter);
|
||||
|
||||
return p;
|
||||
}
|
||||
|
||||
function createSelGroup(group)
|
||||
{
|
||||
var el = document.createElement('optgroup');
|
||||
@ -176,7 +255,7 @@ function createSel(array, group)
|
||||
|
||||
function performTranslation()
|
||||
{
|
||||
$('#wrapper').i18n();
|
||||
$('[data-i18n]').i18n();
|
||||
}
|
||||
|
||||
function encode_utf8(s)
|
||||
|
@ -4,7 +4,7 @@
|
||||
"args" :
|
||||
{
|
||||
"sleepTime" : 0.15,
|
||||
"brightness" : 0.50,
|
||||
"brightness" : 1.0,
|
||||
"color" : [ 255, 138, 0 ],
|
||||
"candles" : "all"
|
||||
}
|
||||
|
@ -36,15 +36,17 @@
|
||||
"title":"edt_eff_colorshift_title",
|
||||
"default": 0.01,
|
||||
"minimum" : 0.00,
|
||||
"maximum": 1,
|
||||
"maximum": 0.3,
|
||||
"step": 0.01,
|
||||
"propertyOrder" : 4
|
||||
},
|
||||
"brightness": {
|
||||
"type": "number",
|
||||
"title":"edt_eff_brightness_title",
|
||||
"default": 0.5,
|
||||
"default": 1,
|
||||
"minimum" : 0.01,
|
||||
"maximum": 1,
|
||||
"step": 0.1,
|
||||
"propertyOrder" : 5
|
||||
},
|
||||
"sleepTime": {
|
||||
@ -53,6 +55,8 @@
|
||||
"default": 0.15,
|
||||
"minimum" : 0.01,
|
||||
"maximum": 1,
|
||||
"step": 0.01,
|
||||
"append" : "edt_append_s",
|
||||
"propertyOrder" : 6
|
||||
}
|
||||
},
|
||||
|
@ -81,7 +81,7 @@ QString ImageProcessor::mappingTypeToStr(int mappingType)
|
||||
if (mappingType == 1 )
|
||||
return "unicolor_mean";
|
||||
|
||||
return "mulicolor_mean";
|
||||
return "multicolor_mean";
|
||||
}
|
||||
|
||||
bool ImageProcessor::getScanParameters(size_t led, double &hscanBegin, double &hscanEnd, double &vscanBegin, double &vscanEnd) const
|
||||
|
@ -501,7 +501,7 @@
|
||||
"priority" :
|
||||
{
|
||||
"type" : "integer",
|
||||
"minimum" : 2,
|
||||
"minimum" : 100,
|
||||
"maximum" : 2000000000,
|
||||
"title" : "edt_conf_general_priority_title",
|
||||
"default" : 900,
|
||||
@ -687,7 +687,7 @@
|
||||
{
|
||||
"type" : "integer",
|
||||
"title" : "edt_conf_general_priority_title",
|
||||
"minimum" : 2,
|
||||
"minimum" : 100,
|
||||
"maximum" : 2000000000,
|
||||
"default" : 890
|
||||
},
|
||||
@ -1045,7 +1045,7 @@
|
||||
{
|
||||
"type" : "integer",
|
||||
"title" : "edt_conf_general_priority_title",
|
||||
"minimum" : 2,
|
||||
"minimum" : 100,
|
||||
"maximum" : 2000000000,
|
||||
"default" : 800,
|
||||
"propertyOrder" : 3
|
||||
@ -1086,7 +1086,7 @@
|
||||
{
|
||||
"type" : "integer",
|
||||
"title" : "edt_conf_general_priority_title",
|
||||
"minimum" : 2,
|
||||
"minimum" : 100,
|
||||
"maximum" : 2000000000,
|
||||
"default" : 800,
|
||||
"propertyOrder" : 4
|
||||
|
@ -486,9 +486,9 @@ void JsonClientConnection::handleCreateEffectCommand(const QJsonObject& message,
|
||||
|
||||
if (effectArray.size() > 0)
|
||||
{
|
||||
if (message["name"].toString().trimmed().isEmpty())
|
||||
if (message["name"].toString().trimmed().isEmpty() || message["name"].toString().trimmed().startsWith("."))
|
||||
{
|
||||
sendErrorReply("Can't save new effect. Effect name is empty", command, tan);
|
||||
sendErrorReply("Can't save new effect. Effect name is empty or begins with a dot.", command, tan);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -625,6 +625,7 @@ void JsonClientConnection::handleServerInfoCommand(const QJsonObject&, const QSt
|
||||
}
|
||||
|
||||
info["priorities"] = priorities;
|
||||
info["priorities_autoselect"] = _hyperion->sourceAutoSelectEnabled();
|
||||
|
||||
// collect transform information
|
||||
QJsonArray transformArray;
|
||||
@ -836,7 +837,6 @@ void JsonClientConnection::handleServerInfoCommand(const QJsonObject&, const QSt
|
||||
}
|
||||
|
||||
info["components"] = component;
|
||||
info["components_autoselect"] = _hyperion->sourceAutoSelectEnabled();
|
||||
info["ledMAppingType"] = ImageProcessor::mappingTypeToStr(_hyperion->getLedMappingType());
|
||||
|
||||
// Add Hyperion Version, build time
|
||||
|
Loading…
Reference in New Issue
Block a user