Commit graph

1056 commits

Author SHA1 Message Date
Uwe Klotz
d2d95d86ab vorbis: Add Label variant as recommended by MusicBrainz 2023-01-04 13:15:29 -05:00
Uwe Klotz
1abce01cf8 vorbis: Add common EncodedBy variants
MusicBrainz recommends "ENCODEDBY"
2023-01-04 13:15:29 -05:00
Uwe Klotz
25e36637bf mp4: Add replay gain items 2023-01-04 13:15:15 -05:00
Uwe Klotz
69cad746bb mp4: Add InitialKey item 2023-01-04 13:15:15 -05:00
Uwe Klotz
6e79bd3b3a mp4: Add support for precise (non-integer) BPM values 2023-01-04 13:15:15 -05:00
Uwe Klotz
1f37879649 gitignore: Support symbolic link for target directory 2023-01-04 13:12:25 -05:00
Serial
1e966542e6
0.10.0 2022-12-27 15:56:05 -05:00
Serial
3120e0708b
Misc: Bump deps 2022-12-27 15:50:57 -05:00
Serial
c763ab6535
changelog: Add missing issue/PR links 2022-12-27 15:41:01 -05:00
Serial
341cf9f097 changelog: Add entry for duplicate ID3v2 tag reading 2022-12-27 15:24:32 -05:00
Serial
16a2419351 ID3v2: Support duplicate tags
Previously, if we were reading a file and encountered an ID3v2 tag after having already read one, we would overwrite the last one, losing all of its information. Now we preserve all of the information, overwriting frames as necessary.
2022-12-27 15:24:32 -05:00
Serial
939f3f2f0d
Clippy: Fix manual_is_ascii_check 2022-12-27 13:41:53 -05:00
Serial
7f085c0632 changelog: Add entry for gnre upgrade fix 2022-12-16 12:24:51 -05:00
Serial
ecdb7ff878 MP4: Stop validating flags for gnre atom upgrade 2022-12-16 12:24:51 -05:00
Alex
7d1dcef209
README: Update workflow status badge 2022-12-15 22:15:32 -05:00
Serial
1923c36c66 changelog: Add entries for ID3v2/Accessor changes 2022-12-12 14:00:26 -05:00
Serial
4de9239af9 Clippy: Fix single_match 2022-12-12 14:00:26 -05:00
Serial
4c5538bba0 Accessor: Make text getters return Cow<str> to allow for editing
This is an unfortunate compromise that needed to be made to make it possible to change the null separators in ID3v2.4 to slashes prior to returning the value.
2022-12-12 14:00:26 -05:00
Serial
d971615952 ID3v2: Properly handle solidus character (U+002F) in text frames
V2 and V3 allow for the separation of multiple values with the solidus (/) character, while in V4 the separator is null (0). This was not accounted for previously, and would break valid V4 strings ("Foo / Bar" would be split into "Foo " and " Bar").

closes #82
2022-12-12 14:00:26 -05:00
dependabot[bot]
e24585b420 build(deps): update base64 requirement from 0.13.0 to 0.20.0
Updates the requirements on [base64](https://github.com/marshallpierce/rust-base64) to permit the latest version.
- [Release notes](https://github.com/marshallpierce/rust-base64/releases)
- [Changelog](https://github.com/marshallpierce/rust-base64/blob/master/RELEASE-NOTES.md)
- [Commits](https://github.com/marshallpierce/rust-base64/compare/v0.13.0...v0.20.0)

---
updated-dependencies:
- dependency-name: base64
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-12 13:55:16 -05:00
Serial
21a4996226
Clippy: Fix unnecessary_lazy_evaluations 2022-12-10 12:27:27 -05:00
Serial
6df1a462b9
Misc: Switch enum Default impls to derives 2022-12-10 12:25:20 -05:00
Serial
42761e6bad TaggedFile: Add temporary fix for save_to breakage due to tag order
Depending on the order of the tags in a `TaggedFile`, since we write the tags independently of each other, they could step on each other's toes and leave the file in position where it cannot be probed. This wouldn't break the file, nor cause partial writes of tags, however there is a chance not *all* of the tags stored in the `TaggedFile` would be written.
2022-12-10 12:18:34 -05:00
Serial
c5bddba0cf file: Add BoundTaggedFile
closes #73
2022-12-10 12:18:34 -05:00
Serial
7573f60a0c TaggedFile: Split methods out into TaggedFileExt trait 2022-12-10 12:18:34 -05:00
Serial
81e52ce347
lofty_attr: Expose LoftyFile derive through main crate 2022-12-10 10:54:58 -05:00
Serial
263e0611fe ogg_pager: Fix packet content being overwritten before flush 2022-12-07 01:01:12 -05:00
Serial
79c4579d73 changelog: Add entry for changes to ogg_pager::paginate 2022-12-07 01:01:12 -05:00
Serial
2718a73e29 ogg_pager: Move Packets to its own module 2022-12-07 01:01:12 -05:00
Serial
ce4e2b1715 ogg_pager: Document Packets::{paginate, write_to} 2022-12-07 01:01:12 -05:00
Serial
56e1ec6b02 OGG: Remove unused code 2022-12-07 01:01:12 -05:00
Serial
62c2b72ad3 OGG: Only read necessary number of packets for format 2022-12-07 01:01:12 -05:00
Serial
2cc96f618b OGG/Opus: Fix property reading 2022-12-07 01:01:12 -05:00
Serial
365b5c1ce3 Vorbis Comments: Fix vorbis_comments_re_read test 2022-12-07 01:01:12 -05:00
Serial
4256bb254b OGG: Make use of packets when writing 2022-12-07 01:01:12 -05:00
Serial
75adb69ed1 ogg_pager: Redo pagination for proper packet handling 2022-12-07 01:01:12 -05:00
Serial
bf0ac4b0d1 ogg_pager: Set CRC to 0 prior to generation 2022-12-07 01:01:12 -05:00
Serial
5059258f35 ogg_pager: Store segment table in Page 2022-12-07 01:01:12 -05:00
Serial
cbe865dade ogg_pager: Remove Page::new 2022-12-07 01:01:12 -05:00
Serial
83e21b63bb ogg_pager: Fix Packets::read for multi-page reads 2022-12-07 01:01:12 -05:00
Serial
3776a9d960 ogg_pager: Add Packets::set 2022-12-07 01:01:12 -05:00
Serial
4061426814 Clippy: Apply lints for other projects 2022-11-24 15:26:36 -05:00
Serial
1a866c0c32 Clippy: Apply new nightly lints 2022-11-24 15:12:56 -05:00
Serial
0928730c14 changelog: Add entry for ogg_pager::PageHeader 2022-11-24 14:24:57 -05:00
Serial
3f47c83632 ogg_pager: Document Packets struct 2022-11-24 14:24:57 -05:00
Serial
c9d73a7ae7 changelog: Add entries for OGG packet reading 2022-11-24 14:24:57 -05:00
Serial
8051fafbc8 OGG: Read entire packets instead of pages
This makes the handling of OGG files a lot more spec-compliant, and simpler overall.
2022-11-24 14:24:57 -05:00
Serial
a08088ddf8 FileResolver: Fix link to Probe in docs 2022-11-24 14:24:57 -05:00
Serial
742eaa680f Ilst: Add AtomData::Bool for flag atoms 2022-11-09 14:14:17 -05:00
Serial
e4c0ea5579 TaggedFile: Rename take method to remove 2022-11-09 14:12:30 -05:00