player.html 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. [% IF useExtJS; extJsScripts = BLOCK %]
  2. <script type="text/javascript">
  3. Ext.onReady(function () {
  4. new Ext.util.TaskRunner().start({
  5. run: checkEq,
  6. interval: 1000
  7. });
  8. });
  9. function checkEq() {
  10. var eqValues = [];
  11. this.lastValues = this.lastValues || [];
  12. for (var x = 0; x < 10; x++) {
  13. eqValues[x] = Ext.get('pref_equalizer.' + x).dom.value || 0;
  14. }
  15. if (eqValues.join() != this.lastValues.join()) {
  16. this.lastValues = eqValues;
  17. SqueezeJS.Controller.request({
  18. params: ['[% playerid %]', ['squeezeesp32', 'seteq', eqValues.join()]]
  19. });
  20. }
  21. var ldValue;
  22. this.lastLd = this.lastLd;
  23. ldValue = Ext.get('pref_loudness').dom.value || 0;
  24. if (ldValue != this.lastLd) {
  25. this.lastLd = ldValue;
  26. SqueezeJS.Controller.request({
  27. params: ['[% playerid %]', ['squeezeesp32', 'setld', ldValue]]
  28. });
  29. }
  30. }
  31. </script>
  32. [% END; ELSIF !useExtJS; pageHeaderScripts = BLOCK %]
  33. <script type="text/javascript">
  34. setInterval(checkEq, 1000);
  35. function checkEq() {
  36. var eqValues = [];
  37. this.lastValues = this.lastValues || [];
  38. for (var x = 0; x < 10; x++) {
  39. eqValues[x] = $('pref_equalizer.' + x).value || 0;
  40. }
  41. if (eqValues.join() != this.lastValues.join()) {
  42. this.lastValues = eqValues;
  43. new Ajax.Request('/jsonrpc.js', {
  44. method: 'post',
  45. postBody: JSON.stringify({
  46. id: 1,
  47. method: 'slim.request',
  48. params: ['[% playerid %]', ['squeezeesp32', 'seteq', eqValues.join()]]
  49. })
  50. });
  51. }
  52. var ldValue;
  53. this.lastLd = this.lastLd;
  54. ldValue = $('pref_loudness').value || 0;
  55. if (ldValue != this.lastLd) {
  56. this.lastLd = ldValue;
  57. new Ajax.Request('/jsonrpc.js', {
  58. method: 'post',
  59. postBody: JSON.stringify({
  60. id: 1,
  61. method: 'slim.request',
  62. params: ['[% playerid %]', ['squeezeesp32', 'setld', ldValue]]
  63. })
  64. });
  65. }
  66. }
  67. </script>
  68. [% END; END %]
  69. [% PROCESS settings/header.html %]
  70. [% WRAPPER setting title="PLUGIN_SQUEEZEESP32_FIRMWARE" desc="" %]
  71. <div><a href="http://[% player_ip %]" target="_blank">[% "PLUGIN_SQUEEZEESP32_PLAYERSETTINGS" | string %] ([% player_ip %])</a></div>
  72. [% IF fwUpdateAvailable %]
  73. <div>
  74. <input type="submit" name="installUpdate" class="stdclick" value="[% "CONTROLPANEL_INSTALL_UPDATE" | string %]"/>
  75. [% fwUpdateAvailable %]
  76. </div>
  77. [% END %]
  78. [% IF fwCustomUpdateAvailable %]
  79. <div>
  80. <input type="submit" name="installCustomUpdate" class="stdclick" value="[% "CONTROLPANEL_INSTALL_UPDATE" | string %]"/>
  81. [% fwCustomUpdateAvailable | string %]
  82. </div>
  83. [% END %]
  84. [% END %]
  85. [% IF prefs.pref_width %]
  86. [% WRAPPER setting title="PLUGIN_SQUEEZEESP32_WIDTH" desc="PLUGIN_SQUEEZEESP32_WIDTH_DESC" %]
  87. <!--<input type="text" readonly class="stdedit" name="pref_width" id="width" value="[% prefs.pref_width %]" size="3">-->
  88. <input type="hidden" name="pref_width" value="[% prefs.pref_width %]">
  89. [% prefs.pref_width %]
  90. [% END %]
  91. [% WRAPPER setting title="PLUGIN_SQUEEZEESP32_SMALL_VU" desc="PLUGIN_SQUEEZEESP32_SMALL_VU_DESC" %]
  92. <input type="number" min="10" max= "50" step="5"class="stdedit" name="pref_small_VU" id="small_VU" value="[% prefs.pref_small_VU %]" size="3">
  93. [% END %]
  94. [% WRAPPER setting title="PLUGIN_SQUEEZEESP32_SPECTRUM_SCALE" desc="PLUGIN_SQUEEZEESP32_SPECTRUM_SCALE_DESC" %]
  95. <input type="number" min="10" max= "50" step="5" class="stdedit" name="pref_spectrum_scale" id="spectrum_scale" value="[% pref_spectrum.scale %]" size="3">
  96. [% END %]
  97. [% WRAPPER setting title="PLUGIN_SQUEEZEESP32_SMALL_SPECTRUM" desc="PLUGIN_SQUEEZEESP32_SMALL_SPECTRUM_DESC" %]
  98. [% "PLUGIN_SQUEEZEESP32_SMALL_SPECTRUM_SIZE" | string %]&nbsp
  99. <input type="number" min="10" max= "50" step="5"class="stdedit" name="pref_spectrum_small_size" id="spectrum_small_size" value="[% pref_spectrum.small.size %]" size="3">
  100. [% "PLUGIN_SQUEEZEESP32_SMALL_SPECTRUM_BAND" | string %]&nbsp
  101. <input type="text" class="stdedit" name="pref_spectrum_small_band" id="spectrum_small_band" value="[% pref_spectrum.small.band %]" size="3">
  102. [% END %]
  103. [% WRAPPER setting title="PLUGIN_SQUEEZEESP32_FULL_SPECTRUM_BAND" desc="PLUGIN_SQUEEZEESP32_FULL_SPECTRUM_BAND_DESC" %]
  104. <input type="text" class="stdedit" name="pref_spectrum_full_band" id="spectrum_full_band" value="[% pref_spectrum.full.band %]" size="3">
  105. [% END %]
  106. [% WRAPPER setting title="PLUGIN_SQUEEZEESP32_ARTWORK" desc="PLUGIN_SQUEEZEESP32_ARTWORK_DESC" %]
  107. [% "PLUGIN_SQUEEZEESP32_ARTWORK_ENABLE" | string %]&nbsp
  108. <input type="checkbox" name="pref_artwork_enable" [% IF pref_artwork.enable %] checked [% END %]>&nbsp;
  109. [% "PLUGIN_SQUEEZEESP32_ARTWORK_X" | string %]&nbsp
  110. <input type="text" class="stdedit" name="pref_artwork_x" id="artwork_x" value="[% pref_artwork.x %]" size="2">
  111. [% "PLUGIN_SQUEEZEESP32_ARTWORK_Y" | string %]&nbsp
  112. <input type="text" class="stdedit" name="pref_artwork_y" id="artwork_y" value="[% pref_artwork.y %]" size="2">
  113. [% END %]
  114. <hr>
  115. [% END %]
  116. [% IF prefs.pref_led_config %]
  117. [% WRAPPER setting title="PLUGIN_SQUEEZEESP32_LED_CONFIG" desc="PLUGIN_SQUEEZEESP32_LED_CONFIG_DESC" %]
  118. <!--<input type="text" readonly class="stdedit" name="pref_led_config" id="led_config" value="[% prefs.pref_led_config %]" size="3">-->
  119. <input type="hidden" name="pref_led_config" value="[% prefs.pref_led_config %]">
  120. [% prefs.pref_led_config %]
  121. [% END %]
  122. [% WRAPPER setting title="PLUGIN_SQUEEZEESP32_LED_VISUALIZER" desc="PLUGIN_SQUEEZEESP32_LED_VISUALIZER_DESC" %]
  123. <select class="stdedit" name="pref_led_visualizer" id="led_visualizer">
  124. [% num = 1 %][% last = 1 %]
  125. [% FOREACH option = ledVisualModes.keys.nsort %]
  126. <option [% IF prefs.pref_led_visualizer == option %]selected [% ELSIF num == 1 && option == '-1' %]selected [% END %]value="[% option %]">[% ledVisualModes.$option %]</option>
  127. [%- END -%]
  128. </select>
  129. [% END %]
  130. [% WRAPPER setting title="PLUGIN_SQUEEZEESP32_LED_BRIGHTNESS" desc="PLUGIN_SQUEEZEESP32_LED_BRIGHTNESS_DESC" %]
  131. <input type="text" class="stdedit sliderInput_0_255" name="pref_led_brightness" id="led_brightness" value="[% prefs.pref_led_brightness %]" size="2">
  132. [% END %]
  133. [% WRAPPER setting title="PLUGIN_SQUEEZEESP32_LED_DATA" desc="PLUGIN_SQUEEZEESP32_LED_DATA_DESC" %]
  134. <input type="button" name="led_data_send" onclick="SqueezeJS.Controller.request({params: ['[% playerid %]', ['dmx', document.getElementById('led_data_cmd').value, document.getElementById('led_data_x').value]] });" value="[% "PLUGIN_SQUEEZEESP32_LED_DATA_SEND" | string %]">&nbsp;
  135. [% "PLUGIN_SQUEEZEESP32_LED_DATA_X" | string %]&nbsp
  136. <input type="text" class="stdedit" name="pref_led_data_x" id="led_data_x" value="0" size="2">
  137. [% "PLUGIN_SQUEEZEESP32_LED_DATA_CMD" | string %]&nbsp
  138. <input type="text" class="stdedit" name="pref_led_data_cmd" id="led_data_cmd" value="80,0,0,0,80,0,0,0,80" size="50">
  139. [% END %]
  140. <hr>
  141. [% END %]
  142. [% IF pref_equalizer %]
  143. [% WRAPPER setting title="PLUGIN_SQUEEZEESP32_EQUALIZER" desc="" %]
  144. <div>[% "PLUGIN_SQUEEZEESP32_EQUALIZER_SAVE" | string %]</div>
  145. [% END %]
  146. [% WRAPPER settingSection %]
  147. [% WRAPPER settingGroup title='Loudness' desc="" %]
  148. <input type="text" class="stdedit sliderInput_0_10" name="pref_loudness" id="pref_loudness" value="[% pref_loudness || 0 %]" size="2"">
  149. [% END %]
  150. [% WRAPPER settingGroup title='31Hz' desc="" %]
  151. <input type="text" class="stdedit sliderInput_-13_20" name="pref_equalizer.0" id="pref_equalizer.0" value="[% pref_equalizer.0 || 0 %]" size="2"">
  152. [% END %]
  153. [% WRAPPER settingGroup title='62Hz' desc="" %]
  154. <input type="text" class="stdedit sliderInput_-13_20" name="pref_equalizer.1" id="pref_equalizer.1" value="[% pref_equalizer.1 || 0 %]" size="2">
  155. [% END %]
  156. [% WRAPPER settingGroup title='125Hz' desc="" %]
  157. <input type="text" class="stdedit sliderInput_-13_20" name="pref_equalizer.2" id="pref_equalizer.2" value="[% pref_equalizer.2 || 0 %]" size="2">
  158. [% END %]
  159. [% WRAPPER settingGroup title='250Hz' desc="" %]
  160. <input type="text" class="stdedit sliderInput_-13_20" name="pref_equalizer.3" id="pref_equalizer.3" value="[% pref_equalizer.3 || 0 %]" size="2">
  161. [% END %]
  162. [% WRAPPER settingGroup title='500Hz' desc="" %]
  163. <input type="text" class="stdedit sliderInput_-13_20" name="pref_equalizer.4" id="pref_equalizer.4" value="[% pref_equalizer.4 || 0 %]" size="2">
  164. [% END %]
  165. [% WRAPPER settingGroup title='1kHz' desc="" %]
  166. <input type="text" class="stdedit sliderInput_-13_20" name="pref_equalizer.5" id="pref_equalizer.5" value="[% pref_equalizer.5 || 0 %]" size="2">
  167. [% END %]
  168. [% WRAPPER settingGroup title='2kHz' desc="" %]
  169. <input type="text" class="stdedit sliderInput_-13_20" name="pref_equalizer.6" id="pref_equalizer.6" value="[% pref_equalizer.6 || 0 %]" size="2">
  170. [% END %]
  171. [% WRAPPER settingGroup title='4kHz' desc="" %]
  172. <input type="text" class="stdedit sliderInput_-13_20" name="pref_equalizer.7" id="pref_equalizer.7" value="[% pref_equalizer.7 || 0 %]" size="2">
  173. [% END %]
  174. [% WRAPPER settingGroup title='8kHz' desc="" %]
  175. <input type="text" class="stdedit sliderInput_-13_20" name="pref_equalizer.8" id="pref_equalizer.8" value="[% pref_equalizer.8 || 0 %]" size="2">
  176. [% END %]
  177. [% WRAPPER settingGroup title='16kHz' desc="" %]
  178. <input type="text" class="stdedit sliderInput_-13_20" name="pref_equalizer.9" id="pref_equalizer.9" value="[% pref_equalizer.9 || 0 %]" size="2">
  179. [% END %]
  180. [% END %]
  181. [% END %]
  182. [% PROCESS settings/footer.html %]