Closed brunchboy closed 5 years ago
Hey James, do you still have that export.pdb file? I just looked into my sample files but couldn't find such an artist row. Did you find similar strings in other tables like album, title or genre? From looking at your katai struct file I couldn't see it anywhere else.
This was long enough ago that I am not sure I will be able to find the file, but I will take a look when I have a few minutes.
So far, I have not seen this kind of string happening in other tables, but I can certainly imagine that. I suppose we could edit a track in rekordbox and export it in order to see what happens.
Actually, my search luck was good! Here it is. export.pdb.zip
Thanks for the sample file. I'll see if I can produce a file with these strange long strings in other tables.
A show producer in Croatia contacted me about parse issues he was having, and was able to get his DJ to share the
export.pdb
file with me. It turns out that if a string is longer than 255 bytes long, the row is formatted differently. The first two bytes are0x64 0x00
rather than0x60 0x00
, and the string is located using a two-byte offset from the row base that immediately follows the bytes we are used to seeing. You can see the changes I made to my Kaitai Struct definitions to accommodate this here: https://github.com/Deep-Symmetry/crate-digger/commit/007a5135b7464ae4ead39c75280395341a8d789b#diff-f4d156186821fdf5743089937d417a3eI will also attach a screen shot of the problem artist row in the Kaitai Web IDE. Let me know if you would like a copy of the
export.pdb
file and I can send you that via some private channel.