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:
1 parent
d2d1518fba
commit
8133cd0b4b
7 files changed
+89
-29
No files matched your search
+9
-1
@@ -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
@@ -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>
|
||||||
|
|
||||||
|
|||||||
@@ -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
@@ -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
@@ -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
@@ -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>
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user