Merge remote-tracking branch 'origin/dev' into custom-effects
This commit is contained in:
@@ -101,10 +101,10 @@ button {
|
||||
position: fixed;
|
||||
bottom: calc(var(--bh) + 6px);
|
||||
right: 6px;
|
||||
color: var(--c-d);
|
||||
color: var(--c-d); /* must remain bright with dark shadow (see below) to be legible on gray background */
|
||||
cursor: pointer;
|
||||
writing-mode: vertical-rl;
|
||||
transform: rotate(180deg);
|
||||
/* transform: rotate(180deg); */
|
||||
}
|
||||
|
||||
.bri {
|
||||
@@ -1045,7 +1045,7 @@ textarea {
|
||||
/*box-shadow: 0 0 0 5px var(--c-d);*/
|
||||
}
|
||||
|
||||
.qcs, #namelabel {
|
||||
.qcs, #namelabel { /* text shadow for name to be legible on grey backround */
|
||||
text-shadow: -1px -1px 0 var(--c-4), 1px -1px 0 var(--c-4), -1px 1px 0 var(--c-4), 1px 1px 0 var(--c-4);
|
||||
}
|
||||
|
||||
|
||||
@@ -594,7 +594,9 @@ function parseInfo(i) {
|
||||
lastinfo = i;
|
||||
var name = i.name;
|
||||
gId('namelabel').innerHTML = name;
|
||||
//if (name === "Dinnerbone") d.documentElement.style.transform = "rotate(180deg)";
|
||||
if (!name.match(/[\u3040-\u30ff\u3400-\u4dbf\u4e00-\u9fff\uf900-\ufaff\uff66-\uff9f\u3131-\uD79D]/))
|
||||
gId('namelabel').style.transform = "rotate(180deg)"; // rotate if no CJK characters
|
||||
if (name === "Dinnerbone") d.documentElement.style.transform = "rotate(180deg)"; // Minecraft easter egg
|
||||
if (i.live) name = "(Live) " + name;
|
||||
if (loc) name = "(L) " + name;
|
||||
d.title = name;
|
||||
@@ -611,13 +613,13 @@ function parseInfo(i) {
|
||||
//gId("filter2D").classList.add("hide");
|
||||
hideModes("2D");
|
||||
}
|
||||
if (i.noaudio) {
|
||||
gId("filterVol").classList.add("hide");
|
||||
gId("filterFreq").classList.add("hide");
|
||||
}
|
||||
// if (i.noaudio) {
|
||||
// gId("filterVol").classList.add("hide");
|
||||
// gId("filterFreq").classList.add("hide");
|
||||
// }
|
||||
// if (!i.u || !i.u.AudioReactive) {
|
||||
//gId("filterVol").classList.add("hide"); hideModes(" ♪"); // hide volume reactive effects
|
||||
//gId("filterFreq").classList.add("hide"); hideModes(" ♫"); // hide frequency reactive effects
|
||||
// gId("filterVol").classList.add("hide"); hideModes(" ♪"); // hide volume reactive effects
|
||||
// gId("filterFreq").classList.add("hide"); hideModes(" ♫"); // hide frequency reactive effects
|
||||
// }
|
||||
}
|
||||
|
||||
@@ -653,12 +655,13 @@ function populateInfo(i)
|
||||
}
|
||||
}
|
||||
var vcn = "Kuuhaku";
|
||||
if (i.ver.startsWith("0.13.")) vcn = "Toki";
|
||||
if (i.ver.includes("-bl")) vcn = "Ryujin";
|
||||
if (i.ver.startsWith("0.14.")) vcn = "Hoshi";
|
||||
if (i.ver.includes("-bl")) vcn = "Supāku";
|
||||
if (i.cn) vcn = i.cn;
|
||||
|
||||
cn += `v${i.ver} "${vcn}"<br><br><table>
|
||||
${urows}
|
||||
${urows===""?'':'<tr><td colspan=2><hr style="height:1px;border-width:0;color:gray;background-color:gray"></td></tr>'}
|
||||
${inforow("Build",i.vid)}
|
||||
${inforow("Signal strength",i.wifi.signal +"% ("+ i.wifi.rssi, " dBm)")}
|
||||
${inforow("Uptime",getRuntimeStr(i.uptime))}
|
||||
@@ -714,7 +717,7 @@ function populateSegments(s)
|
||||
}
|
||||
let map2D = `<div id="seg${i}map2D" data-map="map2D" class="lbl-s hide">Expand 1D FX<br>
|
||||
<div class="sel-p"><select class="sel-p" id="seg${i}mp12" onchange="setMp12(${i})">
|
||||
<option value="0" ${inst.mp12==0?' selected':''}>Strip</option>
|
||||
<option value="0" ${inst.mp12==0?' selected':''}>Pixels</option>
|
||||
<option value="1" ${inst.mp12==1?' selected':''}>Bar</option>
|
||||
<option value="2" ${inst.mp12==2?' selected':''}>Arc</option>
|
||||
<option value="3" ${inst.mp12==3?' selected':''}>Corner</option>
|
||||
@@ -1046,7 +1049,7 @@ function updateLen(s)
|
||||
let tPL = gId(`seg${s}lbtm`);
|
||||
if (stop-start>1 && stopY-startY>1) {
|
||||
// 2D segment
|
||||
tPL.classList.remove("hide"); // unhide transpose checkbox
|
||||
if (tPL) tPL.classList.remove("hide"); // unhide transpose checkbox
|
||||
let sE = gId('fxlist').querySelector(`.lstI[data-id="${selectedFx}"]`);
|
||||
if (sE) {
|
||||
let sN = sE.querySelector(".lstIname").innerText;
|
||||
@@ -1058,8 +1061,10 @@ function updateLen(s)
|
||||
}
|
||||
} else {
|
||||
// 1D segment in 2D set-up
|
||||
tPL.classList.add("hide"); // hide transpose checkbox
|
||||
gId(`seg${s}tp`).checked = false; // and uncheck it
|
||||
if (tPL) {
|
||||
tPL.classList.add("hide"); // hide transpose checkbox
|
||||
gId(`seg${s}tp`).checked = false; // and uncheck it
|
||||
}
|
||||
}
|
||||
}
|
||||
var out = "(delete)";
|
||||
@@ -1999,15 +2004,15 @@ function setSeg(s)
|
||||
var stopY = parseInt(gId(`seg${s}eY`).value);
|
||||
obj.seg.startY = startY;
|
||||
obj.seg.stopY = (cfg.comp.seglen?startY:0)+stopY;
|
||||
obj.seg.tp = gId(`seg${s}tp`).checked;
|
||||
}
|
||||
if (gId(`seg${s}grp`)) {
|
||||
if (gId(`seg${s}grp`)) { // advanced options, not present in new segment dialog (makeSeg())
|
||||
var grp = parseInt(gId(`seg${s}grp`).value);
|
||||
var spc = parseInt(gId(`seg${s}spc`).value);
|
||||
var ofs = parseInt(gId(`seg${s}of` ).value);
|
||||
obj.seg.grp = grp;
|
||||
obj.seg.spc = spc;
|
||||
obj.seg.of = ofs;
|
||||
if (isM) obj.seg.tp = gId(`seg${s}tp`).checked;
|
||||
}
|
||||
requestJson(obj);
|
||||
}
|
||||
|
||||
@@ -177,7 +177,7 @@
|
||||
if (t > 31 && t < 48) d.getElementsByName("LC"+n)[0].value = 1; // for sanity change analog count just to 1 LED
|
||||
}
|
||||
gId("rf"+n).onclick = (t == 31) ? (()=>{return false}) : (()=>{}); // prevent change for TM1814
|
||||
isRGBW |= (t == 30 || t == 31 || (t > 40 && t < 46 && t != 43)); // RGBW checkbox, TYPE_xxxx values from const.h
|
||||
isRGBW = (t == 30 || t == 31 || (t > 40 && t < 46 && t != 43) || t == 88); // RGBW checkbox, TYPE_xxxx values from const.h
|
||||
gId("co"+n).style.display = ((t >= 80 && t < 96) || (t >= 40 && t < 48)) ? "none":"inline"; // hide color order for PWM
|
||||
gId("dig"+n+"w").style.display = (t == 30 || t == 31) ? "inline":"none"; // show swap channels dropdown
|
||||
if (!(t == 30 || t == 31)) d.getElementsByName("WO"+n)[0].value = 0; // reset swapping
|
||||
@@ -332,6 +332,7 @@ ${i+1}:
|
||||
<option value="80">DDP RGB (network)</option>
|
||||
<!--option value="81">E1.31 RGB (network)</option-->
|
||||
<!--option value="82">ArtNet RGB (network)</option-->
|
||||
<option value="88">DDP RGBW (network)</option>
|
||||
</select><br>
|
||||
<div id="co${i}" style="display:inline">Color Order:
|
||||
<select name="CO${i}">
|
||||
|
||||
@@ -230,6 +230,7 @@
|
||||
Global SPI GPIOs (HW)<br>
|
||||
<i style="color: orange;">(only changable on ESP32, change requires reboot!)</i><br>
|
||||
MOSI:<input type="number" min="-1" max="33" name="MOSI" onchange="check(this,'if')" class="s" placeholder="MOSI">
|
||||
MISO:<input type="number" min="-1" max="33" name="MISO" onchange="check(this,'if')" class="s" placeholder="MISO">
|
||||
SCLK:<input type="number" min="-1" max="33" name="SCLK" onchange="check(this,'if')" class="s" placeholder="SCLK">
|
||||
<div id="um">Loading settings...</div>
|
||||
<hr><button type="button" onclick="B()">Back</button><button type="submit">Save</button>
|
||||
|
||||
@@ -505,8 +505,8 @@ function populateInfo(i)
|
||||
}
|
||||
}
|
||||
var vcn = "Kuuhaku";
|
||||
if (i.ver.startsWith("0.13.")) vcn = "Toki";
|
||||
if (i.ver.includes("-bl")) vcn = "Ryujin";
|
||||
if (i.ver.startsWith("0.14.")) vcn = "Hoshi";
|
||||
if (i.ver.includes("-bl")) vcn = "Supāku";
|
||||
if (i.cn) vcn = i.cn;
|
||||
|
||||
cn += `v${i.ver} "${vcn}"<br><br><table>
|
||||
|
||||
Reference in New Issue
Block a user