Commit graph

1657 commits

Author SHA1 Message Date
Serial
304feb9434 MP4: Properly handle offset updates for shrinking tags 2024-01-20 11:38:33 -05:00
Serial
0933898728 CONTRIBUTING: Fix indent 2024-01-20 10:02:14 -05:00
Serial
4410844969 CONTRIBUTING: Finish tag tests section 2024-01-20 10:02:14 -05:00
Serial
a0faa7800c CONTRIBUTING: Describe test assets 2024-01-20 10:02:14 -05:00
Serial
4e29ed2867 CONTRIBUTING: fixups 2024-01-20 10:02:14 -05:00
Serial
38e0634e8a CONTRIBUTING: Start work on new tag docs 2024-01-20 10:02:14 -05:00
Serial
70fa597953 CONTRIBUTING: Add docs for creating new file formats 2024-01-20 10:02:14 -05:00
Serial
be36d32038 CONTRIBUTING: Add docs for creating PRs 2024-01-20 10:02:14 -05:00
Serial
ffa4d9281d misc: Start working on CONTRIBUTING.md 2024-01-20 10:02:14 -05:00
Serial
9c0ea926c6 lofty_attr: Clippy 2024-01-19 13:28:47 -05:00
Serial
a3ec394e7c lofty_attr: Bump version 2024-01-19 13:28:47 -05:00
Serial
c867491303 lofty_attr: Cleanup LoftyTag impl 2024-01-19 13:28:47 -05:00
Serial
1b0b001016 lofty_attr: Continued cleanup of LoftyFile impl 2024-01-19 13:28:47 -05:00
Serial
d3cb052f24 lofty_attr: Start rewrite 2024-01-19 13:28:47 -05:00
Uwe Klotz
626666fac3 id3v2: Fix parsing of UTF-16 when BOM is missing 2024-01-14 16:35:40 -05:00
Uwe Klotz
be63601960 Delete redundant code 2024-01-13 18:41:16 -05:00
Uwe Klotz
26fb51dce6 mp4: Consider track/disc number <= 0 as invalid and missing 2024-01-13 18:41:16 -05:00
Uwe Klotz
76915d72bb mp4: Fix conversion of u16 track/disc numbers to BE bytes 2024-01-13 18:41:16 -05:00
Serial
1c670819e0
0.18.0 2024-01-12 08:12:29 -05:00
Serial
a56d40c77b
Clippy: Fix needless_option_as_deref 2024-01-12 08:12:25 -05:00
Serial
9dcd5fdef8 Bump version 2024-01-12 08:07:37 -05:00
Serial
df23c16246 changelog: Update for 0.18.0 2024-01-12 08:07:37 -05:00
Serial
2880bc832c Update deps 2024-01-12 08:07:37 -05:00
Uwe Klotz
ac20868438 Reword Bpm/IntegerBpm comments 2024-01-11 17:28:26 -05:00
Uwe Klotz
7f479d6cc7 ItemKey: Distinguish between Bpm and IntegerBpm 2024-01-11 17:28:26 -05:00
Serial
a024282546 changelog: Add entry for Id3v2Tag::get_text change 2024-01-11 13:17:58 -05:00
Serial
a05311dcd4 ID3v2: Stop editing the string in Id3v2Tag::get_text()
Convenient null separator handling is now exclusively done for `Accessor` methods. For all other use cases, the caller is given the raw string, with separators intact.
2024-01-11 13:17:58 -05:00
Serial
04a577bdfa MP4/ID3v2: Better handling of flag items 2024-01-11 12:44:13 -05:00
Uwe Klotz
f4be1e3775 Fail CI build on clippy warnings 2024-01-06 13:28:58 -05:00
Uwe Klotz
0f06fa3de2 vorbis: Fix unreachable pattern in ItemKey mapping 2024-01-06 13:28:47 -05:00
Uwe Klotz
accdea1e4d Rename ItemKey variants to PascalCase 2024-01-06 13:21:07 -05:00
Uwe Klotz
2651eb22bd MimeType: Implement Display instead of ToString 2024-01-06 13:20:48 -05:00
Uwe Klotz
5700ef13ac Rename PodcastReleaseDate to ReleaseDate 2024-01-05 17:30:35 -05:00
Serial
09cac3348a Add back dates marker comment 2024-01-05 00:25:55 -05:00
Uwe Klotz
74b1bb8374 Add more date/year mappings from MusicBrainz Picard 2024-01-05 00:25:55 -05:00
Uwe Klotz
20a38cc829 mp4: Map "----:com.apple.iTunes:ORIGINALDATE" to OriginalReleaseDate
Adopted from TagLib v2.0.
2024-01-03 15:37:44 -05:00
Serial
e48efff72a ogg_pager: 0.6.0 2024-01-03 10:19:28 -05:00
Serial
10fbc6a432 Speex: Estimate bitrate when the nominal bitrate is not available 2024-01-03 09:47:33 -05:00
Serial
3a9a2dea7f Probe: Introduce GlobalOptions to handle allocations and resolvers
This moves `ParseOptions::{use_custom_resolvers, allocation_limit}` to the new `GlobalOptions` struct. This makes it easier to check for certain options in places where `ParseOptions` may not be available.

`GlobalOptions` are not truly global, they only apply to the current thread.
2024-01-02 19:06:45 -05:00
Serial
014cd733ab ID3v2: Add more logging 2024-01-02 15:51:42 -05:00
Serial
bf1f690ccb MPEG: Stop using find_id3v2 2024-01-02 15:51:42 -05:00
Serial
400ec97edf changelog: Update for latest changes 2024-01-02 15:51:42 -05:00
Serial
a0afcb7712 MPEG: Find ID3v2 tags buried in junk
Now when we can't find an ID3v2 tag at the start of the file, we search the area between the start and the first MPEG frame (or just `max_junk_bytes`, whichever is smaller).

For now, this is only done for MPEG files, and ID3v2 tags. APE header tags are less important, so similar functionality can be implemented later.
2024-01-02 15:51:42 -05:00
Serial
0019e22a40 Probe: Check custom resolvers before default implementations 2024-01-02 14:37:19 -05:00
Serial
6f1c84871d changelog: Add entry for MP4 offset atom changes 2024-01-02 13:23:11 -05:00
Serial
3388616b90 MP4: Add more trace logging to write process 2024-01-02 13:23:11 -05:00
Serial
93ec518dae MP4: Update offset atoms after writing
Previously, the offset atoms remained untouched, which would lead audio players to believe that the file was corrupted.
2024-01-02 13:23:11 -05:00
Serial
54971b3a6f MP4: Introduce AtomWriter
This is simply a wrapper around `Cursor<Vec<u8>>` for now. Will likely become more powerful in the future.
2024-01-02 13:23:11 -05:00
Serial
50363c7ef2 MP4: Cleanup write_size() 2024-01-02 13:23:11 -05:00
Uwe Klotz
d7180483f6 Restore deleted comment 2024-01-01 17:55:09 -05:00