Skip to content

feat(anlz): add device analysis path calculation - #264

Open
AnnoyingTechnology wants to merge 1 commit into
Holzhaus:mainfrom
AnnoyingTechnology:feat/anlz-path-hash
Open

feat(anlz): add device analysis path calculation#264
AnnoyingTechnology wants to merge 1 commit into
Holzhaus:mainfrom
AnnoyingTechnology:feat/anlz-path-hash

Conversation

@AnnoyingTechnology

@AnnoyingTechnology AnnoyingTechnology commented Jul 22, 2026

Copy link
Copy Markdown

Add the deterministic directory calculation used by rekordbox for analysis
files under PIONEER/USBANLZ.

  • expose the (P value, hash value) components
  • format the relative Pxxx/yyyyyyyy directory
  • process the exact device audio path as UTF-16 code units
  • preserve case, separators, and Unicode without normalization
  • pin the implementation to rekordbox-export-derived vectors

Hardware testing confirms that the XDJ-XZ recomputes this directory instead
of relying on the PDB analyze_path. Other player models may resolve it
differently, but that distinction is immaterial when exporters place the
files at the calculated location and keep the PDB field consistent.

The algorithm and vectors come from
research notes I published in December 2025 verified with my own Pioneer hardware.
This PR provides a fresh implementation for rekordcrate.

AI Disclaimer: opus4.5:high was used in the original 2025 research, and gpt5.6-sol:xhigh on this PR

Calculate rekordbox's deterministic USBANLZ directory from the exact
device audio path. Expose the hash components and formatted relative
directory, with export-derived vectors and UTF-16 surrogate-pair
coverage.

Credit AnnoyingTechnology's December 2025 interoperability research.
Document the confirmed XDJ-XZ lookup behavior without generalizing it
to other player models.
@AnnoyingTechnology
AnnoyingTechnology marked this pull request as ready for review July 22, 2026 18:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant