From 8133cd0b4b47b93d9b535fef7593dae64762eba5 Mon Sep 17 00:00:00 2001 From: Thiemo Tiziani Date: Tue, 20 Oct 2026 02:14:05 +0200 Subject: [PATCH] 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 --- assets/versions.js | 10 +++++- assets/waveform-3band.png | Bin 0 -> 14181 bytes builder.html | 12 ++++---- docs.html | 6 ++-- index.html | 6 ++-- tools/changelog.json | 63 +++++++++++++++++++++++++++++++++----- upcoming.html | 21 +++++++------ 7 files changed, 89 insertions(+), 29 deletions(-) create mode 100644 assets/waveform-3band.png diff --git a/assets/versions.js b/assets/versions.js index decdeaf..9b0c3aa 100644 --- a/assets/versions.js +++ b/assets/versions.js @@ -1,8 +1,15 @@ // Generated by tools/make_builder_data.py from tools/changelog.json and the mods' versions. window.CDJ_VERSIONS = { - "site": "1.1.0", + "site": "1.1.1", "date": "2026-10-20", "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", "date": "2026-10-20", @@ -34,6 +41,7 @@ window.CDJ_VERSIONS = { "usbautoload": "0.1.0", "quicksearch": "0.1.0", "phasereverse": "0.1.0", + "waveform3band": "0.1.0", "credit": "1.0.0" }, "modlog": { diff --git a/assets/waveform-3band.png b/assets/waveform-3band.png new file mode 100644 index 0000000000000000000000000000000000000000..b50bd2c604d11d349a7d7a797ef52efef3960be4 GIT binary patch literal 14181 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 Nc)I$ztaD0e0ssv?mxllV literal 0 HcmV?d00001 diff --git a/builder.html b/builder.html index d71760b..aa1bcf2 100644 --- a/builder.html +++ b/builder.html @@ -8,12 +8,12 @@ - - - - - - + + + + + + diff --git a/docs.html b/docs.html index cddd36a..d8ff7f0 100644 --- a/docs.html +++ b/docs.html @@ -8,9 +8,9 @@ - - - + + + diff --git a/index.html b/index.html index 1721c89..f395a76 100644 --- a/index.html +++ b/index.html @@ -8,9 +8,9 @@ - - - + + + diff --git a/tools/changelog.json b/tools/changelog.json index 57d6e93..3d33c41 100644 --- a/tools/changelog.json +++ b/tools/changelog.json @@ -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.", "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", "date": "2026-10-20", @@ -22,17 +29,59 @@ ], "mods": { "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": [ - {"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.0.0", "date": "2026-10-18", "changes": ["Hot cues A-C on the BEAT DIVIDE keys: play, gate, set, delete."]} + { + "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.0.0", + "date": "2026-10-18", + "changes": [ + "Hot cues A-C on the BEAT DIVIDE keys: play, gate, set, delete." + ] + } ], "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.0.0", "date": "2026-10-19", "changes": ["Camelot, Open Key or classic notation, UTILITY › KEY NOTATION."]} + { + "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.0.0", + "date": "2026-10-19", + "changes": [ + "Camelot, Open Key or classic notation, UTILITY › KEY NOTATION." + ] + } ] } } diff --git a/upcoming.html b/upcoming.html index b8b7c26..48a6e48 100644 --- a/upcoming.html +++ b/upcoming.html @@ -8,9 +8,9 @@ - - - + + + @@ -106,15 +106,18 @@
-

3-band waveform

-
ours · idea
+

3-band waveform waveform3band

+
ours · made with Claude Code · needs rgb_waveform
-
feasibility
+
emulator onlyin testing
+
+

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.

+
+
Scrolling waveform in three bands: blue lows, amber mids, white highs
In the emulator (bands from the whiteness, see below)
-

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.

    -
  • QuestionWhether the band data rekordbox exports for newer players can be read and drawn fast enough on this one.
  • -
  • NextReading the data on the player, then a renderer.
  • +
  • NowBuilt: 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.
  • +
  • NextTesting on a player with real colour detail, then reading the true 3-band data.