Serial
6a3f912db3
misc: Create FUNDING.yml
2023-08-20 10:05:38 -04:00
Serial
bdfe1a8cfc
ID3v2: Move all header related items to v2::header module
2023-07-30 21:10:42 -04:00
Serial
553d16fa88
APE: Fix property reading on old stream versions
...
This also makes property reading take `ParsingMode` into account.
2023-07-28 13:14:56 -04:00
Serial
6cab8aa088
WavPack: Stop overwriting custom sample rates
...
When a custom sample rate (or multiplier) was encountered, it would accidentally be overwritten with 0, causing incorrect duration and bitrate values.
This was due to us reading the metadata sub blocks first (when necessary) and then immediately overwriting the sample rate with the value from the block header (which is 0 in the presence of a custom sample rate).
2023-07-27 16:45:04 -04:00
Serial
5eb032a3d4
FLAC: Do not error on multiple VorbisComments when not strict
...
This is not allowed [by spec](https://xiph.org/flac/format.html#def_VORBIS_COMMENT ), but is still possible to encounter in the wild. Now we will just tag whichever tag happens to be latest in the stream and use it, they **will not be merged** like other formats (such as ID3v2 in MP3) where multiple tags are valid.
2023-07-27 05:18:42 -04:00
Serial
3755fbf813
MP4: Fix integer shrinking
...
This feature wasn't finished, unsure how it wasn't caught sooner. In its current state it'll panic on most numbers. Guess we just got lucky.
2023-07-27 05:18:16 -04:00
Serial
e622a671a7
MP4: Merge existing atoms in Ilst::insert
...
Now, when inserting an atom that already exists in a tag, the data is taken from the provided atom and merged with the existing value in the tag. This should ensure that the value that already exists in the tag will remain the dominant one.
2023-07-25 17:11:36 -04:00
Serial
acc3c9ff11
MP4: Fix incomplete example for Atom::into_data
2023-07-25 17:11:36 -04:00
Serial
1a8ea4da77
changelog: Add entries for MP4 changes
2023-07-25 17:11:36 -04:00
Serial
bd96b4f2ed
MP4: Properly handle covrs
...
Previously, `Ilst::insert_picture` would insert a new `covr` atom, and `Ilst::pictures` would check for multiple `covr` atoms. Now, when inserting pictures they will all be merged into a single atom.
Additionally, `Ilst::insert` will check for `covr` atom inserts, and perform `Ilst::insert_picture` correctly.
2023-07-25 17:11:36 -04:00
Serial
c078126577
MP4: Make Ilst::remove
return all removed atoms
2023-07-25 17:11:36 -04:00
Serial
abf6b40057
MP4: Add Atom::{merge, into_data}
2023-07-25 17:11:36 -04:00
Uwe Klotz
903cc9d678
Fix typo
2023-07-22 09:45:11 -04:00
Uwe Klotz
36be050059
Add doc comments to ItemKey
2023-07-22 09:18:50 -04:00
Uwe Klotz
15ded5a3d4
id3v2: Add comment about handling of MusicBrainzRecordingId
2023-07-21 11:09:40 -04:00
Serial
3fe1de57cd
changelog: Add entries for Id3v2Tag
and FrameId
changes
2023-07-21 02:52:49 -04:00
Serial
6296eec578
ID3v2: Make Id3v2Tag::remove
take a FrameId
...
This makes it more type safe and removes the unnecessary caseless string comparison.
2023-07-21 02:52:49 -04:00
Serial
5164ba3862
ID3v2: Implement Into<Cow<'_, str>>
for FrameId
...
This makes it possible to use `FrameId`s in `Frame::new`. It's not much less annoying to create frames using constant IDs.
2023-07-21 02:52:49 -04:00
Serial
a7af2f777c
Clippy: Fix unreadable_literal
2023-07-20 12:48:06 -04:00
Serial
4a60c1c4e2
Clippy
2023-07-20 12:48:06 -04:00
Serial
18d6efb4f2
changelog: Add entries for new supported ID3v2 frames
2023-07-20 12:48:06 -04:00
Serial
7a10d1cc19
ID3v2: Add FrameValue::name
to cleanup verify_frame
2023-07-20 12:48:06 -04:00
Serial
fb473baf38
ID3v2: Rename items/identifier.rs
2023-07-20 12:48:06 -04:00
Serial
9fdd6b610a
ID3v2: Add tests for OWNE and RVA2 frame parsing
2023-07-20 12:48:06 -04:00
Serial
7b98078317
ID3v2: Support PRIV frames
2023-07-20 12:48:06 -04:00
Serial
cd3a795956
ID3v2: Add missing From
impls for FrameValue
2023-07-20 12:48:06 -04:00
Serial
9a98739b27
ID3v2: Support ETCO frames
2023-07-20 12:48:06 -04:00
Serial
0462ce7122
ID3v2: Support OWNE frames
2023-07-20 12:48:06 -04:00
Serial
aa741e11a4
ID3v2: Remove frames that are meant to appear once
...
The spec defines multiple frames that are only meant to appear in a tag once. They are the following: "MCDI", "ETCO", "MLLT", "SYTC", "RVRB", "PCNT", "RBUF", "POSS", "OWNE", "SEEK", and "ASPI".
We now check for their presence in `Id3v2::insert` to prevent multiple appearing in a tag.
2023-07-20 12:48:06 -04:00
Serial
08a0bdf540
ID3v2: Support RVA2 frames
2023-07-20 12:48:06 -04:00
Serial
3bfd28745a
0.15.0
2023-07-11 18:52:37 -04:00
Serial
3c6198bbf9
misc: Update dependencies
2023-07-11 18:52:37 -04:00
Serial
8d9c06393d
lofty_attr: 0.9.0
2023-07-11 18:52:37 -04:00
Serial
c0db2db25c
lofty_attr: Update dependencies
2023-07-11 18:52:37 -04:00
Serial
cc338a3bc5
ID3v2: Add Id3v2Tag::remove_user_text
2023-07-10 21:33:29 -04:00
Serial
58cad46d8d
changelog: Add entry for ID3v2 TXXX getter and setter
2023-07-10 21:33:29 -04:00
Serial
eb368917a9
ID3v2: Add simplified getters and setters for TXXX frames
2023-07-10 21:33:29 -04:00
Serial
7eecbbfbec
Clippy: Fix needless_pass_by_value
and nonminimal_bool
2023-07-10 18:18:05 -04:00
Serial
c3c01787d6
AIFF: Expose the compression type for AIFC
2023-07-10 18:18:05 -04:00
Serial
36a3561497
Clippy: Fix cast_lossless
2023-07-09 23:55:11 -04:00
Serial
c337182ee3
changelog: Add entry for WavPack multichannel fixes
2023-07-09 23:55:11 -04:00
Serial
d817a82a3a
WavPack: Add support for channel mask reading
2023-07-09 23:55:11 -04:00
Serial
30b88c9e7b
WavPack: Fix multichannel detection
...
This also fixes metadata sub block reading as a result.
2023-07-09 23:55:11 -04:00
Serial
d3bc85864a
picture: Add examples to MimeType
methods
2023-07-08 14:51:06 -04:00
Serial
32e34dc087
VorbisComments: Add examples to methods
2023-07-08 14:51:06 -04:00
Serial
3c0df4ca09
error: Add examples to LoftyError
and FileEncodingError
docs
2023-07-08 14:51:06 -04:00
Serial
502ea491f1
ID3v2: Add examples to upgrade functions
2023-07-08 14:51:06 -04:00
Serial
9e8c0a9244
changelog: Add entry for ParseOptions::max_junk_bytes
2023-07-08 12:57:40 -04:00
Serial
425fb77816
probe: Support ParseOptions::max_junk_bytes
in Probe::guess_file_type
2023-07-08 12:57:40 -04:00
Serial
510f00b244
probe: Add ParseOptions::max_junk_bytes
...
This allows us to sift through junk bytes to find what we need.
Discovered through discussion #219 .
2023-07-08 12:57:40 -04:00