Merge branch 'mdev' into pr/286

This commit is contained in:
Frank
2025-11-28 22:16:05 +01:00
62 changed files with 9749 additions and 7969 deletions

View File

@@ -1,5 +1,5 @@
<!DOCTYPE html>
<html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta content='width=device-width' name='viewport'>
@@ -9,11 +9,14 @@
body {
font-family: Verdana, Helvetica, sans-serif;
text-align: center;
font-size: 15px;
background-color: #222;
margin: 0;
color: #fff;
}
ul li {
margin-bottom: 12px;
}
img {
width: 400px;
max-width: 50%;
@@ -29,11 +32,11 @@
margin: 10px;
width: 230px;
text-transform: uppercase;
font-family: helvetica;
font-family: helvetica, sans-serif;
font-size: 19px;
background-color: #333;
color: white;
border: 0px solid white;
border: 0 solid white;
border-radius: 25px;
}
</style>
@@ -41,7 +44,34 @@
<body>
<img alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAbUExURQAAAAB81gCU/zKq/////9bW1oCAgGhoaAAAAGPLX8AAAAAJdFJOU///////////AFNPeBIAAAAJcEhZcwAADsAAAA7AAWrWiQkAAACdSURBVDhPxc9bDoUgEANQebP/FUuHMjBGY/B+3EYR7RH0qC/ZBc6HwCljgHO+xZIVSI2sYgHaG7EBWh8jWoxTrCBFdDJ+BD4lbIHxAcz8APAVLTsrZE4eQD5qzt3cAFTYokC4YCN9Gybgu4yAQtBFLQXHuHABA7JMeOEC/E0W5uy9gv4vo5QHK2i7yq2C8UABM4HmL+CSTXCTF1DrCX6+Gp9zB5dsAAAAAElFTkSuQmCC">
<h1>404 Not Found</h1>
<b>Akemi does not know where you are headed...</b><br><br>
<button onclick="window.location.href='/sliders'">Back to controls</button>
</body>
<p>
<button onclick="window.location.href='/sliders'">Back to controls</button>
<br>
</p>
<p style="margin: 30px auto auto;max-width: 800px; font-style: italic;font-size: 17px;">
Congratulations! You have found the page that exists in the place where no page should exist - a peculiar phenomenon
of the web that continues to baffle researchers.<br><br>Akemi has compiled a list of other mysteries that she recommends for further investigation.
<br><br>
</p>
<h2>Akemi's Top 10 Mysteries Worth Exploring:</h2>
<p style=" margin:auto">
<ul style="text-align: left; max-width: 800px; margin: 0 auto;">
<!-- disclaimer: this list was created with the help of AI -->
<li><strong>Dark Matter</strong> - Accounts for 85% of the universe's mass yet remains completely invisible. Akemi notes this is considerably more elusive than your car keys.</li>
<li><strong>Dark Energy</strong> - An unknown force accelerating the universe's expansion at an alarming rate. Akemi suggests it may simply be late for something important.</li>
<li><strong>The Missing Antimatter</strong> - After the Big Bang, matter inexplicably survived while antimatter did not. Akemi calls this "a fortunate asymmetry for carbon-based life forms."</li>
<li><strong>The Origin of Life</strong> - How non-living chemistry spontaneously organized itself into living cells. Akemi admits this transition remains "inconveniently unexplained."</li>
<li><strong>Consciousness</strong> - The phenomenon by which organized matter becomes aware of itself. How does a bunch of squishy brain stuff create the feeling of being "you"? Philosophy meets neuroscience and nobody wins. Akemi recommends not thinking about this too hard.</li>
<li><strong>The Identity of Satoshi Nakamoto</strong> - Creator of Bitcoin who vanished completely from the digital realm. Akemi notes this as "masterful execution of the Irish goodbye."</li>
<li><strong>Sailing Stones of Death Valley</strong> - Rocks that traverse the desert floor leaving trails. While ice and wind are implicated, Akemi maintains they're "just showing off."</li>
<li><strong>Anomalous Deep Ocean Acoustics</strong> - Unexplained sounds from the ocean depths, including the famous "Bloop." Akemi has no comment, but looks nervous.</li>
<li><strong>Quantum Gravity</strong> - The incompatibility of general relativity and quantum mechanics. Akemi cheerfully notes we don't actually understand how reality works.</li>
<li><strong>The Arrow of Time</strong> - Why causality flows in only one direction despite physics allowing both. Akemi suggests entropy is "quite insistent about this."</li>
<li><strong>Turritopsis dohrnii</strong> - A jellyfish capable of reversing its aging process. Akemi lists this under "Biological Cheat Codes."</li>
</ul>
<br>
</p>
</body>
</html>

51
wled00/data/404mini.htm Normal file
View File

@@ -0,0 +1,51 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta content='width=device-width' name='viewport'>
<meta name="theme-color" content="#222222">
<title>Not found</title>
<style>
body {
font-family: Verdana, Helvetica, sans-serif;
text-align: center;
background-color: #222;
margin: 0;
color: #fff;
}
img {
width: 400px;
max-width: 50%;
image-rendering: pixelated;
image-rendering: crisp-edges;
margin: 25px 0 -10px 0;
}
button {
outline: none;
cursor: pointer;
padding: 8px;
margin: 10px;
width: 230px;
text-transform: uppercase;
font-family: helvetica;
font-size: 19px;
background-color: #333;
color: white;
border: 0px solid white;
border-radius: 25px;
}
</style>
</head>
<body>
<img alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAbUExURQAAAAB81gCU/zKq/////9bW1oCAgGhoaAAAAGPLX8AAAAAJdFJOU///////////AFNPeBIAAAAJcEhZcwAADsAAAA7AAWrWiQkAAACdSURBVDhPxc9bDoUgEANQebP/FUuHMjBGY/B+3EYR7RH0qC/ZBc6HwCljgHO+xZIVSI2sYgHaG7EBWh8jWoxTrCBFdDJ+BD4lbIHxAcz8APAVLTsrZE4eQD5qzt3cAFTYokC4YCN9Gybgu4yAQtBFLQXHuHABA7JMeOEC/E0W5uy9gv4vo5QHK2i7yq2C8UABM4HmL+CSTXCTF1DrCX6+Gp9zB5dsAAAAAElFTkSuQmCC">
<h1>404 Not Found</h1>
<b>Akemi does not know where you are headed...</b><br><br>
<button onclick="window.location.href='/sliders'">Back to controls</button>
<p style="margin: 40px auto auto;max-width: 800px; font-style: italic;font-size: 17px;">
Congratulations! You have found the page that exists in the place where no page should exist a peculiar phenomenon
of the web that continues to baffle researchers.<br>
</p>
</body>
</html>

View File

@@ -707,7 +707,7 @@ img {
#wbal .sliderdisplay { background: linear-gradient(90deg, #ff8f1f 0%, #fff 50%, #cbdbff); }
/* wrapper divs hidden by default */
#liveview, #liveview2D, #roverstar, #pql
#liveview, #liveview2D, #roverstar, #pql,
#rgbwrap, #swrap, #hwrap, #kwrap, #wwrap, #wbal, #qcs-w, #hexw,
.clear-icon, .edit-icon, .ptxt {
display: none;

View File

@@ -697,6 +697,8 @@ function populateInfo(i)
//if (i.ver.includes("0.14.1-b")) vcn = "Fried Chicken"; // final line of "One Vision" by Queen
if (i.ver.includes("0.14.3-b")) vcn = "Fried Chicken";
if (i.ver.includes("14.5.")) vcn = "Small Step";
if (i.ver.includes("14.6.")) vcn = "New Light";
if (i.ver.includes("14.7.")) vcn = "Next Step";
cn += `v${i.ver} &nbsp;<i>"${vcn}"</i><p>(WLEDMM ${i.rel}.bin)</p><p><em>build ${i.vid}</em></p><table>
${urows}
@@ -825,7 +827,7 @@ function populateSegments(s)
(cfg.comp.segpwr ? segp : '') +
`<div class="segin" id="seg${i}in">`+
`<input id="seg${i}fx" value="${inst.fx}" type="hidden"/>` + // <!--WLEDMM-->
`<input type="text" class="ptxt" id="seg${i}t" autocomplete="off" maxlength=32 value="${inst.n?inst.n:""}" placeholder="Enter name..."/>`+
`<input type="text" class="ptxt" id="seg${i}t" autocomplete="off" maxlength=64 value="${inst.n?inst.n:""}" placeholder="Enter name..."/>`+
`<table class="infot segt">`+
`<tr>`+
`<td>${isMSeg?'Start X':'Start LED'}</td>`+
@@ -1974,6 +1976,9 @@ function readState(s,command=false)
case 3:
errstr = "Buffer locked!";
break;
case 7:
errstr = "No RAM for pixel buffer!";
break;
case 8:
errstr = "Effect RAM depleted!";
break;
@@ -3220,7 +3225,7 @@ setInterval(()=>{
gId('heartMM').style.color = `hsl(${hc}, 100%, 50%)`;
}, 910);
function openGH() { window.open("https://github.com/Aircoookie/WLED/wiki"); }
function openGH() { window.open("https://mm.kno.wled.ge/"); }
var cnfr = false;
function cnfReset()

View File

@@ -9,7 +9,7 @@
var loc = false, locip;
var maxPanels=64;
var ctx = null; // WLEDMM
function H(){window.open("https://mm.kno.wled.ge/features/2D");}
function H(){window.open("https://mm.kno.wled.ge/WLEDSR/LED-Preferences/");}
var ledIndex = 0; // WLEDMM
var wasAdvanced = -1; //WLEDMM
function B(){window.open("/settings","_self");}

View File

@@ -7,7 +7,7 @@
<script>
var d=document;
var loc = false, locip;
function H(){window.open("https://github.com/Aircoookie/WLED/wiki/DMX");}
function H(){window.open("https://mm.kno.wled.ge/interfaces/e1.31-dmx/");}
function B(){window.history.back();}
function GCH(num) {
d.getElementById('dmxchannels').innerHTML += "";

View File

@@ -115,14 +115,14 @@
<hr>
<h3>About</h3>
<!-- WLEDMM additions -->
<a href="https://github.com/MoonModules/WLED/" target="_blank">WLEDMM</a> version ##VERSION##<!-- Autoreplaced from package.json --><br>
(c) 2024 <a href="https://github.com/Aircoookie/WLED/compare/main...MoonModules:WLED:mdev" target="_blank">Github MoonModules WLED Commit Authors</a><br><br>
fork of <a href="https://github.com/Aircoookie/WLED/" target="_blank">WLED:</a><br>
<a href="https://github.com/Aircoookie/WLED/wiki/Contributors-and-credits" target="_blank">Contributors, dependencies and special thanks</a><br>
<a href="https://github.com/MoonModules/WLED-MM/" target="_blank">WLEDMM</a> version ##VERSION##<!-- Autoreplaced from package.json --><br>
(c) 2025 <a href="https://github.com/wled/WLED/compare/main...MoonModules:WLED-MM:mdev" target="_blank">Github MoonModules WLED-MM Commit Authors</a><br><br>
fork of <a href="https://github.com/wled/WLED/" target="_blank">WLED:</a><br>
<a href="https://mm.kno.wled.ge/about/contributors/" target="_blank">Contributors, dependencies and special thanks</a><br>
A huge thank you to everyone who helped me create WLED!<br><br>
WLED core (c) 2016-2024 Christian Schwinne <br>
<i>WLED MM Licensed under the <a href="https://github.com/MoonModules/WLED/blob/master/LICENSE" target="_blank">EUPL-1.2 license</a></i><br><br>
Server message: <span class="sip"> Response error! </span><hr>
<i>WLED-MM Licensed under the <a href="https://github.com/MoonModules/WLED-MM/blob/master/LICENSE" target="_blank">EUPL-1.2 license</a></i><br><br>
Installed version: <span class="sip">WLEDMM ##VERSION##</span><hr>
<div id="toast"></div>
<button type="button" onclick="B()">Back</button><button type="submit">Save</button>
</form>

View File

@@ -17,7 +17,7 @@
// var numM = 0;
function gId(s) { return d.getElementById(s); }
function isO(i) { return (i && typeof i === 'object' && !Array.isArray(i)); }
function H() { window.open("https://github.com/Aircoookie/WLED/wiki/Settings#usermod-settings"); }
function H() { window.open("https://mm.kno.wled.ge/usermods/AutoPlaylist/"); }
function B() { window.open("/settings","_self"); }
// https://www.educative.io/edpresso/how-to-dynamically-load-a-js-file-in-javascript
function loadJS(FILE_URL, async = true) {

View File

@@ -1284,7 +1284,7 @@ var hc = 0;
setInterval(()=>{if (!isInfo) return; hc+=18; if (hc>300) hc=0; if (hc>200)hc=306; if (hc==144) hc+=36; if (hc==108) hc+=18;
gId('heart').style.color = `hsl(${hc}, 100%, 50%)`; gId('heartMM').style.color = `hsl(${hc}, 100%, 50%)`;}, 910);
function openGH() { window.open("https://github.com/Aircoookie/WLED/wiki"); }
function openGH() { window.open("https://mm.kno.wled.ge/"); }
var cnfr = false;
function cnfReset()

View File

@@ -16,9 +16,9 @@
<body onload="GetV()">
<h2>MoonMod WLED Software Update</h2>
<form method='POST' action='/update' id='uf' enctype='multipart/form-data' onsubmit="U()">
<span class="sip">##VERSION##</span><br> <!--WLEDMM: show bin name-->
Download the latest release: <a href="https://github.com/MoonModules/WLED/releases" target="_blank">
<img src="https://img.shields.io/github/release/MoonModules/WLED.svg?style=flat-square"></a><br>
Installed version: <span class="sip">WLEDMM ##VERSION##</span><br> <!--WLEDMM: show bin name-->
Download the latest release: <a href="https://github.com/MoonModules/WLED-MM/releases" target="_blank">
<img src="https://img.shields.io/github/release/MoonModules/WLED-MM.svg?style=flat-square"></a><br>
<input type='file' name='update' required><br> <!--should have accept='.bin', but it prevents file upload from android app-->
<button type="submit">Update!</button><br>
<button type="button" onclick="B()">Back</button>