diff --git a/wled00/FX.h b/wled00/FX.h
index 1d32471d1..f43e9765f 100644
--- a/wled00/FX.h
+++ b/wled00/FX.h
@@ -1020,8 +1020,8 @@ const char JSON_mode_names[] PROGMEM = R"=====([
"Noise 4",
"Colortwinkles",
"Lake",
-"Meteor",
-"Meteor Smooth",
+"Meteor@!,Trail length;!,!,;!",
+"Meteor Smooth@!,Trail length;!,!,;!",
"Railway",
"Ripple",
"Twinklefox",
diff --git a/wled00/cfg.cpp b/wled00/cfg.cpp
index bcf592086..62ae75eda 100644
--- a/wled00/cfg.cpp
+++ b/wled00/cfg.cpp
@@ -543,6 +543,7 @@ void serializeConfig() {
hw_led["cct"] = correctWB;
hw_led[F("cr")] = cctFromRgb;
hw_led[F("cb")] = strip.cctBlending;
+ hw_led[F("rgbwm")] = Bus::getAutoWhiteMode();
JsonArray hw_led_ins = hw_led.createNestedArray("ins");
@@ -562,7 +563,6 @@ void serializeConfig() {
ins["type"] = bus->getType() & 0x7F;
ins["ref"] = bus->isOffRefreshRequired();
ins[F("rgbw")] = bus->isRgbw();
- ins[F("rgbwm")] = bus->getAutoWhiteMode();
}
// button(s)
diff --git a/wled00/data/index.css b/wled00/data/index.css
index bc44024df..16fc1bbbb 100644
--- a/wled00/data/index.css
+++ b/wled00/data/index.css
@@ -525,15 +525,7 @@ img {
z-index: -1;
--bg: var(--c-f);
}
-/*
-#rwrap .sliderdisplay,
-#gwrap .sliderdisplay,
-#bwrap .sliderdisplay,
-#wwrap .sliderdisplay,
-#vwrap .sliderdisplay,
-#kwrap .sliderdisplay,
-#wbal .sliderdisplay,
-*/
+
#Colors .sliderdisplay {
height: 28px;
top: 0; bottom: 0;
@@ -580,15 +572,7 @@ input[type=range] {
background-color: transparent;
cursor: pointer;
}
-/*
-#rwrap input[type=range],
-#gwrap input[type=range],
-#bwrap input[type=range],
-#wwrap input[type=range],
-#vwrap input[type=range],
-#kwrap input[type=range],
-#wbal input[type=range],
-*/
+
#Colors input[type=range] {
width: 252px;
margin: 0;
@@ -625,30 +609,12 @@ input[type=range]::-moz-range-thumb {
background: var(--c-f);
transform: translateY(5px);
}
-/*
-#rwrap input[type=range]::-webkit-slider-thumb,
-#gwrap input[type=range]::-webkit-slider-thumb,
-#bwrap input[type=range]::-webkit-slider-thumb,
-#wwrap input[type=range]::-webkit-slider-thumb,
-#vwrap input[type=range]::-webkit-slider-thumb,
-#kwrap input[type=range]::-webkit-slider-thumb,
-#wbal input[type=range]::-webkit-slider-thumb,
-*/
#Colors input[type=range]::-webkit-slider-thumb {
height: 18px;
width: 18px;
border: 2px solid #000;
margin-top: 5px;
}
-/*
-#rwrap input[type=range]::-moz-range-thumb,
-#gwrap input[type=range]::-moz-range-thumb,
-#bwrap input[type=range]::-moz-range-thumb,
-#wwrap input[type=range]::-moz-range-thumb,
-#vwrap input[type=range]::-moz-range-thumb,
-#kwrap input[type=range]::-moz-range-thumb,
-#wbal input[type=range]::-moz-range-thumb,
-*/
#Colors input[type=range]::-moz-range-thumb {
border: 2px solid var(--c-1);
}
@@ -661,15 +627,6 @@ input[type=range]::-moz-range-thumb {
width: 230px;
position: relative;
}
-/*
-#rwrap .sliderwrap,
-#gwrap .sliderwrap,
-#bwrap .sliderwrap,
-#wwrap .sliderwrap,
-#vwrap .sliderwrap,
-#kwrap .sliderwrap,
-#wbal .sliderwrap,
-*/
#Colors .sliderwrap {
width: 260px;
margin: 10px 0 0;
diff --git a/wled00/data/index.htm b/wled00/data/index.htm
index 64c289801..0cae084a2 100644
--- a/wled00/data/index.htm
+++ b/wled00/data/index.htm
@@ -49,22 +49,21 @@
-
RGB color
+
RGB color
diff --git a/wled00/data/index.js b/wled00/data/index.js
index b743f3499..a84efb828 100644
--- a/wled00/data/index.js
+++ b/wled00/data/index.js
@@ -1306,6 +1306,7 @@ function setSliderAndColorControl(idx/*, extra*/)
// set html color items on/off
var cslLabel = '';
var sep = '';
+ var hide = true;
for (let i=0; i0*/) { // if no controls then all buttons should be shown for color 1..3
btn.style.display = "inline";
btn.innerHTML = `${i+1}`;
+ hide = false;
} else {
btn.style.display = "none";
}
}
+ var ccfg = cfg.comp.colors;
+ gId("picker").style.display = hide && ccfg.picker ? "none" : "block";
+ gId("vwrap").style.display = hide && ccfg.picker ? "none" : "block";
+ gId("kwrap").style.display = hide && ccfg.picker && cct ? "none" : "block";
+ gId("wwrap").style.display = hide ? "none" : "block";
+ gId("wbal").style.display = hide && !cct ? "none" : "block";
+ gId("rgbwrap").style.display = hide && ccfg.rgb ? "none" : "block";
+ gId("qcs-w").style.display = hide && ccfg.quick ? "none" : "block";
gId("cslLabel").innerHTML = cslLabel;
// set palette on/off
@@ -1982,14 +1993,16 @@ function delP(i) {
function selectSlot(b)
{
+ csel = b;
var cd = gId('csl').children;
for (let i = 0; i < cd.length; i++) cd[i].classList.remove('xxs-w');
cd[b].classList.add('xxs-w');
- cpick.color.set(cd[b].style.backgroundColor);
+ setPicker(cd[b].style.backgroundColor);
gId('sliderW').value = whites[b];
updatePSliders();
}
+//set the color from a hex string. Used by quick color selectors
var lasth = 0;
function pC(col)
{
@@ -2001,7 +2014,7 @@ function pC(col)
} while (Math.abs(col.h - lasth) < 50);
lasth = col.h;
}
- cpick.color.set(col);
+ setPicker(col);
setColor(0);
}
@@ -2026,8 +2039,8 @@ function updatePSliders() {
var hsv = {"h":cpick.color.hue,"s":cpick.color.saturation,"v":100};
var c = iro.Color.hsvToRgb(hsv);
var cs = 'rgb('+c.r+','+c.g+','+c.b+')';
- //v.parentNode.getElementsByClassName('sliderdisplay')[0].style.setProperty('--bg',cs);
v.nextElementSibling.style.backgroundImage = `linear-gradient(90deg, #000 0%, ${cs})`;
+ //v.parentNode.getElementsByClassName('sliderdisplay')[0].style.setProperty('--bg',cs);
//updateTrail(v);
//update Kelvin slider
@@ -2044,14 +2057,20 @@ function fromHex()
var str = gId('hexc').value;
whites[csel] = parseInt(str.substring(6), 16);
try {
- cpick.color.set("#" + str.substring(0,6));
+ setPicker("#" + str.substring(0,6));
} catch (e) {
- cpick.color.set("#ffaa00");
+ setPicker("#ffaa00");
}
if (isNaN(whites[csel])) whites[csel] = 0;
setColor(2);
}
+function setPicker(rgb) {
+ var c = new iro.Color(rgb);
+ if (c.value > 0) cpick.color.set(c);
+ else cpick.color.setChannel('hsv', 'v', 0);
+}
+
function fromV()
{
cpick.color.setChannel('hsv', 'v', d.getElementById('sliderV').value);
@@ -2067,14 +2086,14 @@ function fromRgb()
var r = gId('sliderR').value;
var g = gId('sliderG').value;
var b = gId('sliderB').value;
- cpick.color.set(`rgb(${r},${g},${b})`);
+ setPicker(`rgb(${r},${g},${b})`);
}
//sr 0: from RGB sliders, 1: from picker, 2: from hex
function setColor(sr)
{
var cd = gId('csl').children; // color slots
- if (sr == 1 && cd[csel].style.backgroundColor == 'rgb(0,0,0)') cpick.color.setChannel('hsv', 'v', 100);
+ if (sr == 1 && cd[csel].style.backgroundColor == "rgb(0, 0, 0)") cpick.color.setChannel('hsv', 'v', 100); // watch out for spaces!!!
cd[csel].style.backgroundColor = cpick.color.rgbString;
if (sr != 2) whites[csel] = parseInt(gId('sliderW').value);
var col = cpick.color.rgb;
@@ -2231,11 +2250,13 @@ function formatArr(pl) {
function expand(i,a=false)
{
var seg = gId('seg' +i);
+/*
if (!a) {
var j = i>100 ? 100 : 0;
var l = i>100 ? expanded.length : 100;
for (; jBack
// Autogenerated from wled00/data/settings_leds.htm, do not edit!!
const char PAGE_settings_leds[] PROGMEM = R"=====(LED Settings