diff --git a/wled00/FX_fcn.cpp b/wled00/FX_fcn.cpp index 3112f96c3..60a975876 100644 --- a/wled00/FX_fcn.cpp +++ b/wled00/FX_fcn.cpp @@ -745,6 +745,7 @@ void WS2812FX::makeAutoSegments(bool forceReset) { s++; } for (uint8_t i = 0; i < MAX_NUM_SEGMENTS; i++) { + _segments[i].setOption(SEG_OPTION_SELECTED, true, i); setSegment(i, segStarts[i], segStops[i]); } } else { diff --git a/wled00/data/index.js b/wled00/data/index.js index db909944c..710204bb6 100644 --- a/wled00/data/index.js +++ b/wled00/data/index.js @@ -241,13 +241,16 @@ function onLoad() // Load initial data loadPalettes(()=>{ loadPalettesData(redrawPalPrev); - loadFX(()=>{ - loadFXData(); - setTimeout(()=>{ // ESP8266 can't handle quick requests - loadPresets(()=>{ - requestJson(); // will create WS - }); - },100); + // fill effect extra data array + loadFXData(()=>{ + // load and populate effects + loadFX(()=>{ + setTimeout(()=>{ // ESP8266 can't handle quick requests + loadPresets(()=>{ + requestJson(); // will create WS + }); + },100); + }); }); }); resetUtil(); @@ -747,24 +750,19 @@ function populateEffects() effects.unshift({ "id": 0, - "name": "Solid@;!;0" + "name": "Solid" }); for (let i = 0; i < effects.length; i++) { // WLEDSR: add slider and color control to setX (used by requestjson) if (effects[i].name.indexOf("Reserved") < 0) { - var posAt = effects[i].name.indexOf("@"); - var extra = ''; - if (posAt > 0) - extra = effects[i].name.substr(posAt); - else - posAt = 999; + var extra = !(Array.isArray(fxdata) && fxdata.length>i) ? '' : fxdata[i].substr(1); html += generateListItemHtml( 'fx', effects[i].id, - effects[i].name.substr(0,posAt), + effects[i].name, 'setX', - '','', + '', extra ); } @@ -862,9 +860,9 @@ function genPalPrevCss(id) return `background: linear-gradient(to right,${gradient.join()});`; } -function generateListItemHtml(listName, id, name, clickAction, extraHtml = '', extraClass = '', extraPar = '') +function generateListItemHtml(listName, id, name, clickAction, extraHtml = '', extraPar = '') { - return `
+ return `