Site 1.1.0: beat jump in the builder, version and changelog, key colours

- Beat jump (experimental) on the mods page, in the docs and in the builder
  (needs hot cue keys; dependencies are ticked and unticked as a chain).
- Key notation 1.2.0: keys in their Camelot wheel colour, also in BROWSE.
- Version badge at the top with a changelog; every mod's version on its
  card and in the builder. make_builder_data.py writes assets/versions.js
  from tools/changelog.json and the mods' versions and stamps the pages'
  CSS and script links with ?v=<site version>.
- The generator keeps a changed copy of the UTILITY table as the user's
  own table plus our bytes (beat jump renames an item).
- Upcoming: quick search, USB auto load and phase meter reverse (in testing).

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:00:48 +02:00
1 parent e4728b16ea
commit d2d1518fba
16 files changed
+440 -72

No files matched your search

+49 -6
View File
@@ -8,8 +8,9 @@
<link rel="preconnect" href="https://fonts.googleapis.com">
<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 rel="stylesheet" href="style.css">
<script src="script.js"></script>
<link rel="stylesheet" href="style.css?v=1.1.0">
<script src="assets/versions.js?v=1.1.0"></script>
<script src="script.js?v=1.1.0"></script>
</head>
<body>
@@ -33,8 +34,8 @@
<h1>New tricks for an <span class="grad">old favourite</span>.</h1>
<p class="lead">
A set of firmware mods that bring features of newer players to the CDJ-900NXS:
an RGB waveform, a BPM to two decimals, a phase meter, rekordbox cue colours and
<strong>hot cues you can play from the deck itself</strong>. Build your own update file
an RGB waveform, a BPM to two decimals, a phase meter, rekordbox cue colours,
beat jump and <strong>hot cues you can play from the deck itself</strong>. Build your own update file
right here in the browser — the boot loader stays untouched.
</p>
<div class="cta">
@@ -195,6 +196,24 @@
<a class="more" href="docs.html#hotcuekeys">Hot cue guide →</a>
</article>
<!-- beatjump -->
<article class="card">
<div class="card-head">
<div class="icon" aria-hidden="true">⏭️</div>
<div>
<h3>Beat jump <code>beatjump</code></h3>
<div class="by">ours · made with Claude Code · needs <code>hotcuekeys</code></div>
</div>
<div class="meta"><span class="player">ran on a player</span><span class="state experimental">experimental</span></div>
</div>
<p>TRACK SEARCH ◀◀ / ▶▶ jumps 1, 2, 4 or 8 beats along the rekordbox beat grid instead of changing the track — at once, without a gap and in phase with the other deck, as on the newest players. Chosen in UTILITY › BEAT JUMP (default 4 beats, kept when the player is off). Works playing, paused and at the cue. The jump is made in the audio the player has already decoded; a press it cannot jump yet (clicked very fast with 8 beats) is simply ignored instead of running the player dry.</p>
<ul class="diff">
<li><span class="k">Stock</span><span>TRACK SEARCH goes to the previous / next track.</span></li>
<li><span class="k new">Modded</span><span>Whole bars (4, 8) or beats (1, 2) forward and back, the phase meter stays where it was.</span></li>
</ul>
<a class="more" href="docs.html#beatjump">Read more →</a>
</article>
<!-- ledsaver -->
<article class="card">
<div class="card-head">
@@ -213,6 +232,30 @@
<a class="more" href="docs.html#ledsaver">Read more →</a>
</article>
<!-- keynotation -->
<article class="card">
<div class="card-head">
<div class="icon" aria-hidden="true">🎼</div>
<div>
<h3>Key notation <code>keynotation</code></h3>
<div class="by">ours · made with Claude Code</div>
</div>
<div class="meta"><span class="state experimental">experimental</span></div>
</div>
<p>Every track's key in one notation, whatever rekordbox exported: Camelot (8A), Open Key (1m) or classic (Am), chosen in UTILITY › KEY NOTATION. The player converts on its own with a table of all spellings, sharps and flats included — on the main screen, in INFO and in BROWSE › KEY. The key shows in the colour of its place on the Camelot wheel.</p>
<div class="vs stack">
<figure><img src="assets/key-stock.png" alt="Key as exported: 4A"><figcaption>As exported (Camelot): 4A</figcaption></figure>
<figure class="mod"><img src="assets/key-mods.png" alt="Key in Open Key: 9m"><figcaption>KEY NOTATION › OPEN KEY: 9m</figcaption></figure>
<figure class="mod"><img src="assets/key-colour.png" alt="Key 5A in its Camelot wheel colour, orange"><figcaption>Wheel colour: 5A in orange</figcaption></figure>
<figure class="mod"><img src="assets/utility-key.png" alt="UTILITY menu with the KEY NOTATION item"><figcaption>UTILITY › KEY NOTATION</figcaption></figure>
</div>
<ul class="diff">
<li><span class="k">Stock</span><span>The key as rekordbox's export setting wrote it.</span></li>
<li><span class="k new">Modded</span><span>OFF, CAMELOT (default), OPEN KEY or CLASSIC — the same notation on every stick, in its wheel colour.</span></li>
</ul>
<a class="more" href="docs.html#keynotation">Read more →</a>
</article>
<!-- credit -->
<article class="card">
<div class="card-head">
@@ -231,7 +274,7 @@
</article>
</div>
<p class="caption">More in the works — beat jump, stems, a uniform key notation and a 3-band waveform: see <a href="upcoming.html">Upcoming</a>.</p>
<p class="caption">More in the works — beat jump, coloured Camelot keys, stems and a 3-band waveform: see <a href="upcoming.html">Upcoming</a>.</p>
</div>
</section>
@@ -258,7 +301,7 @@
<div class="wrap cols">
<div>
<div class="ai"><span class="dot"></span>Made with Claude Code · Claude Opus 5.5</div>
<p>This website, the builder, the mods <code>cuecolours</code>, <code>hotcuekeys</code>, <code>ledsaver</code> and <code>credit</code>, and the patcher were developed with Claude Code (Anthropic's AI coding assistant, model Claude Opus 5.5), by reverse engineering the firmware in an emulator. The mods <code>rgb_waveform</code>, <code>extended_bpm</code> and <code>phasemeter</code> are by <a href="https://github.com/arnoldasr/cdj900nxs">arnoldasr</a>.</p>
<p>This website, the builder, the mods <code>cuecolours</code>, <code>hotcuekeys</code>, <code>ledsaver</code>, <code>keynotation</code> and <code>credit</code>, and the patcher were developed with Claude Code (Anthropic's AI coding assistant, model Claude Opus 5.5), by reverse engineering the firmware in an emulator. The mods <code>rgb_waveform</code>, <code>extended_bpm</code> and <code>phasemeter</code> are by <a href="https://github.com/arnoldasr/cdj900nxs">arnoldasr</a>.</p>
</div>
<div>
<h4>Disclaimer</h4>