Expand description
An ID3v2.4 reader/writer that saves exactly what mutagen saves.
The pipeline records SHA-256 digests of stems in manifests and logs, so
a tag that merely reads the same is not enough: the bytes must match.
This follows mutagen.id3 1.47’s save path:
- frames sorted by
(priority, len(frame data), HashKey), priority being the index inTIT2 TPE1 TRCK TALB TPOS TDRC TCON, then everything else, thenAPIC(whose relative order is kept); - every encoded string followed by its terminator, text frames with an
empty
"\0".join(text)dropped entirely; - padding from
PaddingInfo.get_default_padding— keep the space already there unless it exceeds 10 KiB + 1 % of the file, otherwise 1 KiB + 0.1 % — with the old tag region resized in place.
Frames this module does not model are carried over byte for byte.
Structs§
Enums§
Constants§
- ORDER 🔒
Functions§
- encode 🔒
- encoded_
text 🔒 - existing_
tag_ 🔒size - The size of an existing ID3v2 tag at the start of
data(header included), or 0. - parse_
body 🔒 - read_
encoded 🔒 - Split one terminated string off the front of
data. - read_
multi 🔒 - read_
syncsafe 🔒 - syncsafe 🔒
- term 🔒
- write_
body 🔒