Commit graph

104 commits

Author SHA1 Message Date
Uwe Klotz
e3fa808d96 wav: Fix issue #174 and add regression test 2023-04-06 21:20:44 -04:00
Uwe Klotz
abbc484164 wav: Fix division by zero for empty stream 2023-04-06 21:20:44 -04:00
Serial
18933087d5 Tags: Make method names consistent 2023-03-18 13:48:21 -04:00
Serial
83b26b30f4 Tags: Add a <Tag>::new() alias for <Tag>::default() 2023-03-18 12:12:15 -04:00
Uwe Klotz
6754809b00 Separate SplitAndMergeTag into SplitTag/MergeTag traits
Pevent any unexpected or undefined behavior at runtime by applying the
typestate pattern.
2023-02-28 09:57:12 -05:00
Uwe Klotz
c1c441afb1 Expose channel mask in file properties
Currently only supported by WAV files.
2023-02-28 09:05:52 -05:00
Uwe Klotz
0a77f479ae More robust year parsing without allocations
Signed-off-by: Uwe Klotz <uwe.klotz@gmail.com>
2023-02-11 01:38:25 -05:00
Uwe Klotz
533cd7dcff Renaming: rejoin -> merge 2023-01-20 08:34:33 -05:00
Uwe Klotz
2b562c4a4b Split and rejoin tags for read/modify/write round trips 2023-01-20 08:34:33 -05:00
Serial
a769297545
RIFF: Return removed item from RIFFInfoList::remove 2023-01-14 20:31:09 -05:00
Serial
0c7ea31817 RIFF: Support year Accessor methods in RIFFInfoList 2023-01-14 20:27:10 -05:00
Uwe Klotz
100b7e21b1 Let Tag::items() return an iterator 2023-01-14 11:45:06 -05:00
Uwe Klotz
76cddb7719 Add Clone bounds to impl Iterator results 2023-01-14 11:45:06 -05:00
Uwe Klotz
3df98aff12 Add more IntoIterator implementations 2023-01-14 11:45:06 -05:00
Serial
af5154b7fb TagExt: Add TagExt::len 2023-01-11 21:13:50 -05:00
Uwe Klotz
dca773401d Use #[must_use] pub const fn new(...) whenever possible 2023-01-10 20:06:05 -05:00
Serial
823f931d31 Misc: Remove id3v2{_restrictions} features 2023-01-05 00:43:04 -05:00
Serial
39c338e15b Misc: Remove riff_info_list feature 2023-01-05 00:43:04 -05:00
Serial
f9b97342d0 Misc: Remove aiff_text_chunks feature 2023-01-05 00:43:04 -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
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
21a4996226
Clippy: Fix unnecessary_lazy_evaluations 2022-12-10 12:27:27 -05:00
Serial
544aa7a411
TagExt: Add TagExt::contains 2022-11-05 09:54:37 -04:00
Serial
0039c86182
docs: Make a slightly better comment for *Properties::duration 2022-10-15 10:27:21 -04:00
Serial
c675a5eb05
docs: Stop putting doc comments below attributes 2022-10-15 10:23:35 -04:00
Serial
afe78368c2
iff: Separate wav and aiff into their own modules 2022-10-14 08:08:12 -04:00
Serial
fcd9cee50f
Error: Add ErrorKind::SizeMismatch 2022-10-13 19:49:32 -04:00
Serial
efab7ca276
lofty_attr: Add tag attribute macro to generate some docs 2022-10-11 19:47:54 -04:00
Serial
3a4b4f243e
lofty_attr: Add supported_formats attribute for tags 2022-10-04 00:34:20 -04:00
Serial
3b58f16996
lofty_attr: Generate internal write modules 2022-09-24 05:25:42 -04:00
Alex
ba6ef4f400
Probe: Add minimal ParseOptions (#70) 2022-09-24 02:34:22 -04:00
Serial
899f4e4664
Misc: Add decode_err! macro to cleanup FileDecodingError creation 2022-09-11 23:03:32 -04:00
Serial
80f29cafef
WAV: Restrict visibility of some functions 2022-08-22 22:37:45 -04:00
Serial
f54481026e
lofty_attr: Use full path for TagType 2022-07-24 16:36:23 -04:00
Alex
f48014fda8
Implement custom file resolvers (#40) 2022-07-24 16:08:46 -04:00
Serial
edc9f6ac14
Revert "Clippy: Fix unnecessary_lazy_evaluations"
This reverts commit f5153b9318.
2022-07-21 16:31:40 -04:00
Serial
f5153b9318
Clippy: Fix unnecessary_lazy_evaluations 2022-07-21 16:23:03 -04:00
Serial
5e35896dff
Misc: Add err! macro 2022-07-12 14:46:30 -04:00
Serial
464e78e222
IFF: Subtract header from file length 2022-07-10 18:35:07 -04:00
Serial
10b8462e7a
WAV: Stop relying on file's provided size (Fix OOM) 2022-07-10 18:30:12 -04:00
Serial
8a70a77387
AIFF: Stop relying on file's provided size (Fix OOM) 2022-07-10 18:16:31 -04:00
Serial
39477efe17
Clippy: fix explicit_auto_deref 2022-07-03 17:43:10 -04:00
Serial
f4ed05ed55
AIFF: Add zero-sized text chunks test 2022-06-29 22:56:24 -04:00
Serial
f8b011bbba
WAV: Properly capitalize RIFFInfoList 2022-06-26 11:51:52 -04:00
Serial
5a30964228
AIFF: Properly capitalize AIFFTextChunks 2022-06-26 11:49:46 -04:00
Serial
e3132d4123
ID3v2: Properly capitalize ID3v2Tag 2022-06-26 11:44:27 -04:00
Serial
a4e62d674c
ID3v2: Properly capitalize Id3v2TagFlags 2022-06-26 11:38:17 -04:00
Serial
1d5d397dfa
Properties: Make bitrates reflect those of ffprobe
closes #54
2022-06-22 10:58:44 -04:00
Serial
f0ea177d94
AIFF: Fixed division by zero panic during property reading
closes #56
2022-06-21 15:31:41 -04:00