Commit graph

1344 commits

Author SHA1 Message Date
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
Serial
1dda6d1f69 Clippy: Fix let_and_return 2023-07-05 13:18:21 -04:00
Serial
27ce6e1f49 changelog: Update for OGG changes 2023-07-05 13:18:21 -04:00
Serial
7ab9183f52 OGG: Reorder write functions 2023-07-05 13:18:21 -04:00
Serial
de62c688dd OGG: Fix clippy::trivially_copy_pass_by_ref 2023-07-05 13:18:21 -04:00
Serial
317fbb6e01 OGG: Stop silently discarding fields that are too large
Previously when writing `VorbisComments`, any field larger than `u32::MAX` would just be ignored. Now `TooMuchData` is thrown.
2023-07-05 13:18:21 -04:00
Serial
5ec7063db7 OGG: Fix reading error handling 2023-07-05 13:18:21 -04:00
Serial
273451ee4a OGG: Move VorbisComments picture creation to new function 2023-07-05 13:18:21 -04:00
Serial
983866c87f OGG: Remove unnecessary seek when writing 2023-07-05 13:18:21 -04:00