Repository navigation
dbserver: match rekordbox's Display Song Info rows - #92
Merged
Merged
Conversation
link-spec's Display Song Info suites (rekordbox 7.2.19) showed our TRACK INFO rows diverging in layout and content. - The sixteen rows follow rekordbox's order (bitrate and year before label) and its argument-0 flags (1 on the category rows, 0 on Date Added and Comment). The colour row's type is 0x13 + the colour ID, as in the COLOUR menu, where it was fixed at 0x13. - The title row is an ordinary track row (key ID, BPM and the rest in the extended fields) whose second column the render request picks: an eight-argument render with gate 1 shows its override column, or its column argument when the override is 0; shorter renders and gate 0 show the plain title, which is what CDJ-2000NXS2 TRACK INFO requests. Delivery Info's title row composes the same way. - Strings are cut to rekordbox's limits: 127 UTF-16 units for the title and category names, 255 for Comment and Date Added. - Date Added is rekordbox's StockDate; the dump read DateCreated, which is often empty, so imports showed the import date. DateCreated is kept separately, and smart playlist rules on dateCreated test it, as rekordbox's do, while stockDate rules test Date Added. Tests cover the row layout, the render-time title column, the string limits and the two date fields.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What & why
link-spec's Display Song Info suites (rekordbox 7.2.19) showed our TRACK INFO rows (
0x2002) diverging from rekordbox's in layout and content.0x13+ the colour ID, as in the COLOUR menu (0x14= Pink), where it was fixed at0x13.StockDate. The dump readDateCreated, which is often empty, so imported tracks showed their import date.DateCreatedis now kept separately, and smart playlist rules ondateCreatedtest it whilestockDaterules test Date Added, as rekordbox's do.Tests cover the row layout, the render-time title column, the string limits and the two date fields.
Conformance against rekordbox 7.2.19: 72 more cases match exactly and none stop matching (2,581 to 2,653 of 4,250). The populated case now matches in every ordinary Display suite, 20 of 21 render variants match, and pagination matches fully. Not covered: rekordbox's model-specific behaviour for XDJ all-in-one requesters (no reply for XDJ-XZ/AZ/1000MK2, a moved Comment row for the XDJ-RX3), which depends on the requester's status packets that the conformance server doesn't receive; and string fixtures that need custom colour names or verbatim malformed dates.
Hardware testing
Checklist
go build ./...,go vet ./..., andgo test ./...passgofmt -l .is cleanGPL-3.0-or-later)