Skip to content

Add Rekordbox XML export command - #237

Open
Arthurescc wants to merge 1 commit into
Holzhaus:mainfrom
Arthurescc:arthurescc/export-rekordbox-xml-127
Open

Add Rekordbox XML export command#237
Arthurescc wants to merge 1 commit into
Holzhaus:mainfrom
Arthurescc:arthurescc/export-rekordbox-xml-127

Conversation

@Arthurescc

Copy link
Copy Markdown

Summary

/claim #127

Adds an export-xml CLI command that converts a Rekordbox device export into the existing Rekordbox XML model. The export includes:

  • track title, artist, file metadata, URI location, comments, and average BPM
  • beatgrid-derived TEMPO entries from analysis files
  • hot cue / loop POSITION_MARK entries from DAT/EXT/2EX analysis files
  • playlist tree nodes using track IDs

I also made the existing XML model friendlier for generated exports by skipping missing optional attributes and allowing empty playlist folders to deserialize.

Verification

  • CARGO_INCREMENTAL=0 CARGO_TARGET_DIR=/tmp/rekordcrate-target cargo check
  • CARGO_INCREMENTAL=0 CARGO_TARGET_DIR=/tmp/rekordcrate-target cargo clippy --all-targets -- -D warnings
  • CARGO_INCREMENTAL=0 CARGO_TARGET_DIR=/tmp/rekordcrate-target cargo test
  • CARGO_INCREMENTAL=0 CARGO_TARGET_DIR=/tmp/rekordcrate-target cargo run -- export-xml data/complete_export/demo_tracks /tmp/rekordcrate-demo.xml
  • CARGO_INCREMENTAL=0 CARGO_TARGET_DIR=/tmp/rekordcrate-target cargo run -- dump-xml /tmp/rekordcrate-demo.xml

The demo XML round-trips through the project's own XML parser and includes the expected demo tracks, artist, locations, and BPM/beatgrid entries. I do not currently have access to a physical Pioneer CDJ for the hardware video, so this PR provides the software-side implementation and reproducible validation steps first.

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