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:
1 parent
e4728b16ea
commit
d2d1518fba
16 files changed
+440
-72
No files matched your search
@@ -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>
|
||||
|
||||
@@ -38,7 +39,9 @@
|
||||
<a href="#phasemeter">phasemeter</a>
|
||||
<a href="#cuecolours">cuecolours</a>
|
||||
<a href="#hotcuekeys">hotcuekeys</a>
|
||||
<a href="#beatjump">beatjump</a>
|
||||
<a href="#ledsaver">ledsaver</a>
|
||||
<a href="#keynotation">keynotation</a>
|
||||
<a href="#credit">credit</a>
|
||||
<div class="h">Hot cue keys</div>
|
||||
<a href="#hk-mode">The hot key mode</a>
|
||||
@@ -74,7 +77,7 @@
|
||||
<p>The Python patcher builds exactly the same file, byte for byte. Tick the mods with the arrow keys and <kbd>Space</kbd>, build with <kbd>Enter</kbd>, accept the disclaimer by typing <code>yes</code>:</p>
|
||||
<div class="term"><span class="p">$</span> python cdj900nxs_patcher.py C900NXS.UPD</div>
|
||||
<p>Or name the mods and accept with <code>--accept</code>:</p>
|
||||
<div class="term"><span class="p">$</span> python cdj900nxs_patcher.py C900NXS.UPD --mods rgb_waveform,extended_bpm,phasemeter,cuecolours,hotcuekeys,ledsaver,credit --accept</div>
|
||||
<div class="term"><span class="p">$</span> python cdj900nxs_patcher.py C900NXS.UPD --mods rgb_waveform,extended_bpm,phasemeter,cuecolours,hotcuekeys,ledsaver,keynotation,credit --accept</div>
|
||||
|
||||
<h2 id="stock">Back to stock</h2>
|
||||
<p>Build with no mod ticked in the builder (or <code>--stock</code> with the patcher): the original application, relabelled so the player accepts it. Update as above. Keep this file on a stick before you try any mod.</p>
|
||||
@@ -126,7 +129,8 @@
|
||||
<ul>
|
||||
<li>the big waveform stays black and appears once all are ready;</li>
|
||||
<li><kbd>PLAY</kbd>, <kbd>CUE</kbd> and the hot cue keys are locked, so nothing interrupts the loading;</li>
|
||||
<li>the key of the hot cue being loaded blinks.</li>
|
||||
<li>the key of the hot cue being loaded blinks;</li>
|
||||
<li>nothing is heard: the output stays silent until the deck stands at its CUE point again.</li>
|
||||
</ul>
|
||||
<p>Then the deck stands at its CUE point again, as before, and each of the three starts at once. This happens whether the hot key mode is on or not, as long as HOT CUE KEYS is ON.</p>
|
||||
|
||||
@@ -139,6 +143,7 @@
|
||||
<li>held <strong>less than 0.5 s</strong>: it simply plays on (a normal hot cue);</li>
|
||||
<li>held <strong>0.5 s or longer</strong>: it jumps back to the hot cue and stands there, ready to go again.</li>
|
||||
</ul>
|
||||
<p>From 0.5 s on the key blinks slowly while you hold it, so you can see the gate is armed.</p>
|
||||
|
||||
<h3 id="hk-set">Set a hot cue</h3>
|
||||
<p>On a key <strong>without</strong> a hot cue (LED off):</p>
|
||||
@@ -163,6 +168,7 @@
|
||||
<span class="led"><i></i> off — no hot cue</span>
|
||||
<span class="led"><i class="dim"></i> dim — hot cue there</span>
|
||||
<span class="led"><i class="blink"></i> blinking — pressed, set, deleted or being loaded</span>
|
||||
<span class="led"><i class="blink"></i> blinking slowly — a gate held (0.5 s or longer)</span>
|
||||
</div>
|
||||
|
||||
<h3 id="hk-limits">Good to know</h3>
|
||||
@@ -173,6 +179,15 @@
|
||||
<li>No slip hot cues yet: with SLIP on, a hot cue plays as without SLIP.</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="beatjump">beatjump <span class="badge author">ours</span> <span class="state experimental">experimental</span></h2>
|
||||
<p>The TRACK SEARCH keys ◀◀ / ▶▶ jump along the track's beat grid instead of changing the track. How far is chosen in UTILITY › <strong>BEAT JUMP</strong> (where SCREEN SAVER was): OFF, 1, 2, 4 or 8 beats; 4 until you choose, and your choice stays when the player is switched off.</p>
|
||||
<ul>
|
||||
<li>The jump is exactly that many grid beats, so with 4 or 8 the phase meter shows the same place in the bar after the jump; with 1 or 2 the beats still line up, the bar moves on by one or two beats.</li>
|
||||
<li>Playing, it is made at once in the audio the player has already decoded: no gap, no pre-roll. Paused or at the cue it moves the deck there; PLAY plays on from it.</li>
|
||||
<li>The player always keeps 10 s of decoded audio ahead; a press that would leave less (very fast clicks with 8 beats) is ignored and the next one counts again. Nothing is put off, so the player never runs dry (no EMERGENCY LOOP).</li>
|
||||
<li>It needs <code>hotcuekeys</code> (its engine makes the jumps) and <code>cuecolours</code>; the builder ticks them for you.</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="ledsaver">ledsaver <span class="badge author">ours</span></h2>
|
||||
<p>UTILITY › <strong>LED ANIMATION</strong> (the last item) is <strong>ON</strong> from the first start; set it to OFF to switch it off (the player keeps the choice). When the player's own screen saver dims the display (5 minutes without a track loaded, or 100 minutes paused or at the cue), the LEDs play a loop of about four and a half seconds:</p>
|
||||
<ul>
|
||||
@@ -183,11 +198,24 @@
|
||||
</ul>
|
||||
<p>Any key ends it, as it ends the screen saver.</p>
|
||||
|
||||
<h2 id="keynotation">keynotation <span class="badge author">ours</span> <span class="state experimental">experimental</span></h2>
|
||||
<p>rekordbox writes each track's key as text, in whatever notation was set in its preferences when the stick was exported: <em>4A</em>, <em>9m</em> or <em>Fm</em> for the same key. This mod shows every key in one notation of your choice, UTILITY › <strong>KEY NOTATION</strong> (the last item):</p>
|
||||
<ul>
|
||||
<li><strong>CAMELOT</strong> (default) — 1A–12A minor, 1B–12B major, as on the Camelot wheel;</li>
|
||||
<li><strong>OPEN KEY</strong> — 1m–12m minor, 1d–12d major (8A = 1m = Am);</li>
|
||||
<li><strong>CLASSIC</strong> — Am, F#m, Db … as rekordbox writes them;</li>
|
||||
<li><strong>OFF</strong> — the key as exported.</li>
|
||||
</ul>
|
||||
<p>The player converts with a table of all spellings, sharps and flats included (G#m, D#m, A#, Gbm …). It works on the main screen, in INFO and in BROWSE › KEY (the key list and its compatible-key groups such as “1A, 1B, 12A, 2A”); a new choice shows from the next track loaded.</p>
|
||||
<p>Each key is drawn in the colour of its place on the Camelot wheel (8A pink, 5A orange, 4A yellow …), in all three notations; with OFF it stays white. A highlighted row keeps its black text, and the letters you type in SEARCH are left as they are. The player's text colour is set per text box, so the mod sets it for a key's box just before the player draws it.</p>
|
||||
<figure class="shot"><img src="assets/key-colour.png" alt="Key 5A in orange"><figcaption>5A in its wheel colour.</figcaption></figure>
|
||||
<figure class="shot"><img src="assets/utility-key.png" alt="UTILITY with KEY NOTATION"><figcaption>UTILITY › KEY NOTATION.</figcaption></figure>
|
||||
|
||||
<h2 id="credit">credit <span class="badge author">ours</span></h2>
|
||||
<p>The boot screen says <em>Pionaarr Mods 1.0</em> where it said <em>Ver 1.31</em>. Ticked at the start; untick it to keep the stock text. UTILITY and the LINK screen still show the real version, 1.31.</p>
|
||||
<figure class="shot"><img src="assets/boot-mods.png" alt="Boot screen with Pionaarr Mods 1.0"><figcaption>The boot screen.</figcaption></figure>
|
||||
|
||||
<p>Beat jump, stems, a uniform key notation and a 3-band waveform are in the works: see <a href="upcoming.html">Upcoming</a>.</p>
|
||||
<p>Quick search, USB auto load, a reversed phase meter, stems and a 3-band waveform are in the works: see <a href="upcoming.html">Upcoming</a>.</p>
|
||||
|
||||
<!-- ===================== status ===================== -->
|
||||
<h2 id="status">Status</h2>
|
||||
@@ -200,7 +228,9 @@
|
||||
<tr><td><code>phasemeter</code></td><td>arnoldasr</td><td><span class="state stable">stable</span></td><td><span class="player">ran on a player</span></td></tr>
|
||||
<tr><td><code>cuecolours</code></td><td>ours</td><td><span class="state stable">stable</span></td><td><span class="player">ran on a player</span></td></tr>
|
||||
<tr><td><code>hotcuekeys</code></td><td>ours</td><td><span class="state experimental">experimental</span></td><td><span class="player">ran on a player</span></td></tr>
|
||||
<tr><td><code>beatjump</code></td><td>ours</td><td><span class="state experimental">experimental</span></td><td><span class="player">ran on a player</span></td></tr>
|
||||
<tr><td><code>ledsaver</code></td><td>ours</td><td><span class="state stable">stable</span></td><td><span class="player">ran on a player</span></td></tr>
|
||||
<tr><td><code>keynotation</code></td><td>ours</td><td><span class="state experimental">experimental</span></td><td><span class="player no">emulator only</span></td></tr>
|
||||
<tr><td><code>credit</code></td><td>ours</td><td><span class="state stable">stable</span></td><td><span class="player">ran on a player</span></td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -224,7 +254,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>
|
||||
|
||||
Reference in new issue
Block a user