site 1.8.2: Known issues page
Quick search's walk, WAVEFORM switched with a track loaded, the key colour on the player, hot cues after USB STOP (fix to confirm). Upcoming: broken leftover under the stems card removed. Boot text 1.8.2. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
5537afb53d
commit
1103239435
11 files changed
+168
-43
No files matched your search
+10
-2
@@ -1,8 +1,16 @@
|
|||||||
// 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.8.1",
|
"site": "1.8.2",
|
||||||
"date": "2026-10-20",
|
"date": "2026-10-21",
|
||||||
"log": [
|
"log": [
|
||||||
|
{
|
||||||
|
"version": "1.8.2",
|
||||||
|
"date": "2026-10-21",
|
||||||
|
"changes": [
|
||||||
|
"New page: Known issues, what does not work right yet and what we do about it.",
|
||||||
|
"Upcoming: a broken leftover under the stems card removed."
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"version": "1.8.1",
|
"version": "1.8.1",
|
||||||
"date": "2026-10-20",
|
"date": "2026-10-20",
|
||||||
|
|||||||
+7
-6
@@ -6,12 +6,12 @@
|
|||||||
<title>Pionaarr Mods Builder</title>
|
<title>Pionaarr Mods Builder</title>
|
||||||
<meta name="description" content="Build your own modded C900NXS.UPD in the browser: upload the official 1.31 update, tick the mods, download the file. Nothing leaves your computer.">
|
<meta name="description" content="Build your own modded C900NXS.UPD in the browser: upload the official 1.31 update, tick the mods, download the file. Nothing leaves your computer.">
|
||||||
<link rel="icon" href="assets/favicon.svg" type="image/svg+xml">
|
<link rel="icon" href="assets/favicon.svg" type="image/svg+xml">
|
||||||
<link rel="stylesheet" href="style.css?v=1.8.1">
|
<link rel="stylesheet" href="style.css?v=1.8.2">
|
||||||
<script src="assets/versions.js?v=1.8.1"></script>
|
<script src="assets/versions.js?v=1.8.2"></script>
|
||||||
<script src="script.js?v=1.8.1"></script>
|
<script src="script.js?v=1.8.2"></script>
|
||||||
<script src="builder/data.js?v=1.8.1"></script>
|
<script src="builder/data.js?v=1.8.2"></script>
|
||||||
<script src="builder/builder.js?v=1.8.1"></script>
|
<script src="builder/builder.js?v=1.8.2"></script>
|
||||||
<script src="builder/ui.js?v=1.8.1"></script>
|
<script src="builder/ui.js?v=1.8.2"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
@@ -23,6 +23,7 @@
|
|||||||
<a href="builder.html" aria-current="page">Builder</a>
|
<a href="builder.html" aria-current="page">Builder</a>
|
||||||
<a href="upcoming.html">Upcoming</a>
|
<a href="upcoming.html">Upcoming</a>
|
||||||
<a href="docs.html">Docs</a>
|
<a href="docs.html">Docs</a>
|
||||||
|
<a href="issues.html">Known issues</a>
|
||||||
</nav>
|
</nav>
|
||||||
<button class="theme-btn" type="button" aria-label="Switch light / dark">☀</button>
|
<button class="theme-btn" type="button" aria-label="Switch light / dark">☀</button>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
{"mods/patch_cdj900nxs.py":"#!/usr/bin/env python3\n# SPDX-License-Identifier: GPL-2.0-or-later\n\"\"\"Apply arnoldasr's CDJ-900NXS 1.31 mods to the unpacked MAIN image.\n\n usage: patch_cdj900nxs.py <main_unpacked.bin> <patched.bin> <mod>[,<mod>...]\n patch_cdj900nxs.py --list\n\nThe mods come from https://github.com/arnoldasr/cdj900nxs, read as data from a\ncheckout of it (CDJ900NXS_MODS_SRC, default mods/cdj900nxs/upstream, which is\nnot committed: that repository carries no licence). Nothing of its Python is\nimported; what its build_firmware.py does is redone here:\n\n extended_bpm the BPM with hundredths: the stock tenths moved into a new\n small digit above, the lower one showing hundredths.\n phasemeter the two-line phase meter (orange master, blue this deck, a\n marker each) in place of the four boxes, chosen in UTILITY >\n PHASE METER (SLIP FLASHING relabelled; mods/phase-meter-\n utility.cdjmod.json).\n advanced_waveforms (was rgb_waveform; based on arnoldasr's, updated and\n maintained by us) the big waveform in rekordbox's RGB colours\n (1.0.1: also when its colour detail is a little short,\n cdj900nxs/wavefix.py), and the overview's colour table as a red-to-white\n gradient (mods/waveform-colour.cdjmod.json); with our\n UTILITY > WAVEFORM: BLUE / RGB / 3BAND (cdj900nxs/wavemodes.py,\n left out with public=True).\n\n The three are arnoldasr's code mod (patches/mods.json): hooks\n in the application redirected to SH-4 code appended after it\n (0x08FC1000), plus an asset blob at 0x08FC2D00 generated from\n the stock image (the resource table extended by four phase-meter\n images, then the RGB waveform palette and LUT). Upstream tested\n it as one build, and as one without the RGB waveform\n (patches/bpm-phase-meter.json); one of those two is built and\n checked against its hash first, then the hooks of a feature not\n chosen get their original bytes back. Their shared startup hook\n (0x08C071FC) installs the BPM digits and the phase markers: the\n call of the one not chosen is taken out there.\n beatjump ours, not arnoldasr's (cdj900nxs/beatjump.py): TRACK SEARCH\n jumps 1/2/4/8 beats along the grid, chosen in UTILITY > BEAT JUMP,\n made at once in the DSP's decoded audio (cdj900nxs/dspjump.py, a\n patch of the audio DSP's code),\n which replaces SCREEN SAVER. hotcuekeys' engine makes the jumps,\n so it needs hotcuekeys and cuecolours. Needs no upstream checkout.\n cuecolours ours (cdj900nxs/cuecolours.py): memory cues drawn in their\n rekordbox colour on the overview and the detail waveform, the\n rekordbox hot cues shown as lettered boxes.\n Needs no upstream checkout.\n hotcuekeys ours (cdj900nxs/hotcuekeys.py): UTILITY > HOT CUE KEYS (a new,\n 18th item); with it ON, QUANTIZE briefly pressed switches a hot\n cue key mode shown in a HOT KEYS box, held it is QUANTIZE. In\n the mode the top three BEAT DIVIDE keys play hot cues A-C (held: a\n gate), set one (empty key held while paused) or delete one\n (DELETE held). The hot cues come from cuecolours.\n ledsaver ours (cdj900nxs/ledsaver.py): UTILITY > LED ANIMATION (one more\n item, after the others); with it ON, while the screen saver dims\n the display the button LEDs and the jog's rings play a loop.\n keynotation ours (cdj900nxs/keynotation.py): UTILITY > KEY NOTATION (one\n more item): every track's key in Camelot, Open Key or classic\n notation, whatever rekordbox exported.\n usbautoload ours (cdj900nxs/usbautoload.py): UTILITY > USB AUTO LOAD (one\n more item): a stick's MY SETTINGS are loaded when the player finds\n them, without waiting for MENU.\n quicksearch ours (cdj900nxs/quicksearch.py): BROWSE held opens SEARCH,\n BROWSE twice the list the playing track came from.\n (phasemeter, in unreleased builds, also gets ours from cdj900nxs/phasereverse.py:\n UTILITY > PHASE METER OFF / ON / REVERSE, and the beat countdown\n moved clear of the line meter; `phasereverse` is an old name for it.)\n credit ours (cdj900nxs/credit.py): the boot screen says \"Pionaarr Mods\n 1.0\" where it said \"Ver 1.31\".\n\nEvery patch is applied only where the image holds the expected original\nbytes, and arnoldasr's code is first built as one of the builds he tested\nand checked against its hash.\n\nOur lzss_decode.py runs 54 bytes past the end of the packed stream, so\nmain_unpacked.bin is the 1.31 application plus a tail the firmware never\nreads; the application is cut back to its own length first.\n\"\"\"\nimport hashlib\nimport json\nimport os\nimpLine truncated
|
{"mods/patch_cdj900nxs.py":"#!/usr/bin/env python3\n# SPDX-License-Identifier: GPL-2.0-or-later\n\"\"\"Apply arnoldasr's CDJ-900NXS 1.31 mods to the unpacked MAIN image.\n\n usage: patch_cdj900nxs.py <main_unpacked.bin> <patched.bin> <mod>[,<mod>...]\n patch_cdj900nxs.py --list\n\nThe mods come from https://github.com/arnoldasr/cdj900nxs, read as data from a\ncheckout of it (CDJ900NXS_MODS_SRC, default mods/cdj900nxs/upstream, which is\nnot committed: that repository carries no licence). Nothing of its Python is\nimported; what its build_firmware.py does is redone here:\n\n extended_bpm the BPM with hundredths: the stock tenths moved into a new\n small digit above, the lower one showing hundredths.\n phasemeter the two-line phase meter (orange master, blue this deck, a\n marker each) in place of the four boxes, chosen in UTILITY >\n PHASE METER (SLIP FLASHING relabelled; mods/phase-meter-\n utility.cdjmod.json).\n advanced_waveforms (was rgb_waveform; based on arnoldasr's, updated and\n maintained by us) the big waveform in rekordbox's RGB colours\n (1.0.1: also when its colour detail is a little short,\n cdj900nxs/wavefix.py), and the overview's colour table as a red-to-white\n gradient (mods/waveform-colour.cdjmod.json); with our\n UTILITY > WAVEFORM: BLUE / RGB / 3BAND (cdj900nxs/wavemodes.py,\n left out with public=True).\n\n The three are arnoldasr's code mod (patches/mods.json): hooks\n in the application redirected to SH-4 code appended after it\n (0x08FC1000), plus an asset blob at 0x08FC2D00 generated from\n the stock image (the resource table extended by four phase-meter\n images, then the RGB waveform palette and LUT). Upstream tested\n it as one build, and as one without the RGB waveform\n (patches/bpm-phase-meter.json); one of those two is built and\n checked against its hash first, then the hooks of a feature not\n chosen get their original bytes back. Their shared startup hook\n (0x08C071FC) installs the BPM digits and the phase markers: the\n call of the one not chosen is taken out there.\n beatjump ours, not arnoldasr's (cdj900nxs/beatjump.py): TRACK SEARCH\n jumps 1/2/4/8 beats along the grid, chosen in UTILITY > BEAT JUMP,\n made at once in the DSP's decoded audio (cdj900nxs/dspjump.py, a\n patch of the audio DSP's code),\n which replaces SCREEN SAVER. hotcuekeys' engine makes the jumps,\n so it needs hotcuekeys and cuecolours. Needs no upstream checkout.\n cuecolours ours (cdj900nxs/cuecolours.py): memory cues drawn in their\n rekordbox colour on the overview and the detail waveform, the\n rekordbox hot cues shown as lettered boxes.\n Needs no upstream checkout.\n hotcuekeys ours (cdj900nxs/hotcuekeys.py): UTILITY > HOT CUE KEYS (a new,\n 18th item); with it ON, QUANTIZE briefly pressed switches a hot\n cue key mode shown in a HOT KEYS box, held it is QUANTIZE. In\n the mode the top three BEAT DIVIDE keys play hot cues A-C (held: a\n gate), set one (empty key held while paused) or delete one\n (DELETE held). The hot cues come from cuecolours.\n ledsaver ours (cdj900nxs/ledsaver.py): UTILITY > LED ANIMATION (one more\n item, after the others); with it ON, while the screen saver dims\n the display the button LEDs and the jog's rings play a loop.\n keynotation ours (cdj900nxs/keynotation.py): UTILITY > KEY NOTATION (one\n more item): every track's key in Camelot, Open Key or classic\n notation, whatever rekordbox exported.\n usbautoload ours (cdj900nxs/usbautoload.py): UTILITY > USB AUTO LOAD (one\n more item): a stick's MY SETTINGS are loaded when the player finds\n them, without waiting for MENU.\n quicksearch ours (cdj900nxs/quicksearch.py): BROWSE held opens SEARCH,\n BROWSE twice the list the playing track came from.\n (phasemeter, in unreleased builds, also gets ours from cdj900nxs/phasereverse.py:\n UTILITY > PHASE METER OFF / ON / REVERSE, and the beat countdown\n moved clear of the line meter; `phasereverse` is an old name for it.)\n credit ours (cdj900nxs/credit.py): the boot screen says \"Pionaarr Mods\n 1.0\" where it said \"Ver 1.31\".\n\nEvery patch is applied only where the image holds the expected original\nbytes, and arnoldasr's code is first built as one of the builds he tested\nand checked against its hash.\n\nOur lzss_decode.py runs 54 bytes past the end of the packed stream, so\nmain_unpacked.bin is the 1.31 application plus a tail the firmware never\nreads; the application is cut back to its own length first.\n\"\"\"\nimport hashlib\nimport json\nimport os\nimpLine truncated
|
||||||
+1
-1
@@ -30,7 +30,7 @@
|
|||||||
{ id: 'usbautoload', name: 'USB auto load', by: 'ours', state: 'experimental',
|
{ id: 'usbautoload', name: 'USB auto load', by: 'ours', state: 'experimental',
|
||||||
what: 'MY SETTINGS on a stick loaded the moment the player finds them. UTILITY › USB AUTO LOAD.' },
|
what: 'MY SETTINGS on a stick loaded the moment the player finds them. UTILITY › USB AUTO LOAD.' },
|
||||||
{ id: 'credit', name: 'Boot text', by: 'ours', state: 'stable',
|
{ id: 'credit', name: 'Boot text', by: 'ours', state: 'stable',
|
||||||
what: 'The boot screen says “Pionaarr Mods 1.8.1” instead of “Ver 1.31”.' }
|
what: 'The boot screen says “Pionaarr Mods 1.8.2” instead of “Ver 1.31”.' }
|
||||||
];
|
];
|
||||||
var chosen = {};
|
var chosen = {};
|
||||||
MODS.forEach(function (m) { chosen[m.id] = true; }); // every mod ticked at the start
|
MODS.forEach(function (m) { chosen[m.id] = true; }); // every mod ticked at the start
|
||||||
|
|||||||
+4
-3
@@ -6,9 +6,9 @@
|
|||||||
<title>Datenschutzerklärung · Pionaarr Mods</title>
|
<title>Datenschutzerklärung · Pionaarr Mods</title>
|
||||||
<meta name="description" content="Datenschutzerklärung von Pionaarr Mods.">
|
<meta name="description" content="Datenschutzerklärung von Pionaarr Mods.">
|
||||||
<link rel="icon" href="assets/favicon.svg" type="image/svg+xml">
|
<link rel="icon" href="assets/favicon.svg" type="image/svg+xml">
|
||||||
<link rel="stylesheet" href="style.css?v=1.8.1">
|
<link rel="stylesheet" href="style.css?v=1.8.2">
|
||||||
<script src="assets/versions.js?v=1.8.1"></script>
|
<script src="assets/versions.js?v=1.8.2"></script>
|
||||||
<script src="script.js?v=1.8.1"></script>
|
<script src="script.js?v=1.8.2"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
@@ -20,6 +20,7 @@
|
|||||||
<a href="builder.html">Builder</a>
|
<a href="builder.html">Builder</a>
|
||||||
<a href="upcoming.html">Upcoming</a>
|
<a href="upcoming.html">Upcoming</a>
|
||||||
<a href="docs.html">Docs</a>
|
<a href="docs.html">Docs</a>
|
||||||
|
<a href="issues.html">Known issues</a>
|
||||||
</nav>
|
</nav>
|
||||||
<button class="theme-btn" type="button" aria-label="Switch light / dark">☀</button>
|
<button class="theme-btn" type="button" aria-label="Switch light / dark">☀</button>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -6,9 +6,9 @@
|
|||||||
<title>Pionaarr Mods Docs</title>
|
<title>Pionaarr Mods Docs</title>
|
||||||
<meta name="description" content="How to build and install the CDJ-900NXS mods and how each one works, including the hot cue keys: play, gate, set and delete.">
|
<meta name="description" content="How to build and install the CDJ-900NXS mods and how each one works, including the hot cue keys: play, gate, set and delete.">
|
||||||
<link rel="icon" href="assets/favicon.svg" type="image/svg+xml">
|
<link rel="icon" href="assets/favicon.svg" type="image/svg+xml">
|
||||||
<link rel="stylesheet" href="style.css?v=1.8.1">
|
<link rel="stylesheet" href="style.css?v=1.8.2">
|
||||||
<script src="assets/versions.js?v=1.8.1"></script>
|
<script src="assets/versions.js?v=1.8.2"></script>
|
||||||
<script src="script.js?v=1.8.1"></script>
|
<script src="script.js?v=1.8.2"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
@@ -20,6 +20,7 @@
|
|||||||
<a href="builder.html">Builder</a>
|
<a href="builder.html">Builder</a>
|
||||||
<a href="upcoming.html">Upcoming</a>
|
<a href="upcoming.html">Upcoming</a>
|
||||||
<a href="docs.html" aria-current="page">Docs</a>
|
<a href="docs.html" aria-current="page">Docs</a>
|
||||||
|
<a href="issues.html">Known issues</a>
|
||||||
</nav>
|
</nav>
|
||||||
<button class="theme-btn" type="button" aria-label="Switch light / dark">☀</button>
|
<button class="theme-btn" type="button" aria-label="Switch light / dark">☀</button>
|
||||||
</div>
|
</div>
|
||||||
@@ -217,8 +218,8 @@
|
|||||||
<figure class="shot"><img src="assets/utility-key.png" alt="UTILITY with KEY NOTATION"><figcaption>UTILITY › KEY NOTATION.</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">Pionaarr mod</span></h2>
|
<h2 id="credit">credit <span class="badge author">Pionaarr mod</span></h2>
|
||||||
<p>The boot screen says <em>Pionaarr Mods 1.8.1</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>
|
<p>The boot screen says <em>Pionaarr Mods 1.8.2</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.8.1"><figcaption>The boot screen.</figcaption></figure>
|
<figure class="shot"><img src="assets/boot-mods.png" alt="Boot screen with Pionaarr Mods 1.8.2"><figcaption>The boot screen.</figcaption></figure>
|
||||||
|
|
||||||
<h2 id="cuenames">cuenames <span class="badge author">Pionaarr mod</span> <span class="state experimental">experimental</span></h2>
|
<h2 id="cuenames">cuenames <span class="badge author">Pionaarr mod</span> <span class="state experimental">experimental</span></h2>
|
||||||
<p>The comment a memory cue or hot cue has in rekordbox (the cue list's comment field, exported with the stick) appears in the title bar, right of the title, in the cue's colour: always the next cue ahead that has one, a hot cue with its letter ("A DROP"). A cue just passed shows for a second more, so a cue you CALL shows its name while you stand on it. Hidden while BROWSE is open; a long title is cut short before the name. Needs <code>cuecolours</code>.</p>
|
<p>The comment a memory cue or hot cue has in rekordbox (the cue list's comment field, exported with the stick) appears in the title bar, right of the title, in the cue's colour: always the next cue ahead that has one, a hot cue with its letter ("A DROP"). A cue just passed shows for a second more, so a cue you CALL shows its name while you stand on it. Hidden while BROWSE is open; a long title is cut short before the name. Needs <code>cuecolours</code>.</p>
|
||||||
@@ -275,7 +276,7 @@
|
|||||||
<h3>Do I need rekordbox?</h3>
|
<h3>Do I need rekordbox?</h3>
|
||||||
<p>Cue colours and hot cues come from a USB stick exported with rekordbox. Without them the mods show what the stock player shows.</p>
|
<p>Cue colours and hot cues come from a USB stick exported with rekordbox. Without them the mods show what the stock player shows.</p>
|
||||||
<h3>Why is the version still 1.31?</h3>
|
<h3>Why is the version still 1.31?</h3>
|
||||||
<p>The update file says 1.32 so the player installs it; the application inside still reports 1.31 (in UTILITY and on the LINK screen). Only the boot screen says <em>Pionaarr Mods 1.8.1</em> instead of <em>Ver 1.31</em>.</p>
|
<p>The update file says 1.32 so the player installs it; the application inside still reports 1.31 (in UTILITY and on the LINK screen). Only the boot screen says <em>Pionaarr Mods 1.8.2</em> instead of <em>Ver 1.31</em>.</p>
|
||||||
</article>
|
</article>
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
|
|||||||
+4
-3
@@ -6,9 +6,9 @@
|
|||||||
<title>Impressum · Pionaarr Mods</title>
|
<title>Impressum · Pionaarr Mods</title>
|
||||||
<meta name="description" content="Impressum und Offenlegung von Pionaarr Mods.">
|
<meta name="description" content="Impressum und Offenlegung von Pionaarr Mods.">
|
||||||
<link rel="icon" href="assets/favicon.svg" type="image/svg+xml">
|
<link rel="icon" href="assets/favicon.svg" type="image/svg+xml">
|
||||||
<link rel="stylesheet" href="style.css?v=1.8.1">
|
<link rel="stylesheet" href="style.css?v=1.8.2">
|
||||||
<script src="assets/versions.js?v=1.8.1"></script>
|
<script src="assets/versions.js?v=1.8.2"></script>
|
||||||
<script src="script.js?v=1.8.1"></script>
|
<script src="script.js?v=1.8.2"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
@@ -20,6 +20,7 @@
|
|||||||
<a href="builder.html">Builder</a>
|
<a href="builder.html">Builder</a>
|
||||||
<a href="upcoming.html">Upcoming</a>
|
<a href="upcoming.html">Upcoming</a>
|
||||||
<a href="docs.html">Docs</a>
|
<a href="docs.html">Docs</a>
|
||||||
|
<a href="issues.html">Known issues</a>
|
||||||
</nav>
|
</nav>
|
||||||
<button class="theme-btn" type="button" aria-label="Switch light / dark">☀</button>
|
<button class="theme-btn" type="button" aria-label="Switch light / dark">☀</button>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+6
-5
@@ -6,9 +6,9 @@
|
|||||||
<title>Pionaarr Mods</title>
|
<title>Pionaarr Mods</title>
|
||||||
<meta name="description" content="Firmware mods for the Pioneer CDJ-900NXS (firmware 1.31): RGB waveform, extended BPM, phase meter, cue colours, hot cues on the beat divide keys and more — compared with stock, built in your browser.">
|
<meta name="description" content="Firmware mods for the Pioneer CDJ-900NXS (firmware 1.31): RGB waveform, extended BPM, phase meter, cue colours, hot cues on the beat divide keys and more — compared with stock, built in your browser.">
|
||||||
<link rel="icon" href="assets/favicon.svg" type="image/svg+xml">
|
<link rel="icon" href="assets/favicon.svg" type="image/svg+xml">
|
||||||
<link rel="stylesheet" href="style.css?v=1.8.1">
|
<link rel="stylesheet" href="style.css?v=1.8.2">
|
||||||
<script src="assets/versions.js?v=1.8.1"></script>
|
<script src="assets/versions.js?v=1.8.2"></script>
|
||||||
<script src="script.js?v=1.8.1"></script>
|
<script src="script.js?v=1.8.2"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
@@ -20,6 +20,7 @@
|
|||||||
<a href="builder.html">Builder</a>
|
<a href="builder.html">Builder</a>
|
||||||
<a href="upcoming.html">Upcoming</a>
|
<a href="upcoming.html">Upcoming</a>
|
||||||
<a href="docs.html">Docs</a>
|
<a href="docs.html">Docs</a>
|
||||||
|
<a href="issues.html">Known issues</a>
|
||||||
</nav>
|
</nav>
|
||||||
<button class="theme-btn" type="button" aria-label="Switch light / dark">☀</button>
|
<button class="theme-btn" type="button" aria-label="Switch light / dark">☀</button>
|
||||||
</div>
|
</div>
|
||||||
@@ -231,8 +232,8 @@
|
|||||||
<div class="meta"><span class="state stable">stable</span></div>
|
<div class="meta"><span class="state stable">stable</span></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="by">Pionaarr mod · <code>credit</code></div>
|
<div class="by">Pionaarr mod · <code>credit</code></div>
|
||||||
<figure class="tshot"><img src="assets/card-boot.png" alt="Boot screen: Pionaarr Mods 1.8.1" loading="lazy"></figure>
|
<figure class="tshot"><img src="assets/card-boot.png" alt="Boot screen: Pionaarr Mods 1.8.2" loading="lazy"></figure>
|
||||||
<p>The boot screen says <em>Pionaarr Mods 1.8.1</em>.</p>
|
<p>The boot screen says <em>Pionaarr Mods 1.8.2</em>.</p>
|
||||||
</article>
|
</article>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+116
@@ -0,0 +1,116 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<title>Pionaarr Mods Known Issues</title>
|
||||||
|
<meta name="description" content="What does not work right yet in the CDJ-900NXS mods, and what we are doing about it.">
|
||||||
|
<link rel="icon" href="assets/favicon.svg" type="image/svg+xml">
|
||||||
|
<link rel="stylesheet" href="style.css?v=1.8.2">
|
||||||
|
<script src="assets/versions.js?v=1.8.2"></script>
|
||||||
|
<script src="script.js?v=1.8.2"></script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<header class="top">
|
||||||
|
<div class="wrap">
|
||||||
|
<a class="brand" href="index.html"><span class="cue-key" aria-hidden="true">CUE</span><span>Pionaarr Mods</span></a>
|
||||||
|
<nav class="tabs" aria-label="Sections">
|
||||||
|
<a href="index.html">Mods</a>
|
||||||
|
<a href="builder.html">Builder</a>
|
||||||
|
<a href="upcoming.html">Upcoming</a>
|
||||||
|
<a href="docs.html">Docs</a>
|
||||||
|
<a href="issues.html" aria-current="page">Known issues</a>
|
||||||
|
</nav>
|
||||||
|
<button class="theme-btn" type="button" aria-label="Switch light / dark">☀</button>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<main class="wrap upcoming">
|
||||||
|
<div class="eyebrow">Known issues</div>
|
||||||
|
<h1>What does not work right yet</h1>
|
||||||
|
<p class="lead">Problems we know about in the mods, found on a real player or in the emulator. <strong>Open</strong> means not fixed yet; <strong>fix to confirm</strong> means fixed in the builder, waiting for a test on a player.</p>
|
||||||
|
|
||||||
|
<div class="grid">
|
||||||
|
|
||||||
|
<article class="card">
|
||||||
|
<div class="card-head">
|
||||||
|
<div class="icon" aria-hidden="true">🔎</div>
|
||||||
|
<div>
|
||||||
|
<h3>Quick search clicks its way there</h3>
|
||||||
|
<div class="by"><code>quicksearch</code> 0.3.0</div>
|
||||||
|
</div>
|
||||||
|
<div class="meta"><span class="state experimental">open</span></div>
|
||||||
|
</div>
|
||||||
|
<p>Quick search gets to SEARCH and to the playing track’s list by pressing the player’s own keys for you (BACK, the rotary, push), level by level. On a real player you watch it walk, and it waits for every list to load from the stick.</p>
|
||||||
|
<ul class="diff">
|
||||||
|
<li><span class="k">Seen</span><span>In a folder other than the default one it jumped between the top and the bottom of the current list instead of getting there.</span></li>
|
||||||
|
<li><span class="k new">Next</span><span>A rebuild that opens the wanted list directly, without the walk.</span></li>
|
||||||
|
</ul>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
<article class="card">
|
||||||
|
<div class="card-head">
|
||||||
|
<div class="icon" aria-hidden="true">🌊</div>
|
||||||
|
<div>
|
||||||
|
<h3>WAVEFORM changed with a track loaded</h3>
|
||||||
|
<div class="by"><code>advanced_waveforms</code> 1.0.1</div>
|
||||||
|
</div>
|
||||||
|
<div class="meta"><span class="state experimental">open</span></div>
|
||||||
|
</div>
|
||||||
|
<p>Switching UTILITY › WAVEFORM while a track is loaded only half takes: switched from 3BAND, the overview showed RGB while the big waveform stayed blue.</p>
|
||||||
|
<ul class="diff">
|
||||||
|
<li><span class="k">Until then</span><span>Load the track again after changing WAVEFORM.</span></li>
|
||||||
|
<li><span class="k new">Next</span><span>The new mode on both waveforms at once.</span></li>
|
||||||
|
</ul>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
<article class="card">
|
||||||
|
<div class="card-head">
|
||||||
|
<div class="icon" aria-hidden="true">🎹</div>
|
||||||
|
<div>
|
||||||
|
<h3>Key colour white on the player</h3>
|
||||||
|
<div class="by"><code>keynotation</code> 1.2.1</div>
|
||||||
|
</div>
|
||||||
|
<div class="meta"><span class="state experimental">open</span></div>
|
||||||
|
</div>
|
||||||
|
<p>The key in its Camelot wheel colour works in the emulator; on a real player the key is shown in white. The notation itself (Camelot, Open Key, classic) is right.</p>
|
||||||
|
<ul class="diff">
|
||||||
|
<li><span class="k new">Next</span><span>Finding why the player draws the key’s text without our colour.</span></li>
|
||||||
|
</ul>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
<article class="card">
|
||||||
|
<div class="card-head">
|
||||||
|
<div class="icon" aria-hidden="true">⏏️</div>
|
||||||
|
<div>
|
||||||
|
<h3>Hot cues after USB STOP</h3>
|
||||||
|
<div class="by"><code>hotcuekeys</code> 1.3.0</div>
|
||||||
|
</div>
|
||||||
|
<div class="meta"><span class="state testing">fix to confirm</span></div>
|
||||||
|
</div>
|
||||||
|
<p>Up to 1.2.x the hot cues stayed after the stick was pulled or stopped; a press then played what the player still held and ran into EMERGENCY LOOP. 1.3.0 empties them the moment the stick is gone, with or without a LAN cable, and over LINK when the other player’s stick goes.</p>
|
||||||
|
<ul class="diff">
|
||||||
|
<li><span class="k new">Next</span><span>Confirming on a player with USB STOP and with the stick pulled.</span></li>
|
||||||
|
</ul>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<footer>
|
||||||
|
<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, our mods 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>extended_bpm</code> and <code>phasemeter</code> are by <a href="https://github.com/arnoldasr/cdj900nxs">arnoldasr</a>.</p>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<h4>Disclaimer</h4>
|
||||||
|
<p>Unofficial. Not affiliated with or endorsed by Pioneer DJ or AlphaTheta; CDJ and rekordbox are their trademarks. Flashing modified firmware can leave your player unusable. Everything here is provided as is, without warranty, and used at your own risk.</p>
|
||||||
|
<p class="legal"><a href="impressum.html">Impressum</a> · <a href="datenschutz.html">Datenschutz</a></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -1,6 +1,14 @@
|
|||||||
{
|
{
|
||||||
"_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.8.2",
|
||||||
|
"date": "2026-10-21",
|
||||||
|
"changes": [
|
||||||
|
"New page: Known issues, what does not work right yet and what we do about it.",
|
||||||
|
"Upcoming: a broken leftover under the stems card removed."
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"version": "1.8.1",
|
"version": "1.8.1",
|
||||||
"date": "2026-10-20",
|
"date": "2026-10-20",
|
||||||
|
|||||||
+4
-16
@@ -6,9 +6,9 @@
|
|||||||
<title>Pionaarr Mods Upcoming</title>
|
<title>Pionaarr Mods Upcoming</title>
|
||||||
<meta name="description" content="What comes next for the CDJ-900NXS mods: quick search, USB auto load, a reversed phase meter, stems and a 3-band waveform.">
|
<meta name="description" content="What comes next for the CDJ-900NXS mods: quick search, USB auto load, a reversed phase meter, stems and a 3-band waveform.">
|
||||||
<link rel="icon" href="assets/favicon.svg" type="image/svg+xml">
|
<link rel="icon" href="assets/favicon.svg" type="image/svg+xml">
|
||||||
<link rel="stylesheet" href="style.css?v=1.8.1">
|
<link rel="stylesheet" href="style.css?v=1.8.2">
|
||||||
<script src="assets/versions.js?v=1.8.1"></script>
|
<script src="assets/versions.js?v=1.8.2"></script>
|
||||||
<script src="script.js?v=1.8.1"></script>
|
<script src="script.js?v=1.8.2"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
@@ -20,6 +20,7 @@
|
|||||||
<a href="builder.html">Builder</a>
|
<a href="builder.html">Builder</a>
|
||||||
<a href="upcoming.html" aria-current="page">Upcoming</a>
|
<a href="upcoming.html" aria-current="page">Upcoming</a>
|
||||||
<a href="docs.html">Docs</a>
|
<a href="docs.html">Docs</a>
|
||||||
|
<a href="issues.html">Known issues</a>
|
||||||
</nav>
|
</nav>
|
||||||
<button class="theme-btn" type="button" aria-label="Switch light / dark">☀</button>
|
<button class="theme-btn" type="button" aria-label="Switch light / dark">☀</button>
|
||||||
</div>
|
</div>
|
||||||
@@ -52,19 +53,6 @@
|
|||||||
</ul>
|
</ul>
|
||||||
</article>
|
</article>
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="meta"><span class="player no">emulator only</span><span class="state planned">in testing</span></div>
|
|
||||||
</div>
|
|
||||||
<p>A new UTILITY › WAVEFORM item in advanced waveforms: BLUE (the player's own), RGB or 3BAND — 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. The choice is kept when the player is off.</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: rekordbox's real 3-band data, detail and overview (a drop, then a breakdown)</figcaption></figure>
|
|
||||||
</div>
|
|
||||||
<ul class="diff">
|
|
||||||
<li><span class="k">Now</span><span>Built and working in the emulator with rekordbox's real 3-band data: the player's own database server hands out the 3-band detail from the .2EX analysis file when asked the way newer players ask; the overview below is built from it too. Without that data, the bands are estimated from the colour waveform.</span></li>
|
|
||||||
<li><span class="k new">Next</span><span>Testing on a player, then the builder.</span></li>
|
|
||||||
</ul>
|
|
||||||
</article>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user