diff --git a/CHANGELOG b/CHANGELOG index e297efd5..3569e877 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,7 @@ +2023-10-23 + - fix Spotify track insertion + - [WEB] Allow running without LMS with option "Audio/Disable Squeezelite" + 2023-10.07 - catchup with official cspot diff --git a/components/wifi-manager/webapp/src/index.ejs b/components/wifi-manager/webapp/src/index.ejs index 13bf7a4a..8b70bcbc 100644 --- a/components/wifi-manager/webapp/src/index.ejs +++ b/components/wifi-manager/webapp/src/index.ejs @@ -331,8 +331,7 @@
diff --git a/components/wifi-manager/webapp/src/js/custom.js b/components/wifi-manager/webapp/src/js/custom.js index 1c45d7a4..ddb6721b 100644 --- a/components/wifi-manager/webapp/src/js/custom.js +++ b/components/wifi-manager/webapp/src/js/custom.js @@ -923,10 +923,10 @@ window.saveAutoexec1 = function (apply) { }; data.config = { autoexec1: { value: commandLine, type: 33 }, - autoexec: { - value: $('#disable-squeezelite').prop('checked') ? '0' : '1', - type: 33, - }, + // autoexec: { + // value: $('#disable-squeezelite').prop('checked') ? '0' : '1', + // type: 33, + // }, }; $.ajax({ @@ -1216,6 +1216,28 @@ $(document).ready(function () { } }); + $('#disable-squeezelite').on('click', function () { + // this.checked = this.checked ? 1 : 0; + // $('#disable-squeezelite').prop('checked') + if (this.checked) { + // Store the current value before overwriting it + const currentValue = $('#cmd_opt_s').val(); + $('#cmd_opt_s').data('originalValue', currentValue); + + // Overwrite the value with '-disable' + $('#cmd_opt_s').val('-disable'); + } else { + // Retrieve the original value + const originalValue = $('#cmd_opt_s').data('originalValue'); + + // Restore the original value if it exists, otherwise set it to an empty string + $('#cmd_opt_s').val(originalValue ? originalValue : ''); + } + + }); + + + $('input#show-nvs').on('click', function () { this.checked = this.checked ? 1 : 0; Cookies.set("show-nvs", this.checked ? 'Y' : 'N'); @@ -2199,13 +2221,7 @@ function getConfig() { .sort() .forEach(function (key) { let val = data[key].value; - if (key === 'autoexec') { - if (data.autoexec.value === '0') { - $('#disable-squeezelite')[0].checked = true; - } else { - $('#disable-squeezelite')[0].checked = false; - } - } else if (key === 'autoexec1') { + if (key === 'autoexec1') { /* call new function to parse the squeezelite options */ processSqueezeliteCommandLine(val); } else if (key === 'host_name') { @@ -2294,6 +2310,7 @@ function processSqueezeliteCommandLine(val) { commandBTSinkName= parsed.otherOptions.btname; } handleTemplateTypeRadio('bt'); + } Object.keys(parsed.options).forEach(function (key) { const option = parsed.options[key]; @@ -2312,6 +2329,17 @@ function processSqueezeliteCommandLine(val) { $('#resample_i').prop('checked', true); } } + if (parsed.options.hasOwnProperty('s')) { + // parse -u v[:i] and check the appropriate radio button with id #resample_v + if(parsed.options.s === '-disable'){ + $('#disable-squeezelite')[0].checked = true; + } + else { + $('#disable-squeezelite')[0].checked = false; + } + } + + }