-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
track/serato/markers: Fix parsing of position values #2671
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.