-
Notifications
You must be signed in to change notification settings - Fork 78
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
WAVE / IFF: Accurate file offsets and new validation checks #468
WAVE / IFF: Accurate file offsets and new validation checks #468
Conversation
Values above the printable ASCII range no longer validate, nor IDs in which spaces precede printable characters, per the IFF, AIFF, and RIFF specifications.
- Improved offset reporting - Reinstated WAVE-HUL-4 reporting - Made more strings translatable - Included reporting of unrecognized data in the top-most RIFF chunk as already existed for sub-chunks
08ac3bb
to
4c7500a
Compare
4c7500a
to
8a112da
Compare
8a112da
to
f80d099
Compare
Also stripped example wave files of unnecessary data.
Like unrecognized chunks, unrecognized list types are allowed but should be skipped, so this message is now informational. This change also allows file processing to continue after finding an unknown list, instead of aborting prematurely.
This moves constants for chunk properties such as ID and size field lengths into the Chunk class, and also adds chunk offset information for all chunks.
- Retired WAVE-HUL-16 which was a part of previously pruned dead code. - All chunk names are now surrounded by quotation marks to improve visibility of leading and trailing spaces and have been moved into translatable resource files. - Improved accuracy of WAVE messages.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work :) Changes were sensible and easy to follow the logic.
Will add a PR to fix the tests but that will be a brute force copy of the WAV file results as the PR changes the WAV output in almost all cases. Need to bump the module version also.
Thank you. Yeah, the version numbers should be bumped for WAVE and AIFF. |
Core:
IFF (AIFF & WAVE):
WAVE:
ds64
chunks optional to better align with the specification.