Site 1.1.1: the 3-band waveform in testing on Upcoming

Built as the waveform3band mod (not in the builder yet): bands from the
colour detail the RGB waveform fetches, a preview from the emulator.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Thiemo TizianiandClaude Opus 5.5 committed 2026-10-20 02:14:05 +02:00
1 parent d2d1518fba
commit 8133cd0b4b
7 files changed
+89 -29

No files matched your search

+9 -1
View File
@@ -1,8 +1,15 @@
// Generated by tools/make_builder_data.py from tools/changelog.json and the mods' versions. // Generated by tools/make_builder_data.py from tools/changelog.json and the mods' versions.
window.CDJ_VERSIONS = { window.CDJ_VERSIONS = {
"site": "1.1.0", "site": "1.1.1",
"date": "2026-10-20", "date": "2026-10-20",
"log": [ "log": [
{
"version": "1.1.1",
"date": "2026-10-20",
"changes": [
"Upcoming: the 3-band waveform is built and in testing, with a preview."
]
},
{ {
"version": "1.1.0", "version": "1.1.0",
"date": "2026-10-20", "date": "2026-10-20",
@@ -34,6 +41,7 @@ window.CDJ_VERSIONS = {
"usbautoload": "0.1.0", "usbautoload": "0.1.0",
"quicksearch": "0.1.0", "quicksearch": "0.1.0",
"phasereverse": "0.1.0", "phasereverse": "0.1.0",
"waveform3band": "0.1.0",
"credit": "1.0.0" "credit": "1.0.0"
}, },
"modlog": { "modlog": {
Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

+6 -6
View File
@@ -8,12 +8,12 @@
<link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;800&family=JetBrains+Mono:wght@500;700&display=swap" rel="stylesheet"> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;800&family=JetBrains+Mono:wght@500;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="style.css?v=1.1.0"> <link rel="stylesheet" href="style.css?v=1.1.1">
<script src="assets/versions.js?v=1.1.0"></script> <script src="assets/versions.js?v=1.1.1"></script>
<script src="script.js?v=1.1.0"></script> <script src="script.js?v=1.1.1"></script>
<script src="builder/data.js?v=1.1.0"></script> <script src="builder/data.js?v=1.1.1"></script>
<script src="builder/builder.js?v=1.1.0"></script> <script src="builder/builder.js?v=1.1.1"></script>
<script src="builder/ui.js?v=1.1.0"></script> <script src="builder/ui.js?v=1.1.1"></script>
</head> </head>
<body> <body>
+3 -3
View File
@@ -8,9 +8,9 @@
<link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;800&family=JetBrains+Mono:wght@500;700&display=swap" rel="stylesheet"> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;800&family=JetBrains+Mono:wght@500;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="style.css?v=1.1.0"> <link rel="stylesheet" href="style.css?v=1.1.1">
<script src="assets/versions.js?v=1.1.0"></script> <script src="assets/versions.js?v=1.1.1"></script>
<script src="script.js?v=1.1.0"></script> <script src="script.js?v=1.1.1"></script>
</head> </head>
<body> <body>
+3 -3
View File
@@ -8,9 +8,9 @@
<link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;800&family=JetBrains+Mono:wght@500;700&display=swap" rel="stylesheet"> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;800&family=JetBrains+Mono:wght@500;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="style.css?v=1.1.0"> <link rel="stylesheet" href="style.css?v=1.1.1">
<script src="assets/versions.js?v=1.1.0"></script> <script src="assets/versions.js?v=1.1.1"></script>
<script src="script.js?v=1.1.0"></script> <script src="script.js?v=1.1.1"></script>
</head> </head>
<body> <body>
+56 -7
View File
@@ -1,6 +1,13 @@
{ {
"_about": "The site's changelog, newest first. Versions follow Semantic Versioning (MAJOR.MINOR.PATCH), dates ISO 8601 (DIN EN 28601). make_builder_data.py adds every mod's current version from its module and writes assets/versions.js.", "_about": "The site's changelog, newest first. Versions follow Semantic Versioning (MAJOR.MINOR.PATCH), dates ISO 8601 (DIN EN 28601). make_builder_data.py adds every mod's current version from its module and writes assets/versions.js.",
"site": [ "site": [
{
"version": "1.1.1",
"date": "2026-10-20",
"changes": [
"Upcoming: the 3-band waveform is built and in testing, with a preview."
]
},
{ {
"version": "1.1.0", "version": "1.1.0",
"date": "2026-10-20", "date": "2026-10-20",
@@ -22,17 +29,59 @@
], ],
"mods": { "mods": {
"beatjump": [ "beatjump": [
{"version": "1.0.0", "date": "2026-10-20", "changes": ["Jumps in the DSP's decoded audio, playing, paused or at cue standby; presses the DSP cannot jump yet are ignored, so no EMERGENCY LOOP."]} {
"version": "1.0.0",
"date": "2026-10-20",
"changes": [
"Jumps in the DSP's decoded audio, playing, paused or at cue standby; presses the DSP cannot jump yet are ignored, so no EMERGENCY LOOP."
]
}
], ],
"hotcuekeys": [ "hotcuekeys": [
{"version": "1.2.0", "date": "2026-10-20", "changes": ["Background loading invisible; keys locked and LOADING blinking while a track loads; no more interference with search and slip."]}, {
{"version": "1.1.0", "date": "2026-10-19", "changes": ["Hot cue engine: instant hot cues from the DSP's slots, saved on the USB in rekordbox colours."]}, "version": "1.2.0",
{"version": "1.0.0", "date": "2026-10-18", "changes": ["Hot cues A-C on the BEAT DIVIDE keys: play, gate, set, delete."]} "date": "2026-10-20",
"changes": [
"Background loading invisible; keys locked and LOADING blinking while a track loads; no more interference with search and slip."
]
},
{
"version": "1.1.0",
"date": "2026-10-19",
"changes": [
"Hot cue engine: instant hot cues from the DSP's slots, saved on the USB in rekordbox colours."
]
},
{
"version": "1.0.0",
"date": "2026-10-18",
"changes": [
"Hot cues A-C on the BEAT DIVIDE keys: play, gate, set, delete."
]
}
], ],
"keynotation": [ "keynotation": [
{"version": "1.2.0", "date": "2026-10-20", "changes": ["Keys in their notation and colour everywhere on the screen, BROWSE › KEY included; the SEARCH input is left alone."]}, {
{"version": "1.1.0", "date": "2026-10-19", "changes": ["The key in its Camelot wheel colour in the title bar."]}, "version": "1.2.0",
{"version": "1.0.0", "date": "2026-10-19", "changes": ["Camelot, Open Key or classic notation, UTILITY › KEY NOTATION."]} "date": "2026-10-20",
"changes": [
"Keys in their notation and colour everywhere on the screen, BROWSE › KEY included; the SEARCH input is left alone."
]
},
{
"version": "1.1.0",
"date": "2026-10-19",
"changes": [
"The key in its Camelot wheel colour in the title bar."
]
},
{
"version": "1.0.0",
"date": "2026-10-19",
"changes": [
"Camelot, Open Key or classic notation, UTILITY › KEY NOTATION."
]
}
] ]
} }
} }
+12 -9
View File
@@ -8,9 +8,9 @@
<link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;800&family=JetBrains+Mono:wght@500;700&display=swap" rel="stylesheet"> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;800&family=JetBrains+Mono:wght@500;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="style.css?v=1.1.0"> <link rel="stylesheet" href="style.css?v=1.1.1">
<script src="assets/versions.js?v=1.1.0"></script> <script src="assets/versions.js?v=1.1.1"></script>
<script src="script.js?v=1.1.0"></script> <script src="script.js?v=1.1.1"></script>
</head> </head>
<body> <body>
@@ -106,15 +106,18 @@
<div class="card-head"> <div class="card-head">
<div class="icon" aria-hidden="true">🌊</div> <div class="icon" aria-hidden="true">🌊</div>
<div> <div>
<h3>3-band waveform</h3> <h3>3-band waveform <code>waveform3band</code></h3>
<div class="by">ours · idea</div> <div class="by">ours · made with Claude Code · needs <code>rgb_waveform</code></div>
</div> </div>
<div class="meta"><span class="state feasibility">feasibility</span></div> <div class="meta"><span class="player no">emulator only</span><span class="state planned">in testing</span></div>
</div>
<p>The three-band waveform of the newest players: lows blue, mids amber, highs white, drawn as layers so kicks, vocals and hi-hats can be told apart at a glance.</p>
<div class="vs stack">
<figure class="mod"><img src="assets/waveform-3band.png" alt="Scrolling waveform in three bands: blue lows, amber mids, white highs"><figcaption>In the emulator (bands from the whiteness, see below)</figcaption></figure>
</div> </div>
<p>The three-band waveform of the newest players: lows, mids and highs drawn as layers in their own colours, so kicks, vocals and hi-hats can be told apart at a glance.</p>
<ul class="diff"> <ul class="diff">
<li><span class="k">Question</span><span>Whether the band data rekordbox exports for newer players can be read and drawn fast enough on this one.</span></li> <li><span class="k">Now</span><span>Built: each column's three bands come from the colour detail rekordbox exports (red lows, green mids, blue highs), which the RGB waveform already fetches; without it, from the waveform's whiteness. rekordbox's own 3-band data sits in a file the 900NXS never opens.</span></li>
<li><span class="k new">Next</span><span>Reading the data on the player, then a renderer.</span></li> <li><span class="k new">Next</span><span>Testing on a player with real colour detail, then reading the true 3-band data.</span></li>
</ul> </ul>
</article> </article>