track/serato/markers: Fix parsing of position values#2671
track/serato/markers: Fix parsing of position values#2671Be-ing merged 1 commit intomixxxdj:masterfrom
Conversation
The cue position values in the `Serato Markers_` tag use the same strange 4-byte encoding of 24 bit values that track colors use.
|
They did this on purpose. Bastards ;) |
|
Yeah, I wonder if it's to prevent reverse engineering or if it's for some kind of "poor man's integrity check". |
|
Most of the changes are renaming variables/function, modifying comments and fixing the tests. The actual changes to the position parsing are small: https://github.com/mixxxdj/mixxx/pull/2671/files#diff-ac00585ee405309584d3c94b489ffe17R122-R150 |
|
I wouldn't assume it's on purpose. It could be accidental, but it happens to work with whatever code they're using. |
|
CI succeeded 👍 |
|
Maybe the tests in Uwe's branch will work now with this fix? |
|
I'll retry to parse and dump the tag obtained from a FLAC file. |
|
AFAIK the FLAC files only have Serato Markers V2, not the first version, so it should be unaffected. |
|
Still differences. The first bytes match, then some differences occur. Applying the base64 encoding twice on some parts of their marker data is a strange decision by Serato. Original: Parsed and dumped: |
The cue position values in the
Serato Markers_tag use the same strange4-byte encoding of 24 bit values that track colors use.
Prerequesite for #2526.