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
@ -270,4 +270,4 @@ void setup()
|
|||||||
void loop()
|
void loop()
|
||||||
{
|
{
|
||||||
// Not used. See note in setup() function.
|
// Not used. See note in setup() function.
|
||||||
}
|
}
|
||||||
|
@ -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>
|
<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">
|
<div class="introd">
|
||||||
<h4 data-i18n="conf_colors_label_intro">Color calibration, smoothing (color transistions) and detection of blackbars.</h4>
|
<h4 data-i18n="conf_colors_label_intro">Color calibration, smoothing (color transistions) and detection of blackbars.</h4>
|
||||||
</div>
|
|
||||||
<hr />
|
<hr />
|
||||||
|
</div>
|
||||||
<div id='editor_container'/>
|
<div id='editor_container'/>
|
||||||
<button class="btn btn-success" id='btn_submit' data-i18n="general_button_savesettings">Save Settings</button>
|
<button class="btn btn-success" id='btn_submit' data-i18n="general_button_savesettings">Save Settings</button>
|
||||||
</div>
|
</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>
|
<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">
|
<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>
|
<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>
|
</div>
|
||||||
<hr>
|
<div class="row">
|
||||||
<div class="col-md-6 col-xxl-4">
|
<div class="col-md-6 col-xxl-4">
|
||||||
<div class="panel panel-default">
|
<div class="panel panel-default">
|
||||||
<div class="panel-heading">
|
<div class="panel-heading">
|
||||||
@ -69,7 +70,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- /.col-lg-12 -->
|
<!-- /.col-lg-12 -->
|
||||||
</div>
|
</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>
|
<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">
|
<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>
|
<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>
|
</div>
|
||||||
<hr>
|
|
||||||
<div id='editor_container'></div>
|
<div id='editor_container'></div>
|
||||||
<button class="btn btn-success" id='btn_submit' data-i18n="general_button_savesettings">Save Settings</button>
|
<button class="btn btn-success" id='btn_submit' data-i18n="general_button_savesettings">Save Settings</button>
|
||||||
</div>
|
</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>
|
<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">
|
<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>
|
<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 />
|
<hr />
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xxl-6">
|
||||||
<div class="panel panel-default" >
|
<div class="panel panel-default" >
|
||||||
<div class="panel-heading">
|
<div class="panel-heading">
|
||||||
<label for="effectslist" data-i18n="effectsconfigurator_label_chooseeff">Choose Base-Effect:</label>
|
<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" />
|
<select id="effectslist" class="form-control" style="color:black;width:auto;margin-left:10px;display:inline-block" />
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
<div class="form-group row">
|
<table>
|
||||||
<label for="name-input" class="col-xs-2 col-form-label" data-i18n="effectsconfigurator_label_effectname">Effect name:</label>
|
<tbody>
|
||||||
<div class="col-xs-10">
|
<tr>
|
||||||
<input class="form-control" type="text" id="name-input">
|
<td class="ltd"><label for="name-input" data-i18n="effectsconfigurator_label_effectname">Effect name:</label></td>
|
||||||
</div>
|
<td class="itd"><input class="form-control" type="text" id="name-input" /></td>
|
||||||
</div>
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
<div id="editor_container" />
|
<div id="editor_container" />
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-footer" id="eff_footer">
|
<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>
|
<button class="btn btn-primary pull-right" id='btn_write' data-i18n="effectsconfigurator_button_saveeffect">Save Effect</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-xxl-6">
|
||||||
<div class="panel panel-default" >
|
<div class="panel panel-default" >
|
||||||
<div class="panel-heading">
|
<div class="panel-heading">
|
||||||
<label for="effectsdellist" data-i18n="effectsconfigurator_label_deleffect">Delete Effect:</label>
|
<label for="effectsdellist" data-i18n="effectsconfigurator_label_deleffect">Delete Effect:</label>
|
||||||
@ -34,6 +40,8 @@
|
|||||||
<button class="btn btn-primary pull-right" id='btn_delete' data-i18n="effectsconfigurator_button_deleffect">Delete Effect</button>
|
<button class="btn btn-primary pull-right" id='btn_delete' data-i18n="effectsconfigurator_button_deleffect">Delete Effect</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -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>
|
<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">
|
<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>
|
<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>
|
||||||
|
<hr />
|
||||||
|
</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>
|
||||||
<hr />
|
|
||||||
<div id='editor_container'/>
|
|
||||||
<button class="btn btn-success" id='btn_submit' data-i18n="general_button_savesettings">Save Settings</button>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -4,14 +4,28 @@
|
|||||||
<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>
|
<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">
|
<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>
|
<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>
|
||||||
|
<hr />
|
||||||
</div>
|
</div>
|
||||||
<hr />
|
|
||||||
<div class="alert alert-info" role="alert">
|
<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 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.
|
<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>
|
||||||
<div id='editor_container'/>
|
<div class="row">
|
||||||
<button class="btn btn-success" id='btn_submit' data-i18n="general_button_savesettings">Save Settings</button>
|
<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>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -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>
|
<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">
|
<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>
|
<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>
|
</div>
|
||||||
<hr>
|
|
||||||
<ul id="leds_cfg_nav" class="nav nav-tabs">
|
<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 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>
|
<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 class="tab-content">
|
||||||
|
|
||||||
<div id="menu_controller" class="tab-pane fade in active" style="padding-top:10px">
|
<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 panel-primary">
|
||||||
<div class="panel-heading form-group" style="font-size:90%;white-space:nowrap;">
|
<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>
|
<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" />
|
<select id="leddevices" class="form-control" style="color:black;width:auto;margin-left:10px;display:inline-block" />
|
||||||
</div>
|
</div>
|
||||||
@ -77,8 +79,13 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</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>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div id="menu_display" class="tab-pane fade" style="padding-top:10px">
|
<div id="menu_display" class="tab-pane fade" style="padding-top:10px">
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
@ -97,12 +104,11 @@
|
|||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-lg-6 col-md-12">
|
<div class="col-lg-6 col-md-12">
|
||||||
|
|
||||||
<div class="panel-group" id="accordion">
|
<div class="panel-group" id="accordion">
|
||||||
<div class="panel panel-primary">
|
<div class="panel panel-primary">
|
||||||
<div class="panel-heading headcollapse" data-toggle="collapse" data-parent="#accordion" data-target="#collapse4">
|
<div class="panel-heading headcollapse" data-toggle="collapse" data-parent="#accordion" data-target="#collapse4">
|
||||||
<h4 class="panel-title">
|
<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>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="collapse4" class="panel-collapse collapse in">
|
<div id="collapse4" class="panel-collapse collapse in">
|
||||||
@ -125,98 +131,130 @@
|
|||||||
</div>
|
</div>
|
||||||
<div id="collapse1" class="panel-collapse collapse">
|
<div id="collapse1" class="panel-collapse collapse">
|
||||||
<div class="panel-body ">
|
<div class="panel-body ">
|
||||||
<div class="form-group">
|
<table class="table borderless">
|
||||||
<label class="col-form-label col-md-6" for="ip_cl_ledstop" style="width:170px" data-i18n="conf_leds_layout_cl_top">Top</label>
|
<tbody>
|
||||||
<div class=" input-group">
|
<tr>
|
||||||
<input class="form-control ledCLconstr" id="ip_cl_ledstop" type="number" value="10" min="0" step="1"></input>
|
<td class="ltd">
|
||||||
<div class="input-group-addon" data-i18n="edt_append_leds">LEDs</div>
|
<label class="ltdlabel" for="ip_cl_ledstop" data-i18n="conf_leds_layout_cl_top">Top</label>
|
||||||
</div>
|
</td>
|
||||||
</div>
|
<td class="itd input-group">
|
||||||
<div class="form-group">
|
<input class="form-control ledCLconstr" id="ip_cl_ledstop" type="number" value="10" min="0" step="1"></input>
|
||||||
<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-addon" data-i18n="edt_append_leds">LEDs</div>
|
||||||
<div class=" input-group">
|
</td>
|
||||||
<input class="form-control ledCLconstr" id="ip_cl_ledsbottom" type="number" value="10" min="0" step="1"></input>
|
</tr>
|
||||||
<div class="input-group-addon" data-i18n="edt_append_leds">LEDs</div>
|
<tr>
|
||||||
</div>
|
<td class="ltd">
|
||||||
</div>
|
<label class="ltdlabel" for="ip_cl_ledsbottom" data-i18n="conf_leds_layout_cl_bottom">Bottom</label>
|
||||||
<div class="form-group">
|
</td>
|
||||||
<label class="col-form-label col-md-6" for="ip_cl_ledsleft" style="width:170px" data-i18n="conf_leds_layout_cl_left">Left</label>
|
<td class="itd input-group">
|
||||||
<div class=" input-group">
|
<input class="form-control ledCLconstr" id="ip_cl_ledsbottom" type="number" value="10" min="0" step="1"></input>
|
||||||
<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 class="input-group-addon" data-i18n="edt_append_leds">LEDs</div>
|
</td>
|
||||||
</div>
|
</tr>
|
||||||
</div>
|
<tr>
|
||||||
<div class="form-group">
|
<td class="ltd">
|
||||||
<label class="col-form-label col-md-6" for="ip_cl_ledsright" style="width:170px" data-i18n="conf_leds_layout_cl_right">Right</label>
|
<label class="ltdlabel" for="ip_cl_ledsleft" data-i18n="conf_leds_layout_cl_left">Left</label>
|
||||||
<div class=" input-group">
|
</td>
|
||||||
<input class="form-control ledCLconstr" id="ip_cl_ledsright" type="number" value="6" min="0" step="1"></input>
|
<td class="itd input-group">
|
||||||
<div class="input-group-addon" data-i18n="edt_append_leds">LEDs</div>
|
<input class="form-control ledCLconstr" id="ip_cl_ledsleft" type="number" value="6" min="0" step="1"></input>
|
||||||
</div>
|
<div class="input-group-addon" data-i18n="edt_append_leds">LEDs</div>
|
||||||
</div>
|
</td>
|
||||||
<div class="form-group">
|
</tr>
|
||||||
<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>
|
<tr>
|
||||||
<div class=" input-group">
|
<td class="ltd">
|
||||||
<input class="form-control ledCLconstr" id="ip_cl_ledsglength" type="number" value="0" min="0" step="1"></input>
|
<label class="ltdlabel" for="ip_cl_ledsright" data-i18n="conf_leds_layout_cl_right">Right</label>
|
||||||
<div class="input-group-addon" data-i18n="edt_append_leds">LEDs</div>
|
</td>
|
||||||
</div>
|
<td class="itd input-group">
|
||||||
</div>
|
<input class="form-control ledCLconstr" id="ip_cl_ledsright" type="number" value="6" min="0" step="1"></input>
|
||||||
<div class="form-group">
|
<div class="input-group-addon" data-i18n="edt_append_leds">LEDs</div>
|
||||||
<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>
|
</td>
|
||||||
<div class=" input-group">
|
</tr>
|
||||||
<input class="form-control ledCLconstr" id="ip_cl_ledsgpos" type="number" value="0" min="0" step="1">
|
<tr>
|
||||||
</div>
|
<td class="ltd">
|
||||||
</div>
|
<label class="ltdlabel" for="ip_cl_ledsglength" data-i18n="conf_leds_layout_cl_gaglength">Gap length</label>
|
||||||
<div class="form-group">
|
</td>
|
||||||
<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>
|
<td class="itd input-group">
|
||||||
<div class=" input-group">
|
<input class="form-control ledCLconstr" id="ip_cl_ledsglength" type="number" value="0" min="0" step="1"></input>
|
||||||
<input class="form-control ledCLconstr" id="ip_cl_position" type="number" value="0" step="1">
|
<div class="input-group-addon" data-i18n="edt_append_leds">LEDs</div>
|
||||||
</div>
|
</td>
|
||||||
</div>
|
</tr>
|
||||||
<div class="form-group">
|
<tr>
|
||||||
<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 class="ltd">
|
||||||
<div class="checkbox">
|
<label class="ltdlabel" for="ip_cl_ledsgpos" data-i18n="conf_leds_layout_cl_gappos">Gap position</label>
|
||||||
<input class="ledCLconstr" id="ip_cl_reverse" type="checkbox" value="false"></input>
|
</td>
|
||||||
<label></label>
|
<td class="itd">
|
||||||
</div>
|
<input class="form-control ledCLconstr" id="ip_cl_ledsgpos" type="number" value="0" min="0" step="1">
|
||||||
</div>
|
</td>
|
||||||
<div class="">
|
</tr>
|
||||||
<div class="panel panel-default">
|
<tr>
|
||||||
<div class="panel-heading headcollapse" data-toggle="collapse" data-target="#collapse3">
|
<td class="ltd">
|
||||||
<h4 class="panel-title">
|
<label class="ltdlabel" for="ip_cl_position" data-i18n="conf_leds_layout_cl_inppos">Input position</label>
|
||||||
<a><span data-i18n="conf_leds_layout_advanced">Advanced settings</span></a>
|
</td>
|
||||||
</h4>
|
<td class="itd">
|
||||||
</div>
|
<input class="form-control ledCLconstr" id="ip_cl_position" type="number" value="0" step="1">
|
||||||
<div id="collapse3" class="panel-collapse collapse">
|
</td>
|
||||||
<div class="panel-body ">
|
</tr>
|
||||||
<div class="form-group">
|
<tr>
|
||||||
<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>
|
<td class="ltd">
|
||||||
<div class=" input-group">
|
<label class="ltdlabel" for="ip_cl_reverse" data-i18n="conf_leds_layout_cl_reversdir">Reverse direction</label>
|
||||||
<input class="form-control ledCLconstr" id="ip_cl_ledshdepth" type="number" value="8" min="1" max="100" step="1"></input>
|
</td>
|
||||||
<div class="input-group-addon" data-i18n="edt_append_percent">%</div>
|
<td class="itd">
|
||||||
</div>
|
<div class="checkbox">
|
||||||
|
<input class="ledCLconstr" id="ip_cl_reverse" type="checkbox" value="false"></input>
|
||||||
|
<label></label>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
</td>
|
||||||
<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>
|
</tr>
|
||||||
<div class=" input-group">
|
</tbody>
|
||||||
<input class="form-control ledCLconstr" id="ip_cl_ledsvdepth" type="number" value="5" min="1" max="100" step="1"></input>
|
</table>
|
||||||
<div class="input-group-addon" data-i18n="edt_append_percent">%</div>
|
<div class="panel panel-default">
|
||||||
</div>
|
<div class="panel-heading headcollapse" data-toggle="collapse" data-target="#collapse3">
|
||||||
</div>
|
<h4 class="panel-title">
|
||||||
<div class="form-group">
|
<a><span data-i18n="conf_leds_layout_advanced">Advanced settings</span></a>
|
||||||
<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>
|
</h4>
|
||||||
<div class=" input-group">
|
</div>
|
||||||
<input class="form-control ledCLconstr" id="ip_cl_ledsedgegap" type="number" value="0" min="0" max="50" step="1"></input>
|
<div id="collapse3" class="panel-collapse collapse">
|
||||||
<div class="input-group-addon" data-i18n="edt_append_percent">%</div>
|
<div class="panel-body ">
|
||||||
</div>
|
<table class="tableform borderless">
|
||||||
</div>
|
<tbody>
|
||||||
<div class="form-group">
|
<tr>
|
||||||
<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>
|
<td class="ltd">
|
||||||
<div class=" input-group">
|
<label class="ltdlabel" for="ip_cl_ledshdepth" data-i18n="conf_leds_layout_cl_hleddepth">Horizontal LED depth</label>
|
||||||
<input class="form-control ledCLconstr" id="ip_cl_ledscornergap" type="number" value="0" min="0" max="50" step="1"></input>
|
</td>
|
||||||
<div class="input-group-addon" data-i18n="edt_append_percent">%</div>
|
<td class="itd input-group">
|
||||||
</div>
|
<input class="form-control ledCLconstr" id="ip_cl_ledshdepth" type="number" value="8" min="1" max="100" step="1"></input>
|
||||||
</div>
|
<div class="input-group-addon" data-i18n="edt_append_percent">%</div>
|
||||||
</div>
|
</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>
|
||||||
|
</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>
|
||||||
|
</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>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -226,8 +264,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="panel panel-primary">
|
||||||
<div class="panel panel-primary">
|
|
||||||
<div class="panel-heading headcollapse" data-toggle="collapse" data-parent="#accordion" data-target="#collapse2">
|
<div class="panel-heading headcollapse" data-toggle="collapse" data-parent="#accordion" data-target="#collapse2">
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a><i class="fa fa-th fa-fw"></i><span data-i18n="conf_leds_layout_matrix">Matrix Configuration (LED wall)</span></a>
|
<a><i class="fa fa-th fa-fw"></i><span data-i18n="conf_leds_layout_matrix">Matrix Configuration (LED wall)</span></a>
|
||||||
@ -235,80 +272,93 @@
|
|||||||
</div>
|
</div>
|
||||||
<div id="collapse2" class="panel-collapse collapse">
|
<div id="collapse2" class="panel-collapse collapse">
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
<div class="form-group">
|
<table>
|
||||||
<label class="col-form-label col-md-6" for="ip_ma_ledshoriz" style="width:170px;" data-i18n="conf_leds_layout_ma_horiz">Horizontal</label>
|
<tbody>
|
||||||
<div class=" input-group">
|
<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>
|
<input class="form-control ledMAconstr" id="ip_ma_ledshoriz" type="number" value="10" min="1" step="1"></input>
|
||||||
<div class="input-group-addon" data-i18n="edt_append_leds">LEDs</div>
|
<div class="input-group-addon" data-i18n="edt_append_leds">LEDs</div>
|
||||||
</div>
|
</td>
|
||||||
</div>
|
</tr>
|
||||||
<div class="form-group">
|
<tr>
|
||||||
<label class="col-form-label col-md-6" for="ip_ma_ledsvert" style="width:170px;" data-i18n="conf_leds_layout_ma_vert">Vertical</label>
|
<td class="ltd">
|
||||||
<div class=" input-group">
|
<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>
|
<input class="form-control ledMAconstr" id="ip_ma_ledsvert" type="number" value="10" min="1" step="1"></input>
|
||||||
<div class="input-group-addon" data-i18n="edt_append_leds">LEDs</div>
|
<div class="input-group-addon" data-i18n="edt_append_leds">LEDs</div>
|
||||||
</div>
|
</td>
|
||||||
</div>
|
</tr>
|
||||||
<div class="form-group">
|
<tr>
|
||||||
<label class="col-form-label col-md-6" for="ip_ma_cabling" style="width:170px;" data-i18n="conf_leds_layout_ma_cabling">Cabling</label>
|
<td class="ltd">
|
||||||
<div class=" input-group">
|
<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">
|
<select class="form-control ledMAconstr" id="ip_ma_cabling">
|
||||||
<option value="snake" data-i18n="conf_leds_layout_ma_optsnake">Snake</option>
|
<option value="snake" data-i18n="conf_leds_layout_ma_optsnake">Snake</option>
|
||||||
<option value="parallel" data-i18n="conf_leds_layout_ma_optparallel">Parallel</option>
|
<option value="parallel" data-i18n="conf_leds_layout_ma_optparallel">Parallel</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</td>
|
||||||
</div>
|
</tr>
|
||||||
<!--- <div class="form-group">
|
<!--- <tr>
|
||||||
<label class="col-form-label col-md-6" for="ip_ma_order" style="width:170px;" data-i18n="conf_leds_layout_ma_order">Order</label>
|
<td class="ltd">
|
||||||
<div class=" input-group">
|
<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">
|
<select class="form-control ledMAconstr" id="ip_ma_order">
|
||||||
<option value="horizontal" data-i18n="conf_leds_layout_ma_opthoriz">Horizontal</option>
|
<option value="horizontal" data-i18n="conf_leds_layout_ma_opthoriz">Horizontal</option>
|
||||||
<option value="vertical" data-i18n="conf_leds_layout_ma_optvert">Vertical</option>
|
<option value="vertical" data-i18n="conf_leds_layout_ma_optvert">Vertical</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</td>
|
||||||
</div>
|
</tr>
|
||||||
--->
|
--->
|
||||||
<div class="form-group">
|
<tr>
|
||||||
<label class="col-form-label col-md-6" for="ip_ma_start" style="width:170px;" data-i18n="conf_leds_layout_ma_position">Input</label>
|
<td class="ltd">
|
||||||
<div class=" input-group">
|
<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">
|
<select class="form-control ledMAconstr" id="ip_ma_start">
|
||||||
<option value="top-left" data-i18n="conf_leds_layout_ma_opttopleft">Top left</option>
|
<option value="top-left" data-i18n="conf_leds_layout_ma_opttopleft">Top left</option>
|
||||||
<option value="top-right" data-i18n="conf_leds_layout_ma_opttopright">Top right</option>
|
<option value="top-right" data-i18n="conf_leds_layout_ma_opttopright">Top right</option>
|
||||||
<option value="bottom-left" data-i18n="conf_leds_layout_ma_optbottomleft">Bottom left</option>
|
<option value="bottom-left" data-i18n="conf_leds_layout_ma_optbottomleft">Bottom left</option>
|
||||||
<option value="bottom-right" data-i18n="conf_leds_layout_ma_optbottomright">Bottom right</option>
|
<option value="bottom-right" data-i18n="conf_leds_layout_ma_optbottomright">Bottom right</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</td>
|
||||||
</div>
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-footer">
|
<div class="panel-footer">
|
||||||
<button id="btn_ma_generate" class="btn btn-warning" data-i18n="conf_leds_layout_cl_generate">Generate LED configuration</button>
|
<button id="btn_ma_generate" class="btn btn-warning" data-i18n="conf_leds_layout_cl_generate">Generate LED configuration</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div> <!-- accordion -->
|
</div> <!-- accordion -->
|
||||||
</div>
|
<div class="col-lg-6 col-md-12">
|
||||||
<div class="col-lg-6 col-md-12">
|
<div class="panel panel-primary">
|
||||||
<div class="panel panel-primary">
|
<div class="panel-heading">
|
||||||
<div class="panel-heading">
|
<h4 class="panel-title"><i class="fa fa-search fa-fw"></i><span data-i18n="conf_leds_layout_peview">LED Layout preview</span></h4>
|
||||||
<h4 class="panel-title"><i class="fa fa-search fa-fw"></i><span data-i18n="conf_leds_layout_peview">LED Layout preview</span></h4>
|
</div>
|
||||||
</div>
|
<div class="panel-body">
|
||||||
<div class="panel-body">
|
<div id="previewcreator"></div>
|
||||||
<div id="previewcreator"></div>
|
<div id="previewledcount"></div>
|
||||||
<div id="previewledcount"></div>
|
<div class="col-lg-12 st_helper" style="padding-left:0px; padding-right:0px">
|
||||||
<div class="col-lg-12 st_helper" style="padding-left:0px; padding-right:0px">
|
<div id="leds_preview"></div>
|
||||||
<div id="leds_preview"></div>
|
</div>
|
||||||
<div>
|
</div>
|
||||||
|
<div class="panel-footer">
|
||||||
|
<button type="button" class="btn btn-danger" id="leds_prev_toggle_num" data-i18n="conf_leds_test_button_togglelednumber">toggle led numbers</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
<div class="panel-footer">
|
|
||||||
<button type="button" class="btn btn-danger" id="leds_prev_toggle_num" data-i18n="conf_leds_test_button_togglelednumber">toggle led numbers</button>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div> <!-- row layout -->
|
</div> <!-- row layout -->
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- tab content -->
|
</div> <!-- tab content -->
|
||||||
|
@ -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>
|
<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">
|
<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>
|
<h4 data-i18n="conf_logging_label_intro">Area to check log messages, depending on loglevel setting you see more or less.</h4>
|
||||||
</div>
|
|
||||||
<hr />
|
<hr />
|
||||||
|
</div>
|
||||||
<div id='editor_container'/>
|
<div id='editor_container'/>
|
||||||
<button class="btn btn-success" id='btn_submit' data-i18n="general_button_savesettings">Save Settings</button>
|
<button class="btn btn-success" id='btn_submit' data-i18n="general_button_savesettings">Save Settings</button>
|
||||||
<hr />
|
<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>
|
<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">
|
<div class="introd">
|
||||||
<h4 data-i18n="conf_network_label_intro">All network based settings are listed here.</h4>
|
<h4 data-i18n="conf_network_label_intro">All network based settings are listed here.</h4>
|
||||||
</div>
|
|
||||||
<hr />
|
<hr />
|
||||||
<div id='editor_container'/>
|
</div>
|
||||||
<button class="btn btn-success" id='btn_submit' data-i18n="general_button_savesettings">Save Settings</button>
|
<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>
|
</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>
|
<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">
|
<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>
|
<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>
|
</div>
|
||||||
<hr>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
@ -51,4 +51,17 @@
|
|||||||
</div>
|
</div>
|
||||||
</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>
|
<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>
|
<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">
|
<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>
|
<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>
|
</div>
|
||||||
<hr>
|
|
||||||
<h3 style="font-weight: bold" data-i18n="support_label_spreadtheword">Spread the word</h3>
|
<h3 style="font-weight: bold" data-i18n="support_label_spreadtheword">Spread the word</h3>
|
||||||
<a href="#" target="_blank" class="unlink">
|
<a href="#" target="_blank" class="unlink">
|
||||||
<div class="col-xs-12 col-sm-6 col-lg-3 support-container">
|
<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>
|
<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">
|
<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>
|
<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>
|
</div>
|
||||||
<hr>
|
|
||||||
<h4 id="update_currver"></h4>
|
<h4 id="update_currver"></h4>
|
||||||
<hr>
|
<hr>
|
||||||
<div class="col-lg-12" id="versionlist">
|
<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>
|
<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">
|
<div class="introd">
|
||||||
<h4 data-i18n="conf_webconfig_label_intro">Webinterface settings. Edit wisely</h4>
|
<h4 data-i18n="conf_webconfig_label_intro">Webinterface settings. Edit wisely</h4>
|
||||||
</div>
|
|
||||||
<hr />
|
<hr />
|
||||||
|
</div>
|
||||||
<div id='editor_container'/>
|
<div id='editor_container'/>
|
||||||
<button class="btn btn-success" id='btn_submit' data-i18n="general_button_savesettings">Save Settings</button>
|
<button class="btn btn-success" id='btn_submit' data-i18n="general_button_savesettings">Save Settings</button>
|
||||||
</div>
|
</div>
|
||||||
|
@ -5,11 +5,107 @@
|
|||||||
url("../fonts/Roboto-Regular.ttf") format('ttf');
|
url("../fonts/Roboto-Regular.ttf") format('ttf');
|
||||||
}
|
}
|
||||||
body{font-family:Roboto,"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:15px;}
|
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**/
|
/**add a dditional width defintion for bootstrap**/
|
||||||
@media (min-width: 1500px) {
|
@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 {
|
.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;
|
float: left;
|
||||||
|
padding:0 15px;
|
||||||
}
|
}
|
||||||
.col-xxl-12 {
|
.col-xxl-12 {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@ -166,102 +262,13 @@ body{font-family:Roboto,"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:15
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*icon spacing*/
|
/*https://github.com/flatlogic/awesome-bootstrap-checkbox slighty edited for our purposes*/
|
||||||
.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;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.checkbox {
|
.checkbox {
|
||||||
|
height:34px;
|
||||||
padding-left: 20px;
|
padding-left: 20px;
|
||||||
padding-top:2px !important;
|
padding-top:2px !important;
|
||||||
|
margin-top: 0px !important;
|
||||||
|
margin-bottom: 0px !important;
|
||||||
}
|
}
|
||||||
.checkbox label {
|
.checkbox label {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
|
@ -31,6 +31,7 @@
|
|||||||
"general_btn_ok" : "OK",
|
"general_btn_ok" : "OK",
|
||||||
"general_btn_abort" : "Abbrechen",
|
"general_btn_abort" : "Abbrechen",
|
||||||
"general_btn_save" : "Speichern",
|
"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_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_title" : "Information",
|
||||||
"dashboard_infobox_label_currenthyp" : "Deine Hyperion Version:",
|
"dashboard_infobox_label_currenthyp" : "Deine Hyperion Version:",
|
||||||
@ -44,7 +45,6 @@
|
|||||||
"dashboard_componentbox_label_status" : "Status",
|
"dashboard_componentbox_label_status" : "Status",
|
||||||
"dashboard_newsbox_label_title" : "Die letzten Blogposts",
|
"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_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_dashboard_token" : "Dashboard",
|
||||||
"main_menu_configuration_token" : "Konfiguration",
|
"main_menu_configuration_token" : "Konfiguration",
|
||||||
"main_menu_leds_conf_token" : "LED Hardware",
|
"main_menu_leds_conf_token" : "LED Hardware",
|
||||||
@ -61,6 +61,8 @@
|
|||||||
"main_menu_input_selection_token" : "Eingabeauswahl",
|
"main_menu_input_selection_token" : "Eingabeauswahl",
|
||||||
"main_menu_logging_token" : "Protokoll",
|
"main_menu_logging_token" : "Protokoll",
|
||||||
"main_menu_webconfig_token" : "Webkonfiguration",
|
"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_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_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",
|
"conf_leds_nav_label_ledcontroller" : "LED Steuerung",
|
||||||
@ -136,6 +138,9 @@
|
|||||||
"remote_optgroup_usreffets" : "Benutzer Effekte",
|
"remote_optgroup_usreffets" : "Benutzer Effekte",
|
||||||
"remote_optgroup_syseffets" : "Mitgelieferte 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_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_button_create_user_token" : "Benutzer anlegen",
|
||||||
"hue_press_link_modal" : "Bitte Link Taste auf der Hue Bridge drücken.",
|
"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.",
|
"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_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_label_chooseeff" : "Basis-Effekt auswählen:",
|
||||||
"effectsconfigurator_button_saveeffect" : "Effekt speichern",
|
"effectsconfigurator_button_saveeffect" : "Effekt speichern",
|
||||||
"effectsconfigurator_label_effectname" : "Effektname:",
|
"effectsconfigurator_label_effectname" : "Effektname",
|
||||||
"effectsconfigurator_button_starttest" : "Starte Effekttest",
|
"effectsconfigurator_button_starttest" : "Starte Effekttest",
|
||||||
"effectsconfigurator_button_stoptest" : "Stoppe Effekttest",
|
"effectsconfigurator_button_stoptest" : "Stoppe Effekttest",
|
||||||
"effectsconfigurator_button_conttest" : "Fortlaufender Test",
|
"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_lang_text" : "Sollte dir die Vorauswahl der automatischen Spracherkennung nicht gefallen, kannst du die Sprache hier manuell festlegen.",
|
||||||
"InfoDialog_access_title" : "Zugriffsstufe",
|
"InfoDialog_access_title" : "Zugriffsstufe",
|
||||||
"InfoDialog_access_text" : "Abhängig von der Stufe hast du Zugriff auf mehr oder weniger Einstellungen. Empfohlen ist 'Standard'.",
|
"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_heading_title" : "Allgemeine Einstellungen",
|
||||||
"edt_dev_general_name_title" : "Name der Konfiguration",
|
"edt_dev_general_name_title" : "Name der Konfiguration",
|
||||||
"edt_dev_general_ledCount_title" : "Anzahl Hardware LEDs",
|
"edt_dev_general_ledCount_title" : "Anzahl Hardware LEDs",
|
||||||
@ -251,62 +259,105 @@
|
|||||||
"edt_dev_spec_ledIndex_title" : "LED index",
|
"edt_dev_spec_ledIndex_title" : "LED index",
|
||||||
"edt_dev_spec_colorComponent_title" : "Farbkomponente",
|
"edt_dev_spec_colorComponent_title" : "Farbkomponente",
|
||||||
"edt_conf_general_enable_title" : "Aktiviert",
|
"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_title" : "Priorität",
|
||||||
|
"edt_conf_general_priority_expl" : "Die Priorität dieser Komponente.",
|
||||||
"edt_conf_general_port_title" : "Port",
|
"edt_conf_general_port_title" : "Port",
|
||||||
|
"edt_conf_general_port_expl" : "Der genutzte Port.",
|
||||||
"edt_conf_color_heading_title" : "Farbkalibrierung",
|
"edt_conf_color_heading_title" : "Farbkalibrierung",
|
||||||
"edt_conf_smooth_heading_title" : "Glättung",
|
"edt_conf_smooth_heading_title" : "Glättung",
|
||||||
"edt_conf_smooth_type_title" : "Art",
|
"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_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_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_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_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_heading_title" : "USB Aufnahme",
|
||||||
"edt_conf_v4l2_device_title" : "Gerät",
|
"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_title" : "Eingang",
|
||||||
|
"edt_conf_v4l2_input_expl" : "Der Eingang des Pfades.",
|
||||||
"edt_conf_v4l2_standard_title" : "Videoformat",
|
"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_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_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_title" : "Bildverkleinerung",
|
||||||
|
"edt_conf_v4l2_frameDecimation_expl" : "Der Faktor der Bildverkleinerung",
|
||||||
"edt_conf_v4l2_sizeDecimation_title" : "Größenänderung",
|
"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_title" : "Modus",
|
||||||
|
"edt_conf_v4l2_mode_expl" : "Modus der USB Aufnahme",
|
||||||
"edt_conf_v4l2_useKodiChecker_title" : "Nutze Kodi Überwachung",
|
"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_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_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_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_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_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_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_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_heading_title" : "Plattform Aufnahme",
|
||||||
"edt_conf_fg_type_title" : "Typ",
|
"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_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_title" : "Horizontale Pixelreduzierung",
|
||||||
|
"edt_conf_fg_horizontalPixelDecimation_expl" : "Horizontale Pixelreduzierung (Faktor)",
|
||||||
"edt_conf_fg_useXGetImage_title" : "Nutze XGetImage",
|
"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_title" : "Vertikale Pixelreduzierung",
|
||||||
|
"edt_conf_fg_verticalPixelDecimation_expl" : "Vertikale Pixelreduzierung (Faktor)",
|
||||||
"edt_conf_fg_device_title" : "Device",
|
"edt_conf_fg_device_title" : "Device",
|
||||||
"edt_conf_fg_display_title" : "Display",
|
"edt_conf_fg_display_title" : "Display",
|
||||||
|
"edt_conf_fg_display_expl" : "Gebe an von welchem Desktop aufgenommen werden soll. (Multi Monitor Setup)",
|
||||||
"edt_conf_bb_heading_title" : "Schwarze Balken Erkennung",
|
"edt_conf_bb_heading_title" : "Schwarze Balken Erkennung",
|
||||||
"edt_conf_bb_threshold_title" : "Schwelle",
|
"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_unknownFrameCnt_title" : "unknownFrameCnt",
|
||||||
"edt_conf_bb_borderFrameCnt_title" : "borderFrameCnt",
|
"edt_conf_bb_borderFrameCnt_title" : "borderFrameCnt",
|
||||||
"edt_conf_bb_maxInconsistentCnt_title" : "maxInconsistentCn",
|
"edt_conf_bb_maxInconsistentCnt_title" : "maxInconsistentCn",
|
||||||
"edt_conf_bb_blurRemoveCnt_title" : "blurRemoveCnt",
|
"edt_conf_bb_blurRemoveCnt_title" : "blurRemoveCnt",
|
||||||
"edt_conf_bb_mode_title" : "Modus",
|
"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_heading_title" : "Kodi Überwachung",
|
||||||
"edt_conf_kodic_kodiAddress_title" : "Kodi IP Adresse",
|
"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_title" : "Kodi TCP Port",
|
||||||
|
"edt_conf_kodic_kodiTcpPort_expl" : "Der Kodi TCP Port.",
|
||||||
"edt_conf_kodic_grabVideo_title" : "Video",
|
"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_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_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_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_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_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_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_heading_title" : "Weiterleitung",
|
||||||
"edt_conf_fw_json_title" : "Liste von JSON zielen",
|
"edt_conf_fw_json_title" : "Liste von Json zielen",
|
||||||
"edt_conf_fw_json_itemtitle" : "JSON Ziel",
|
"edt_conf_fw_json_expl" : "Ein Json Ziel pro Zeile. Bestehend aus IP:PORT (Beispiel: 127.0.0.1:19446)",
|
||||||
"edt_conf_fw_proto_title" : "Liste von PROTO zielen",
|
"edt_conf_fw_json_itemtitle" : "Json Ziel",
|
||||||
"edt_conf_fw_proto_itemtitle" : "PROTO 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_js_heading_title" : "JSON Server",
|
||||||
"edt_conf_ps_heading_title" : "PROTO Server",
|
"edt_conf_ps_heading_title" : "PROTO Server",
|
||||||
"edt_conf_bobls_heading_title" : "Boblight Server",
|
"edt_conf_bobls_heading_title" : "Boblight Server",
|
||||||
@ -316,6 +367,7 @@
|
|||||||
"edt_conf_udpl_shared_title" : "Gemeinsam genutzt",
|
"edt_conf_udpl_shared_title" : "Gemeinsam genutzt",
|
||||||
"edt_conf_webc_heading_title" : "Web Konfiguration",
|
"edt_conf_webc_heading_title" : "Web Konfiguration",
|
||||||
"edt_conf_webc_docroot_title" : "Verzeichnis",
|
"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_title" : "Effekt Pfad(e)",
|
||||||
"edt_conf_effp_paths_itemtitle" : "Pfad",
|
"edt_conf_effp_paths_itemtitle" : "Pfad",
|
||||||
"edt_conf_effp_disable_title" : "Deaktivierte Effekte",
|
"edt_conf_effp_disable_title" : "Deaktivierte Effekte",
|
||||||
|
@ -31,6 +31,7 @@
|
|||||||
"general_btn_ok" : "OK",
|
"general_btn_ok" : "OK",
|
||||||
"general_btn_abort" : "Abort",
|
"general_btn_abort" : "Abort",
|
||||||
"general_btn_save" : "Save",
|
"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_label_intro" : "The dashboard give you a quick overview about the status of Hyperion and show you the latest news of the Hyperion Blog.",
|
||||||
"dashboard_infobox_label_title" : "Information",
|
"dashboard_infobox_label_title" : "Information",
|
||||||
"dashboard_infobox_label_currenthyp" : "Your Hyperion version:",
|
"dashboard_infobox_label_currenthyp" : "Your Hyperion version:",
|
||||||
@ -44,7 +45,6 @@
|
|||||||
"dashboard_componentbox_label_status" : "Status",
|
"dashboard_componentbox_label_status" : "Status",
|
||||||
"dashboard_newsbox_label_title" : "Latest Blog posts",
|
"dashboard_newsbox_label_title" : "Latest Blog posts",
|
||||||
"dashboard_alert_message_confedit" : "Your Hyperion configuration has been modified. To apply it, restart Hyperion.",
|
"dashboard_alert_message_confedit" : "Your Hyperion configuration has been modified. To apply it, restart Hyperion.",
|
||||||
"dashboard_alert_button_restarthyerion" : "Restart Hyperion",
|
|
||||||
"main_menu_dashboard_token" : "Dashboard",
|
"main_menu_dashboard_token" : "Dashboard",
|
||||||
"main_menu_configuration_token" : "Configuration",
|
"main_menu_configuration_token" : "Configuration",
|
||||||
"main_menu_leds_conf_token" : "LED Hardware",
|
"main_menu_leds_conf_token" : "LED Hardware",
|
||||||
@ -61,6 +61,8 @@
|
|||||||
"main_menu_input_selection_token" : "Eingabeauswahl",
|
"main_menu_input_selection_token" : "Eingabeauswahl",
|
||||||
"main_menu_logging_token" : "Log",
|
"main_menu_logging_token" : "Log",
|
||||||
"main_menu_webconfig_token" : "Webconfiguration",
|
"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_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_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",
|
"conf_leds_nav_label_ledcontroller" : "LED Controller",
|
||||||
@ -75,7 +77,7 @@
|
|||||||
"conf_leds_optgroup_debug" : "Debug",
|
"conf_leds_optgroup_debug" : "Debug",
|
||||||
"conf_leds_layout_frame" : "Classic Layout (LED Frame)",
|
"conf_leds_layout_frame" : "Classic Layout (LED Frame)",
|
||||||
"conf_leds_layout_matrix" : "Matrix Layout (LED Wall)",
|
"conf_leds_layout_matrix" : "Matrix Layout (LED Wall)",
|
||||||
"conf_leds_layout_generatedconf" : "Generated/Actual LED Configuration",
|
"conf_leds_layout_generatedconf" : "Generated/Current LED Configuration",
|
||||||
"conf_leds_layout_button_savelay" : "Save Layout",
|
"conf_leds_layout_button_savelay" : "Save Layout",
|
||||||
"conf_leds_layout_button_updsim" : "Update Preview",
|
"conf_leds_layout_button_updsim" : "Update Preview",
|
||||||
"conf_leds_layout_peview" : "LED Layout Preview",
|
"conf_leds_layout_peview" : "LED Layout Preview",
|
||||||
@ -136,6 +138,9 @@
|
|||||||
"remote_optgroup_usreffets" : "User Effects",
|
"remote_optgroup_usreffets" : "User Effects",
|
||||||
"remote_optgroup_syseffets" : "Provided 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_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_button_create_user_token" : "Create User",
|
||||||
"hue_press_link_modal" : "Please press link button on the Hue Bridge.",
|
"hue_press_link_modal" : "Please press link button on the Hue Bridge.",
|
||||||
"hue_failure_connection_token" : "Connection Timeout. Please press the button in time.",
|
"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_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_label_chooseeff" : "Choose Base-Effect:",
|
||||||
"effectsconfigurator_button_saveeffect" : "Save Effect",
|
"effectsconfigurator_button_saveeffect" : "Save Effect",
|
||||||
"effectsconfigurator_label_effectname" : "Effect name:",
|
"effectsconfigurator_label_effectname" : "Effect name",
|
||||||
"effectsconfigurator_button_starttest" : "Start Effecttest",
|
"effectsconfigurator_button_starttest" : "Start Effecttest",
|
||||||
"effectsconfigurator_button_stoptest" : "Stop Effecttest",
|
"effectsconfigurator_button_stoptest" : "Stop Effecttest",
|
||||||
"effectsconfigurator_button_conttest" : "Toggle continuous testing",
|
"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_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_title" : "Level setting",
|
||||||
"InfoDialog_access_text" : "Depending on settings level you could change more or less settings. Recommended is the default level.",
|
"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_heading_title" : "General Settings",
|
||||||
"edt_dev_general_name_title" : "Configuration name",
|
"edt_dev_general_name_title" : "Configuration name",
|
||||||
"edt_dev_general_ledCount_title" : "Count of all hardware LEDs",
|
"edt_dev_general_ledCount_title" : "Count of all hardware LEDs",
|
||||||
@ -251,62 +259,105 @@
|
|||||||
"edt_dev_spec_ledIndex_title" : "LED index",
|
"edt_dev_spec_ledIndex_title" : "LED index",
|
||||||
"edt_dev_spec_colorComponent_title" : "Color component",
|
"edt_dev_spec_colorComponent_title" : "Color component",
|
||||||
"edt_conf_general_enable_title" : "Activate",
|
"edt_conf_general_enable_title" : "Activate",
|
||||||
|
"edt_conf_general_enable_expl" : "If checked, the component is enabled.",
|
||||||
"edt_conf_general_priority_title" : "Priority channel",
|
"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_title" : "Port",
|
||||||
|
"edt_conf_general_port_expl" : "The port that is used.",
|
||||||
"edt_conf_color_heading_title" : "Color Calibration",
|
"edt_conf_color_heading_title" : "Color Calibration",
|
||||||
"edt_conf_smooth_heading_title" : "Smoothing",
|
"edt_conf_smooth_heading_title" : "Smoothing",
|
||||||
"edt_conf_smooth_type_title" : "Type",
|
"edt_conf_smooth_type_title" : "Type",
|
||||||
|
"edt_conf_smooth_type_expl" : "Type of smoothing.",
|
||||||
"edt_conf_smooth_time_ms_title" : "Time",
|
"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_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_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_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_heading_title" : "USB Capture",
|
||||||
"edt_conf_v4l2_device_title" : "Device",
|
"edt_conf_v4l2_device_title" : "Device",
|
||||||
|
"edt_conf_v4l2_device_expl" : "The path to the usb capture.",
|
||||||
"edt_conf_v4l2_input_title" : "Input",
|
"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_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_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_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_title" : "Frame decimation",
|
||||||
|
"edt_conf_v4l2_frameDecimation_expl" : "The factor of frame decimation",
|
||||||
"edt_conf_v4l2_sizeDecimation_title" : "Size 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_title" : "Mode",
|
||||||
|
"edt_conf_v4l2_mode_expl" : "Modus of USB capture",
|
||||||
"edt_conf_v4l2_useKodiChecker_title" : "Use Kodi Watch",
|
"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_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_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_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_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_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_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_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_heading_title" : "Platform Capture",
|
||||||
"edt_conf_fg_type_title" : "Type",
|
"edt_conf_fg_type_title" : "Type",
|
||||||
|
"edt_conf_fg_type_expl" : "Type of platform capture, default is 'auto'",
|
||||||
"edt_conf_fg_frequency_Hz_title" : "Capture frequency",
|
"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_title" : "Horizontal pixel decimation",
|
||||||
|
"edt_conf_fg_horizontalPixelDecimation_expl" : "Horizontal pixel decimation (factor)",
|
||||||
"edt_conf_fg_useXGetImage_title" : "Use XGetImage",
|
"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_title" : "Vertical pixel decimation",
|
||||||
|
"edt_conf_fg_verticalPixelDecimation_expl" : "Vertical pixel decimation (factor)",
|
||||||
"edt_conf_fg_device_title" : "Device",
|
"edt_conf_fg_device_title" : "Device",
|
||||||
"edt_conf_fg_display_title" : "Display",
|
"edt_conf_fg_display_title" : "Display",
|
||||||
|
"edt_conf_fg_display_expl" : "Select which desktop should be captured (multi monitor setup)",
|
||||||
"edt_conf_bb_heading_title" : "Blackbar detector",
|
"edt_conf_bb_heading_title" : "Blackbar detector",
|
||||||
"edt_conf_bb_threshold_title" : "Threshold",
|
"edt_conf_bb_threshold_title" : "Threshold",
|
||||||
|
"edt_conf_bb_threshold_expl" : "If the detection doesn't work, higher the threshold to adjust on 'greyish' black",
|
||||||
"edt_conf_bb_unknownFrameCnt_title" : "unknownFrameCnt",
|
"edt_conf_bb_unknownFrameCnt_title" : "unknownFrameCnt",
|
||||||
"edt_conf_bb_borderFrameCnt_title" : "borderFrameCnt",
|
"edt_conf_bb_borderFrameCnt_title" : "borderFrameCnt",
|
||||||
"edt_conf_bb_maxInconsistentCnt_title" : "maxInconsistentCn",
|
"edt_conf_bb_maxInconsistentCnt_title" : "maxInconsistentCn",
|
||||||
"edt_conf_bb_blurRemoveCnt_title" : "blurRemoveCnt",
|
"edt_conf_bb_blurRemoveCnt_title" : "blurRemoveCnt",
|
||||||
"edt_conf_bb_mode_title" : "Mode",
|
"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_heading_title" : "Kodi Watch",
|
||||||
"edt_conf_kodic_kodiAddress_title" : "Kodi IP address",
|
"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_title" : "Kodi TCP port",
|
||||||
|
"edt_conf_kodic_kodiTcpPort_expl" : "The TCP port of Kodi.",
|
||||||
"edt_conf_kodic_grabVideo_title" : "Video",
|
"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_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_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_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_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_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_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_heading_title" : "Forwarder",
|
||||||
"edt_conf_fw_json_title" : "List of JSON clients",
|
"edt_conf_fw_json_title" : "List of json clients",
|
||||||
"edt_conf_fw_json_itemtitle" : "JSON target",
|
"edt_conf_fw_json_expl" : "One json target per line. Contains IP:PORT (Example: 127.0.0.1:19446)",
|
||||||
"edt_conf_fw_proto_title" : "List of PROTO clients",
|
"edt_conf_fw_json_itemtitle" : "Json target",
|
||||||
"edt_conf_fw_proto_itemtitle" : "PROTO 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_js_heading_title" : "JSON Server",
|
||||||
"edt_conf_ps_heading_title" : "PROTO Server",
|
"edt_conf_ps_heading_title" : "PROTO Server",
|
||||||
"edt_conf_bobls_heading_title" : "Boblight Server",
|
"edt_conf_bobls_heading_title" : "Boblight Server",
|
||||||
@ -316,6 +367,7 @@
|
|||||||
"edt_conf_udpl_shared_title" : "Shared",
|
"edt_conf_udpl_shared_title" : "Shared",
|
||||||
"edt_conf_webc_heading_title" : "Web Configuration",
|
"edt_conf_webc_heading_title" : "Web Configuration",
|
||||||
"edt_conf_webc_docroot_title" : "Document Root",
|
"edt_conf_webc_docroot_title" : "Document Root",
|
||||||
|
"edt_conf_webc_docroot_expl" : "Local webinterface root path (just for webui developer)",
|
||||||
"edt_conf_effp_paths_title" : "Effect Path(s)",
|
"edt_conf_effp_paths_title" : "Effect Path(s)",
|
||||||
"edt_conf_effp_paths_itemtitle" : "Path",
|
"edt_conf_effp_paths_itemtitle" : "Path",
|
||||||
"edt_conf_effp_disable_title" : "Disabed Effects",
|
"edt_conf_effp_disable_title" : "Disabed Effects",
|
||||||
|
@ -213,14 +213,14 @@
|
|||||||
|
|
||||||
<!-- Page Content -->
|
<!-- Page Content -->
|
||||||
<div id="page-wrapper" style="padding-top:10px">
|
<div id="page-wrapper" style="padding-top:10px">
|
||||||
<div id="hyperion_reload_notify" class="alert alert-warning" style="display:none;padding:10px;margin:0">
|
<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 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>
|
<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>
|
</div>
|
||||||
|
|
||||||
<div id="page-content" />
|
<div id="page-content"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@ -232,18 +232,19 @@
|
|||||||
<div class="modal-dialog">
|
<div class="modal-dialog">
|
||||||
<!-- Modal content-->
|
<!-- Modal content-->
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<center>
|
<center>
|
||||||
<div class="modal-bodyicon" style="margin-bottom:20px;"></div>
|
<div class="modal-bodyicon" style="margin-bottom:20px;"></div>
|
||||||
<h4 class="modal-bodytitle" style="font-weight:bold;text-transform:uppercase;"></h4>
|
<h4 class="modal-bodytitle" style="font-weight:bold;text-transform:uppercase;"></h4>
|
||||||
<div class="modal-bodycontent"></div>
|
<div class="modal-bodycontent"></div>
|
||||||
<select id="modal_select" class="form-control" style="margin-top:10px;width:auto;"></select>
|
<select id="modal_select" class="form-control" style="margin-top:10px;width:auto;"></select>
|
||||||
</center>
|
</center>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<center>
|
<center>
|
||||||
<div class="modal-footer-button"></div>
|
<div class="modal-footer-button"></div>
|
||||||
</center>
|
</center>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -30,7 +30,7 @@ JSONEditor.defaults.editors.colorPicker = JSONEditor.defaults.editors.string.ext
|
|||||||
build: function() {
|
build: function() {
|
||||||
this._super();
|
this._super();
|
||||||
var myinput = this;
|
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).append("<span class='input-group-addon' id='event_catcher'><i></i></span>");
|
||||||
$(myinput.input).colorpicker({
|
$(myinput.input).colorpicker({
|
||||||
format: 'rgb',
|
format: 'rgb',
|
||||||
@ -116,7 +116,7 @@ $(hyperion).one("cmd-config-getschema", function(event) {
|
|||||||
if (effects[idx].schemaContent.script == this.value){
|
if (effects[idx].schemaContent.script == this.value){
|
||||||
effects_editor = createJsonEditor('editor_container', {
|
effects_editor = createJsonEditor('editor_container', {
|
||||||
args : effects[idx].schemaContent,
|
args : effects[idx].schemaContent,
|
||||||
},false);
|
},false, true);
|
||||||
effectPy = ':';
|
effectPy = ':';
|
||||||
effectPy += effects[idx].schemaContent.script;
|
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();
|
effectName = $(this).val();
|
||||||
if ($(this).val() == '') {
|
if ($(this).val() == '') {
|
||||||
effects_editor.disable();
|
effects_editor.disable();
|
||||||
|
@ -1,17 +1,26 @@
|
|||||||
|
|
||||||
|
var conf_editor_v4l2 = null;
|
||||||
var conf_editor = null;
|
var conf_editor_fg = null;
|
||||||
$(hyperion).one("cmd-config-getschema", function(event) {
|
$(hyperion).one("cmd-config-getschema", function(event) {
|
||||||
schema = parsedConfSchemaJSON.properties;
|
schema = parsedConfSchemaJSON.properties;
|
||||||
conf_editor = createJsonEditor('editor_container', {
|
conf_editor_fg = createJsonEditor('editor_container_fg', {
|
||||||
framegrabber: schema.framegrabber,
|
framegrabber: schema.framegrabber
|
||||||
grabberV4L2 : schema.grabberV4L2
|
}, true, true);
|
||||||
}, true);
|
|
||||||
|
|
||||||
|
$('#btn_submit_fg').off().on('click',function() {
|
||||||
$('#btn_submit').off().on('click',function() {
|
requestWriteConfig(conf_editor_fg.getValue());
|
||||||
requestWriteConfig(conf_editor.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() {
|
$(document).ready( function() {
|
||||||
|
var uiLock = false;
|
||||||
|
|
||||||
$("#main-nav").hide();
|
$("#main-nav").hide();
|
||||||
$("#loading_overlay").addClass("overlay");
|
$("#loading_overlay").addClass("overlay");
|
||||||
loadContentTo("#container_connection_lost","connection_lost");
|
loadContentTo("#container_connection_lost","connection_lost");
|
||||||
@ -22,12 +24,6 @@ $(document).ready( function() {
|
|||||||
parsedServerInfoJSON = event.response;
|
parsedServerInfoJSON = event.response;
|
||||||
currentVersion = parsedServerInfoJSON.info.hyperion[0].version;
|
currentVersion = parsedServerInfoJSON.info.hyperion[0].version;
|
||||||
cleanCurrentVersion = currentVersion.replace(/\./g, '');
|
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)
|
if (parsedServerInfoJSON.info.hyperion[0].config_modified)
|
||||||
$("#hyperion_reload_notify").fadeIn("fast");
|
$("#hyperion_reload_notify").fadeIn("fast");
|
||||||
@ -78,7 +74,7 @@ $(document).ready( function() {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($("#logmessages").length == 0)
|
if ($("#logmessages").length == 0 && loggingStreamActive)
|
||||||
{
|
{
|
||||||
requestLoggingStop();
|
requestLoggingStop();
|
||||||
}
|
}
|
||||||
@ -87,6 +83,19 @@ $(document).ready( function() {
|
|||||||
$("#loading_overlay").removeClass("overlay");
|
$("#loading_overlay").removeClass("overlay");
|
||||||
$("#main-nav").show('slide', {direction: 'left'}, 1000);
|
$("#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
|
}); // end cmd-serverinfo
|
||||||
|
|
||||||
$(hyperion).one("cmd-config-getschema", function(event) {
|
$(hyperion).one("cmd-config-getschema", function(event) {
|
||||||
@ -108,11 +117,7 @@ $(document).ready( function() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
$("#btn_hyperion_reload").on("click", function(){
|
$("#btn_hyperion_reload").on("click", function(){
|
||||||
$(hyperion).off();
|
initRestart();
|
||||||
requestServerConfigReload();
|
|
||||||
watchdog = 1;
|
|
||||||
$("#wrapper").fadeOut("slow");
|
|
||||||
cron();
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -4,18 +4,19 @@ $(hyperion).one("cmd-config-getschema", function(event) {
|
|||||||
schema = parsedConfSchemaJSON.properties;
|
schema = parsedConfSchemaJSON.properties;
|
||||||
conf_editor = createJsonEditor('editor_container', {
|
conf_editor = createJsonEditor('editor_container', {
|
||||||
kodiVideoChecker: schema.kodiVideoChecker
|
kodiVideoChecker: schema.kodiVideoChecker
|
||||||
}, true);
|
}, true, true);
|
||||||
|
|
||||||
$('#editor_container h3').remove();
|
|
||||||
|
|
||||||
$('#btn_submit').off().on('click',function() {
|
$('#btn_submit').off().on('click',function() {
|
||||||
requestWriteConfig(conf_editor.getValue());
|
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() {
|
$(document).ready( function() {
|
||||||
performTranslation();
|
performTranslation();
|
||||||
requestServerConfigSchema();
|
requestServerConfigSchema();
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -450,10 +450,9 @@ $(document).ready(function() {
|
|||||||
}
|
}
|
||||||
$('#leds_canvas').html(leds_html);
|
$('#leds_canvas').html(leds_html);
|
||||||
$('#led_0').css({"z-index":"10"});
|
$('#led_0').css({"z-index":"10"});
|
||||||
|
|
||||||
$('#leds_custom_updsim').trigger('click');
|
$('#image_preview').hide();
|
||||||
$('#image_preview').hide();
|
$('#image_preview').attr("width" , $('#leds_canvas').innerWidth()-2);
|
||||||
$('#image_preview').attr("width" , $('#leds_canvas').innerWidth()-2);
|
|
||||||
$('#image_preview').attr("height", $('#leds_canvas').innerHeight()-2);
|
$('#image_preview').attr("height", $('#leds_canvas').innerHeight()-2);
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -520,6 +519,7 @@ $(document).ready(function() {
|
|||||||
var target = $(e.target).attr("href") // activated tab
|
var target = $(e.target).attr("href") // activated tab
|
||||||
if (target == "#menu_gencfg" && !ledsCustomCfgInitialized)
|
if (target == "#menu_gencfg" && !ledsCustomCfgInitialized)
|
||||||
{
|
{
|
||||||
|
$('#leds_custom_updsim').trigger('click');
|
||||||
ledsCustomCfgInitialized = true;
|
ledsCustomCfgInitialized = true;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -25,7 +25,7 @@ $(document).ready(function() {
|
|||||||
{
|
{
|
||||||
loggingHandlerInstalled = true;
|
loggingHandlerInstalled = true;
|
||||||
$(hyperion).on("cmd-logging-update",function(event){
|
$(hyperion).on("cmd-logging-update",function(event){
|
||||||
if ($("#logmessages").length == 0)
|
if ($("#logmessages").length == 0 && loggingStreamActive)
|
||||||
{
|
{
|
||||||
requestLoggingStop();
|
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) {
|
$(hyperion).one("cmd-config-getschema", function(event) {
|
||||||
|
|
||||||
schema = parsedConfSchemaJSON.properties;
|
schema = parsedConfSchemaJSON.properties;
|
||||||
conf_editor = createJsonEditor('editor_container', {
|
|
||||||
jsonServer : schema.jsonServer,
|
conf_editor_json = createJsonEditor('editor_container_jsonserver', {
|
||||||
protoServer : schema.protoServer,
|
jsonServer : schema.jsonServer
|
||||||
boblightServer : schema.boblightServer,
|
}, true, true);
|
||||||
udpListener : schema.udpListener,
|
|
||||||
forwarder : schema.forwarder,
|
|
||||||
}, true);
|
|
||||||
|
|
||||||
$('#btn_submit').off().on('click',function() {
|
$('#btn_submit_jsonserver').off().on('click',function() {
|
||||||
requestWriteConfig(conf_editor.getValue());
|
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 (active) btn_type = "warning";
|
||||||
if (visible) btn_type = "success";
|
if (visible) btn_type = "success";
|
||||||
|
|
||||||
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/>';
|
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);
|
$('#hyperion_inputs').html(data);
|
||||||
|
|
||||||
var max_width=200;
|
var max_width=200;
|
||||||
@ -24,6 +26,23 @@
|
|||||||
});
|
});
|
||||||
$('.btn_input_selection').css("min-width",max_width+"px");
|
$('.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) {
|
function updateComponents(event) {
|
||||||
if ($('#componentsbutton').length == 0)
|
if ($('#componentsbutton').length == 0)
|
||||||
@ -33,12 +52,12 @@
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
updateInputSelect();
|
updateInputSelect();
|
||||||
|
updateLedMapping();
|
||||||
components = event.response.info.components;
|
components = event.response.info.components;
|
||||||
// create buttons
|
// create buttons
|
||||||
$('#componentsbutton').html("");
|
$('#componentsbutton').html("");
|
||||||
for ( idx=0; idx<components.length;idx++)
|
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_style = (components[idx].enabled? "btn-success" : "btn-danger");
|
||||||
enable_icon = (components[idx].enabled? "fa-play" : "fa-stop");
|
enable_icon = (components[idx].enabled? "fa-play" : "fa-stop");
|
||||||
comp_name = components[idx].name;
|
comp_name = components[idx].name;
|
||||||
@ -94,15 +113,6 @@ $(document).ready(function() {
|
|||||||
$(function() {
|
$(function() {
|
||||||
$('#cp2').colorpicker({
|
$('#cp2').colorpicker({
|
||||||
format: 'rgb',
|
format: 'rgb',
|
||||||
|
|
||||||
colorSelectors: {
|
|
||||||
'default': '#777777',
|
|
||||||
'primary': '#337ab7',
|
|
||||||
'success': '#5cb85c',
|
|
||||||
'info' : '#5bc0de',
|
|
||||||
'warning': '#f0ad4e',
|
|
||||||
'danger' : '#d9534f'
|
|
||||||
},
|
|
||||||
customClass: 'colorpicker-2x',
|
customClass: 'colorpicker-2x',
|
||||||
sliders: {
|
sliders: {
|
||||||
saturation: {
|
saturation: {
|
||||||
|
@ -19,7 +19,16 @@ var loggingStreamActive = false;
|
|||||||
var loggingHandlerInstalled = false;
|
var loggingHandlerInstalled = false;
|
||||||
var watchdog = 0;
|
var watchdog = 0;
|
||||||
var debugMessagesActive = true;
|
var debugMessagesActive = true;
|
||||||
//
|
|
||||||
|
function initRestart()
|
||||||
|
{
|
||||||
|
$(hyperion).off();
|
||||||
|
requestServerConfigReload();
|
||||||
|
watchdog = 1;
|
||||||
|
$("#wrapper").fadeOut("slow");
|
||||||
|
cron();
|
||||||
|
}
|
||||||
|
|
||||||
function cron()
|
function cron()
|
||||||
{
|
{
|
||||||
if ( watchdog > 2)
|
if ( watchdog > 2)
|
||||||
@ -35,6 +44,8 @@ function cron()
|
|||||||
$(hyperion).trigger({type:"cron"});
|
$(hyperion).trigger({type:"cron"});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
setInterval(function(){ watchdog = 0 }, 8000);
|
||||||
|
|
||||||
// init websocket to hyperion and bind socket events to jquery events of $(hyperion) object
|
// init websocket to hyperion and bind socket events to jquery events of $(hyperion) object
|
||||||
function initWebSocket()
|
function initWebSocket()
|
||||||
{
|
{
|
||||||
@ -251,3 +262,8 @@ function requestLoggingStop()
|
|||||||
sendToHyperion("logging", "stop");
|
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';
|
if(!options.path && !this.schema.id) this.schema.id = 'root';
|
||||||
this.path = options.path || '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+'[');
|
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.key = this.path.split('.').pop();
|
||||||
this.parent = options.parent;
|
this.parent = options.parent;
|
||||||
@ -1463,7 +1463,8 @@ JSONEditor.AbstractEditor = Class.extend({
|
|||||||
|
|
||||||
if(this.schema.access){
|
if(this.schema.access){
|
||||||
if(this.schema.access == 'expert' && storedAccess != 'expert'){
|
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() {
|
register: function() {
|
||||||
this._super();
|
this._super();
|
||||||
if(!this.input) return;
|
if(!this.input) return;
|
||||||
this.input.setAttribute('name',this.formname);
|
this.input.setAttribute('id',this.formname);
|
||||||
},
|
},
|
||||||
unregister: function() {
|
unregister: function() {
|
||||||
this._super();
|
this._super();
|
||||||
if(!this.input) return;
|
if(!this.input) return;
|
||||||
this.input.removeAttribute('name');
|
this.input.removeAttribute('id');
|
||||||
},
|
},
|
||||||
setValue: function(value,initial,from_template) {
|
setValue: function(value,initial,from_template) {
|
||||||
var self = this;
|
var self = this;
|
||||||
@ -1953,7 +1954,9 @@ JSONEditor.defaults.editors.string = JSONEditor.AbstractEditor.extend({
|
|||||||
if(this.schema.description) this.description = this.theme.getFormInputDescription(this.schema.description);
|
if(this.schema.description) this.description = this.theme.getFormInputDescription(this.schema.description);
|
||||||
if(this.schema.append) this.append = this.theme.getFormInputAppend(this.getAppend());
|
if(this.schema.append) this.append = this.theme.getFormInputAppend(this.getAppend());
|
||||||
|
|
||||||
this.format = this.schema.format;
|
this.placeholder = this.schema.default;
|
||||||
|
|
||||||
|
this.format = this.schema.format;
|
||||||
if(!this.format && this.schema.media && this.schema.media.type) {
|
if(!this.format && this.schema.media && this.schema.media.type) {
|
||||||
this.format = this.schema.media.type.replace(/(^(application|text)\/(x-)?(script\.)?)|(-source$)/g,'');
|
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.format) this.input.setAttribute('data-schemaformat',this.format);
|
||||||
|
if(this.defaultValue) this.input.setAttribute('data-schemaformat',this.format);
|
||||||
this.control = this.theme.getFormControl(this.label, this.input, this.description, this.append);
|
if(this.formname)this.label.setAttribute('for',this.formname);
|
||||||
|
|
||||||
|
this.control = this.theme.getFormControl(this.label, this.input, this.description, this.append, this.placeholder);
|
||||||
this.container.appendChild(this.control);
|
this.container.appendChild(this.control);
|
||||||
|
|
||||||
// Any special formatting that needs to happen after the input is added to the dom
|
// Any special formatting that needs to happen after the input is added to the dom
|
||||||
@ -2668,8 +2673,8 @@ JSONEditor.defaults.editors.object = JSONEditor.AbstractEditor.extend({
|
|||||||
else {
|
else {
|
||||||
this.header = document.createElement('span');
|
this.header = document.createElement('span');
|
||||||
this.header.textContent = this.getTitle();
|
this.header.textContent = this.getTitle();
|
||||||
this.title = this.theme.getHeader(this.header);
|
this.title = this.theme.getHeader(this.header);
|
||||||
this.container.appendChild(this.title);
|
this.container.appendChild(this.title);
|
||||||
this.container.style.position = 'relative';
|
this.container.style.position = 'relative';
|
||||||
|
|
||||||
// Edit JSON modal
|
// Edit JSON modal
|
||||||
@ -2739,12 +2744,6 @@ JSONEditor.defaults.editors.object = JSONEditor.AbstractEditor.extend({
|
|||||||
this.description = this.theme.getDescription(this.schema.description);
|
this.description = this.theme.getDescription(this.schema.description);
|
||||||
this.container.appendChild(this.description);
|
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
|
// Validation error placeholder area
|
||||||
this.error_holder = document.createElement('div');
|
this.error_holder = document.createElement('div');
|
||||||
@ -4878,12 +4877,12 @@ JSONEditor.defaults.editors.select = JSONEditor.AbstractEditor.extend({
|
|||||||
register: function() {
|
register: function() {
|
||||||
this._super();
|
this._super();
|
||||||
if(!this.input) return;
|
if(!this.input) return;
|
||||||
this.input.setAttribute('name',this.formname);
|
this.input.setAttribute('id',this.formname);
|
||||||
},
|
},
|
||||||
unregister: function() {
|
unregister: function() {
|
||||||
this._super();
|
this._super();
|
||||||
if(!this.input) return;
|
if(!this.input) return;
|
||||||
this.input.removeAttribute('name');
|
this.input.removeAttribute('id');
|
||||||
},
|
},
|
||||||
getNumColumns: function() {
|
getNumColumns: function() {
|
||||||
if(!this.enum_options) return 3;
|
if(!this.enum_options) return 3;
|
||||||
@ -5032,6 +5031,8 @@ JSONEditor.defaults.editors.select = JSONEditor.AbstractEditor.extend({
|
|||||||
self.onInputChange();
|
self.onInputChange();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if(this.formname)this.label.setAttribute('for',this.formname);
|
||||||
|
|
||||||
this.control = this.theme.getFormControl(this.label, this.input, this.description);
|
this.control = this.theme.getFormControl(this.label, this.input, this.description);
|
||||||
this.container.appendChild(this.control);
|
this.container.appendChild(this.control);
|
||||||
|
|
||||||
@ -6023,7 +6024,9 @@ JSONEditor.defaults.editors.checkbox = JSONEditor.AbstractEditor.extend({
|
|||||||
if(this.options.compact) this.container.className += ' compact';
|
if(this.options.compact) this.container.className += ' compact';
|
||||||
|
|
||||||
this.input = this.theme.getCheckbox();
|
this.input = this.theme.getCheckbox();
|
||||||
this.control = this.theme.getFormControl(this.label, this.input, this.description);
|
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) {
|
if(this.schema.readOnly || this.schema.readonly) {
|
||||||
this.always_disabled = true;
|
this.always_disabled = true;
|
||||||
@ -6227,18 +6230,21 @@ JSONEditor.AbstractTheme = Class.extend({
|
|||||||
},
|
},
|
||||||
getCheckboxLabel: function(text) {
|
getCheckboxLabel: function(text) {
|
||||||
var el = this.getFormInputLabel(text);
|
var el = this.getFormInputLabel(text);
|
||||||
el.style.fontWeight = 'normal';
|
el.style.fontWeight = 'bold';
|
||||||
return el;
|
return el;
|
||||||
},
|
},
|
||||||
getHeader: function(text) {
|
getHeader: function(text) {
|
||||||
var el = document.createElement('h3');
|
var el = document.createElement('h3');
|
||||||
if(typeof text === "string") {
|
if(text.innerHTML == ''){
|
||||||
el.textContent = text;
|
text.style.display = 'none';
|
||||||
|
return text;
|
||||||
|
}
|
||||||
|
else if(typeof text === "string") {
|
||||||
|
el.textContent = text;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
el.appendChild(text);
|
el.appendChild(text);
|
||||||
}
|
}
|
||||||
|
|
||||||
return el;
|
return el;
|
||||||
},
|
},
|
||||||
getCheckbox: function() {
|
getCheckbox: function() {
|
||||||
@ -6547,20 +6553,23 @@ JSONEditor.defaults.themes.bootstrap3 = JSONEditor.AbstractTheme.extend({
|
|||||||
}
|
}
|
||||||
return el;
|
return el;
|
||||||
},
|
},
|
||||||
getFormControl: function(label, input, description, append) {
|
getFormControl: function(label, input, description, append, placeholder) {
|
||||||
var group = document.createElement('div');
|
var group = document.createElement('div');
|
||||||
var subgroup = document.createElement('div');
|
var subgroup = document.createElement('div');
|
||||||
|
|
||||||
|
if(placeholder)
|
||||||
|
input.setAttribute('placeholder',placeholder);
|
||||||
|
|
||||||
if (input.type === 'checkbox'){
|
if (input.type === 'checkbox'){
|
||||||
var helplabel = document.createElement("label")
|
var helplabel = document.createElement("label")
|
||||||
|
|
||||||
group.className += ' form-group';
|
group.className += ' form-group';
|
||||||
group.style.minHeight = "30px";
|
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";
|
label.style.fontWeight = "bold";
|
||||||
group.appendChild(label);
|
group.appendChild(label);
|
||||||
group.appendChild(subgroup);
|
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.style.marginTop = "0px";
|
||||||
subgroup.appendChild(input);
|
subgroup.appendChild(input);
|
||||||
subgroup.appendChild(helplabel);
|
subgroup.appendChild(helplabel);
|
||||||
@ -6571,22 +6580,22 @@ JSONEditor.defaults.themes.bootstrap3 = JSONEditor.AbstractTheme.extend({
|
|||||||
else if (append){
|
else if (append){
|
||||||
group.className += ' form-group';
|
group.className += ' form-group';
|
||||||
if(label) {
|
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(label);
|
||||||
}
|
}
|
||||||
group.appendChild(subgroup);
|
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(input);
|
||||||
subgroup.appendChild(append);
|
subgroup.appendChild(append);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
group.className += ' form-group';
|
group.className += ' form-group';
|
||||||
if(label) {
|
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(label);
|
||||||
}
|
}
|
||||||
group.appendChild(subgroup);
|
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);
|
subgroup.appendChild(input);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -6625,7 +6634,7 @@ JSONEditor.defaults.themes.bootstrap3 = JSONEditor.AbstractTheme.extend({
|
|||||||
},
|
},
|
||||||
getButton: function(text, icon, title) {
|
getButton: function(text, icon, title) {
|
||||||
var el = this._super(text, icon, title);
|
var el = this._super(text, icon, title);
|
||||||
el.className += 'btn btn-default';
|
el.className += 'btn btn-sm btn-primary';
|
||||||
return el;
|
return el;
|
||||||
},
|
},
|
||||||
getTable: function() {
|
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').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>');
|
$('#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({
|
$("#modal_dialog").modal({
|
||||||
backdrop : "static",
|
backdrop : "static",
|
||||||
@ -104,11 +108,11 @@ function isJsonString(str)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function createJsonEditor(container,schema,setconfig)
|
function createJsonEditor(container,schema,setconfig,usePanel)
|
||||||
{
|
{
|
||||||
$('#'+container).off();
|
$('#'+container).off();
|
||||||
$('#'+container).html("");
|
$('#'+container).html("");
|
||||||
|
|
||||||
var editor = new JSONEditor(document.getElementById(container),
|
var editor = new JSONEditor(document.getElementById(container),
|
||||||
{
|
{
|
||||||
theme: 'bootstrap3',
|
theme: 'bootstrap3',
|
||||||
@ -124,12 +128,13 @@ function createJsonEditor(container,schema,setconfig)
|
|||||||
properties: schema
|
properties: schema
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
$('#editor_container .well').css("background-color","white");
|
if(usePanel)
|
||||||
$('#editor_container .well').css("border","none");
|
{
|
||||||
$('#editor_container .well').css("box-shadow","none");
|
$('#'+container+' .well').first().removeClass('well well-sm');
|
||||||
$('#editor_container .btn').addClass("btn-primary");
|
$('#'+container+' h3').remove();
|
||||||
$('#editor_container h3').first().remove();
|
$('#'+container+' .well').first().removeClass('well well-sm');
|
||||||
|
}
|
||||||
|
|
||||||
if (setconfig)
|
if (setconfig)
|
||||||
{
|
{
|
||||||
@ -142,6 +147,80 @@ function createJsonEditor(container,schema,setconfig)
|
|||||||
return editor;
|
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)
|
function createSelGroup(group)
|
||||||
{
|
{
|
||||||
var el = document.createElement('optgroup');
|
var el = document.createElement('optgroup');
|
||||||
@ -176,7 +255,7 @@ function createSel(array, group)
|
|||||||
|
|
||||||
function performTranslation()
|
function performTranslation()
|
||||||
{
|
{
|
||||||
$('#wrapper').i18n();
|
$('[data-i18n]').i18n();
|
||||||
}
|
}
|
||||||
|
|
||||||
function encode_utf8(s)
|
function encode_utf8(s)
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
"args" :
|
"args" :
|
||||||
{
|
{
|
||||||
"sleepTime" : 0.15,
|
"sleepTime" : 0.15,
|
||||||
"brightness" : 0.50,
|
"brightness" : 1.0,
|
||||||
"color" : [ 255, 138, 0 ],
|
"color" : [ 255, 138, 0 ],
|
||||||
"candles" : "all"
|
"candles" : "all"
|
||||||
}
|
}
|
||||||
|
@ -36,23 +36,27 @@
|
|||||||
"title":"edt_eff_colorshift_title",
|
"title":"edt_eff_colorshift_title",
|
||||||
"default": 0.01,
|
"default": 0.01,
|
||||||
"minimum" : 0.00,
|
"minimum" : 0.00,
|
||||||
"maximum": 1,
|
"maximum": 0.3,
|
||||||
|
"step": 0.01,
|
||||||
"propertyOrder" : 4
|
"propertyOrder" : 4
|
||||||
},
|
},
|
||||||
"brightness": {
|
"brightness": {
|
||||||
"type": "number",
|
"type": "number",
|
||||||
"title":"edt_eff_brightness_title",
|
"title":"edt_eff_brightness_title",
|
||||||
"default": 0.5,
|
"default": 1,
|
||||||
"minimum" : 0.01,
|
"minimum" : 0.01,
|
||||||
"maximum": 1,
|
"maximum": 1,
|
||||||
|
"step": 0.1,
|
||||||
"propertyOrder" : 5
|
"propertyOrder" : 5
|
||||||
},
|
},
|
||||||
"sleepTime": {
|
"sleepTime": {
|
||||||
"type": "number",
|
"type": "number",
|
||||||
"title":"edt_eff_sleeptime_title",
|
"title":"edt_eff_sleeptime_title",
|
||||||
"default": 0.15,
|
"default": 0.15,
|
||||||
"minimum" : 0.01,
|
"minimum" : 0.01,
|
||||||
"maximum": 1,
|
"maximum": 1,
|
||||||
|
"step": 0.01,
|
||||||
|
"append" : "edt_append_s",
|
||||||
"propertyOrder" : 6
|
"propertyOrder" : 6
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -81,7 +81,7 @@ QString ImageProcessor::mappingTypeToStr(int mappingType)
|
|||||||
if (mappingType == 1 )
|
if (mappingType == 1 )
|
||||||
return "unicolor_mean";
|
return "unicolor_mean";
|
||||||
|
|
||||||
return "mulicolor_mean";
|
return "multicolor_mean";
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ImageProcessor::getScanParameters(size_t led, double &hscanBegin, double &hscanEnd, double &vscanBegin, double &vscanEnd) const
|
bool ImageProcessor::getScanParameters(size_t led, double &hscanBegin, double &hscanEnd, double &vscanBegin, double &vscanEnd) const
|
||||||
|
@ -501,7 +501,7 @@
|
|||||||
"priority" :
|
"priority" :
|
||||||
{
|
{
|
||||||
"type" : "integer",
|
"type" : "integer",
|
||||||
"minimum" : 2,
|
"minimum" : 100,
|
||||||
"maximum" : 2000000000,
|
"maximum" : 2000000000,
|
||||||
"title" : "edt_conf_general_priority_title",
|
"title" : "edt_conf_general_priority_title",
|
||||||
"default" : 900,
|
"default" : 900,
|
||||||
@ -687,7 +687,7 @@
|
|||||||
{
|
{
|
||||||
"type" : "integer",
|
"type" : "integer",
|
||||||
"title" : "edt_conf_general_priority_title",
|
"title" : "edt_conf_general_priority_title",
|
||||||
"minimum" : 2,
|
"minimum" : 100,
|
||||||
"maximum" : 2000000000,
|
"maximum" : 2000000000,
|
||||||
"default" : 890
|
"default" : 890
|
||||||
},
|
},
|
||||||
@ -1045,7 +1045,7 @@
|
|||||||
{
|
{
|
||||||
"type" : "integer",
|
"type" : "integer",
|
||||||
"title" : "edt_conf_general_priority_title",
|
"title" : "edt_conf_general_priority_title",
|
||||||
"minimum" : 2,
|
"minimum" : 100,
|
||||||
"maximum" : 2000000000,
|
"maximum" : 2000000000,
|
||||||
"default" : 800,
|
"default" : 800,
|
||||||
"propertyOrder" : 3
|
"propertyOrder" : 3
|
||||||
@ -1086,7 +1086,7 @@
|
|||||||
{
|
{
|
||||||
"type" : "integer",
|
"type" : "integer",
|
||||||
"title" : "edt_conf_general_priority_title",
|
"title" : "edt_conf_general_priority_title",
|
||||||
"minimum" : 2,
|
"minimum" : 100,
|
||||||
"maximum" : 2000000000,
|
"maximum" : 2000000000,
|
||||||
"default" : 800,
|
"default" : 800,
|
||||||
"propertyOrder" : 4
|
"propertyOrder" : 4
|
||||||
|
@ -486,9 +486,9 @@ void JsonClientConnection::handleCreateEffectCommand(const QJsonObject& message,
|
|||||||
|
|
||||||
if (effectArray.size() > 0)
|
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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -625,6 +625,7 @@ void JsonClientConnection::handleServerInfoCommand(const QJsonObject&, const QSt
|
|||||||
}
|
}
|
||||||
|
|
||||||
info["priorities"] = priorities;
|
info["priorities"] = priorities;
|
||||||
|
info["priorities_autoselect"] = _hyperion->sourceAutoSelectEnabled();
|
||||||
|
|
||||||
// collect transform information
|
// collect transform information
|
||||||
QJsonArray transformArray;
|
QJsonArray transformArray;
|
||||||
@ -836,7 +837,6 @@ void JsonClientConnection::handleServerInfoCommand(const QJsonObject&, const QSt
|
|||||||
}
|
}
|
||||||
|
|
||||||
info["components"] = component;
|
info["components"] = component;
|
||||||
info["components_autoselect"] = _hyperion->sourceAutoSelectEnabled();
|
|
||||||
info["ledMAppingType"] = ImageProcessor::mappingTypeToStr(_hyperion->getLedMappingType());
|
info["ledMAppingType"] = ImageProcessor::mappingTypeToStr(_hyperion->getLedMappingType());
|
||||||
|
|
||||||
// Add Hyperion Version, build time
|
// Add Hyperion Version, build time
|
||||||
|
Loading…
Reference in New Issue
Block a user