Skip to content
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

Decoding obfuscated PSSI data #99

Merged
merged 9 commits into from
Oct 25, 2023

Conversation

troyhacks
Copy link
Contributor

Adds logic to PSSI parsing to deobfuscate the data and make it accessible.

Adds proper parsing to convert previously obfuscated values for mood, end_beat, and bank into integers.

Cleans up the struct for PSSI to pad out the unknowns - opinions may vary on this, I just personally like it tidy.

@dylanljones
Copy link
Owner

dylanljones commented Oct 24, 2023

Hi @troyhacks, thank you for adding the code for the PSSI tag!:)

Do you know if Padding from the structs library keeps the byte contents when writing it back to file? I think it just zeros out those bytes, which is not optimal. I also think it is prettier without all of the unknowns, but i want to make sure those bytes stay the same (unless they are always zero anyway).
I didn't spend the time in my collection to add song structure info, so I haven't yet dug into the PSSI tag so much.
But thanks again for your help, will merge as soon as that is clarified.

@troyhacks
Copy link
Contributor Author

I honestly do not know - I had to give myself a crash course in Python to write this patch.

I would say to leave the unknowns - they aren't hurting anything.

...but I think mood, end_beat, and bank should be translated to integers, as that's what they are.

@dylanljones
Copy link
Owner

Yes, I totally agree on the known fields and I really appreciate your work:) Could you revert the unknown fields?

@troyhacks
Copy link
Contributor Author

Reverted them back to bytes!

@dylanljones dylanljones merged commit 8ee2374 into dylanljones:master Oct 25, 2023
@dylanljones
Copy link
Owner

Very nice, thank you!

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.

2 participants