Serial
6ac0fe8f54
APE: Fix inconsistent error message
2022-04-08 22:09:13 -04:00
Serial
55389ef539
Fix doc comment
2022-04-05 18:45:44 -04:00
Serial
7ac73e40db
Attempt to get PictureInformation
during Tag
-> VorbisComments
conversion
2022-04-04 20:49:09 -04:00
Serial
065c70b176
Rename VorbisComments::remove_key
, make it return an iterator
2022-04-04 20:46:22 -04:00
Serial
afd1a6d8ef
Rename VorbisComments::{get_item, insert_item}
to VorbisComments::{get, insert}
2022-04-04 20:43:19 -04:00
Serial
6cfc10d3fe
Allow user provided PictureInformation
in VorbisComments::insert_picture
2022-04-04 20:32:11 -04:00
Serial
c989629ac1
Rename TaggedFile::remove_tag
to TaggedFile::take
2022-04-03 17:22:18 -04:00
Serial
20e1ecf62d
Implement AudioFile
for TaggedFile
2022-04-03 17:18:11 -04:00
Serial
7455f08b41
ID3v2: Stop writing a BOM for TextEncoding::UTF16BE
2022-04-01 16:54:49 -04:00
Serial
6c29852737
Add Tag::take_strings
2022-03-31 16:20:49 -04:00
Serial
cb9dd65f63
Add ItemValue::{into_string, into_binary}
2022-03-31 16:13:35 -04:00
Serial
a0e7d5519c
Add missing doc comment
2022-03-31 16:10:03 -04:00
Serial
d06ff53a5e
Cleanup
2022-03-28 19:20:33 -04:00
Serial
86a24b2032
MP4: Rename AdvisoryRating::None
2022-03-28 19:18:35 -04:00
Serial
e2d0978ce1
Allow removing ID3v2 tags from FLAC and APE
2022-03-27 14:12:32 -04:00
Serial
b41cd32677
Fix a feature issue; cleanup
2022-03-26 12:52:26 -04:00
Serial
559b5a4e34
MP4: Read the Audio Specific Config's channel config
2022-03-25 20:27:50 -04:00
Serial
c3c8e01bf4
Support the ID3v2 POPM frame
2022-03-20 12:05:38 -04:00
Serial
87d9db767d
Add missing Apple ID3v2 frame IDs to verification
2022-03-20 10:43:19 -04:00
Serial
bd680be66a
Support writing a CRC in the ID3v2 extended header
2022-03-20 00:00:23 -04:00
Serial
42990c6ca1
Remove an old forgotten feature
2022-03-19 20:52:41 -04:00
Serial
12b919871d
Add TagExt::clear
2022-03-18 15:22:40 -04:00
Serial
4b51453ce7
Update format table in lib.rs
2022-03-18 15:14:52 -04:00
Serial
a388d166ea
Fix visibility issues
2022-03-18 15:10:06 -04:00
Serial
301d457cd3
Give FLAC its own module
2022-03-18 15:06:42 -04:00
Serial
fd63099978
Wrap files in a BufReader
in read_from
2022-03-18 14:47:00 -04:00
Serial
26b0b013a7
Add more Probe
tests
2022-03-18 13:54:55 -04:00
Serial
c6d1ef505d
Support FLAC files with an ID3v2 tag
2022-03-16 16:59:55 -04:00
Serial
45182b6e3d
Fix some ItemKey
macro formatting
2022-03-12 13:07:35 -05:00
Serial
93a85b39d9
MP4: Add AudioObjectType
and Mp4Codec::MP3
2022-03-12 12:58:48 -05:00
Serial
483b3881a2
Support non-PNG/JPEG images in PictureInformation::from_picture
2022-03-12 11:35:03 -05:00
Serial
74622d6796
Add some possible TODOs
2022-03-09 21:51:14 -05:00
Serial
d530fc3133
MP4: Fix reading of sample rates for object types > 31
2022-03-09 21:38:27 -05:00
Serial
768fc8d875
Support the ALS codec for MP4; Fix MP4 property reading
2022-03-08 23:08:04 -05:00
Serial
fb0b6e0c1f
Add TagItem
methods to consume and return fields
2022-03-07 20:46:19 -05:00
Serial
e58355af74
Remove unnecessary clone
2022-03-07 19:16:12 -05:00
Serial
d86e007fe7
Handle non-full meta
atoms
2022-03-06 13:17:16 -05:00
Serial
0920cb2cda
Add a test for issue #37
2022-03-05 11:55:41 -05:00
Serial
1771985467
Missing files
2022-03-04 09:08:13 -05:00
Serial
b6221c18b2
Remove types
module
2022-03-04 09:07:17 -05:00
Serial
41e4b1a883
Bump ogg_pager
2022-03-03 17:04:34 -05:00
Serial
6bfe8453a0
Add Ilst::{atoms, retain}
, relocate ApeTag
2022-02-25 20:38:58 -05:00
Serial
c029a688e1
Update changelog
2022-02-24 16:07:26 -05:00
Serial
689e5fb28b
Fix ID3v2 picture writing after Tag
conversion
2022-02-24 16:05:32 -05:00
Serial
d10c7de04b
Actually write the footer flag to the tag
2022-02-23 17:13:48 -05:00
Serial
de8bc33f22
Utilize the channel mapping family to verify Opus channel counts
2022-02-21 13:10:42 -05:00
Serial
be4e2a9866
Utilize free
atoms when writing; Fix meta
atom writing
2022-02-20 18:00:00 -05:00
Serial
2b2b6d2532
Add some more lints
2022-02-20 17:46:58 -05:00
Serial
03a8ee8e2a
Remove some unused attributes
2022-02-20 09:10:29 -05:00
Serial
0092137b2f
Verify that the encoding is valid in ID3v2.2
2022-02-20 08:59:52 -05:00
Serial
dba7fbaa8c
Add missing proprietary Apple ID3v2 frames
2022-02-19 20:06:46 -05:00
Serial
dde40b78db
Fix MP4 integer pair writing
2022-02-19 19:48:19 -05:00
Serial
99d4bdc9c2
Don't allow writing an ID3v2 footer in WAV/AIFF
2022-02-19 10:42:18 -05:00
Serial
e01d875e05
Remove unwraps; Stop taking references to Copy
types
2022-02-19 10:14:14 -05:00
Serial
55cc5e5264
fmt
2022-02-19 09:41:36 -05:00
Serial
e66ab4587d
Finalize Accessor
and TagExt
documentation
2022-02-19 09:39:09 -05:00
Serial
74b4374172
Don't write 3 byte integers
2022-02-19 08:44:34 -05:00
Serial
9150c6c547
Shrink variable-size integers when writing
2022-02-19 01:03:26 -05:00
Serial
69b4e2307f
Discard empty atoms
2022-02-19 00:32:16 -05:00
Serial
610778b8c2
Fix some macro formatting
2022-02-18 23:39:50 -05:00
Serial
a5c66c5d36
Fix popularimeter/parental advisory mixup
2022-02-18 23:33:20 -05:00
Serial
4c0b7c2273
Add rtng
atom support
2022-02-18 08:50:39 -05:00
Serial
c70e8ee454
Expand struct definitions in doc comments
2022-02-18 08:03:46 -05:00
Serial
a1e5a0f670
Add mp4::constants
for data type codes
2022-02-18 07:57:26 -05:00
Serial
a158d4684e
Fix doc comment
2022-02-17 19:07:38 -05:00
Serial
03b7384f8b
Remove ErrorKind::BadExtension
2022-02-17 19:00:38 -05:00
Serial
19b46c6a96
Add a special case for plID
atom
2022-02-17 18:53:51 -05:00
Serial
a31f372559
Support writing an ID3v2 footer
2022-02-16 17:28:47 -05:00
Serial
bed38e59c0
Actually encode text when writing ID3v2 tags
2022-02-16 17:25:47 -05:00
Serial
59e034dee9
Make AudioFile
a supertrait
2022-02-16 16:33:07 -05:00
Serial
bca87bcece
Continued cleanup
2022-02-15 18:26:29 -05:00
Serial
10bbb495c0
Implement full MPEG frame header in Mp3Properties
2022-02-14 22:09:56 -05:00
Serial
f9be2c8b8c
Don't error on missing Xing/VBRI header
2022-02-14 21:24:27 -05:00
Serial
6bb0427c84
Make all property structs non-exhaustive
2022-02-14 21:19:05 -05:00
Serial
2ccb38a97d
Make PictureType
and Mp4Codec
non-exhaustive
2022-02-13 20:32:55 -05:00
Serial
38a286cc6e
Clarify ID3v2
being read only in APE
2022-02-13 20:14:24 -05:00
Serial
c8da9c674c
Reorder TaggedFile
impl
2022-02-13 20:08:26 -05:00
Serial
d73173fb84
Add extra check to tag_reader
example; Reorganize test assets
2022-02-13 13:15:27 -05:00
Serial
3cb1cf7aed
Make MimeType
non-exhaustive
2022-02-13 12:14:05 -05:00
Serial
b3e71729da
Continued cleanup
2022-02-13 12:11:06 -05:00
Serial
8fa0f67afb
Cleanup writing of OGG formats
2022-02-12 20:36:23 -05:00
Serial
91e5d5984b
Switch to cfg-if
for rustfmt support
2022-02-12 14:33:00 -05:00
Serial
8b39695a61
Add more lints
2022-02-12 14:12:55 -05:00
Serial
a21d0380de
Cleanup
2022-02-12 02:52:43 -05:00
Serial
2763fccffa
Continue to make use of fallible allocation
2022-02-08 20:56:11 -05:00
Serial
c473177a8b
Cleanup pictures module
2022-02-08 20:06:05 -05:00
Serial
6570dcaeaf
Begin fallible allocation; Fix WAV/AIFF OOM
2022-02-07 11:25:59 -05:00
Serial
9e18616a68
Fix panic in Mp4File::read_from
2022-02-07 10:03:28 -05:00
Serial
d13f01d215
Cleanup; Make use of doc_cfg
2022-02-04 00:59:20 -05:00
Serial
a179cfe736
Start work on TagIO
trait
...
This is the start of making Lofty more general purpose, allowing for the creation of custom tags.
This also makes `TagType::remove_from*` fallible, which makes much more sense.
2022-02-02 22:10:04 -05:00
Serial
c6a02c6b73
Add some helpful comments
2022-02-02 19:26:02 -05:00
Serial
c1725de93d
Add Speex
support
2022-01-31 18:19:11 -05:00
Serial
08b2dd9209
Add missing AIFF extensions
2022-01-31 13:26:02 -05:00
Serial
3c397705c0
Fix feature issues
2022-01-28 15:29:34 -05:00
Serial
394f4b3c43
Cleanup imports
2022-01-28 12:28:52 -05:00
Serial
cb7abdb7af
Overhaul LoftyError
2022-01-27 15:53:41 -05:00
Serial
090a00616e
Add tag writing benchmark
2022-01-26 23:39:30 -05:00
Serial
43feafedb9
Switch to once_cell
2022-01-26 14:18:38 -05:00
Serial
f697e94fe6
Update ogg_pager
2022-01-26 11:53:20 -05:00
Serial
a25680f8e2
Add ItemKey::EncodedBy
mapping for Ilst
2022-01-25 15:57:09 -05:00
Serial
4eb168a8ea
Cleanup
2022-01-25 14:42:32 -05:00
Alex
15daf36c0d
Remove old allow attribute
2022-01-24 19:30:55 -05:00
Alex
e0ea0eb67a
Merge pull request #33 from sagudev/wave-depth
...
Fix `WavProperties` reading
2022-01-24 13:57:55 -05:00
sagu
a7155f31a9
Update src/iff/wav/properties.rs
...
Co-authored-by: Alex <69764315+Serial-ATA@users.noreply.github.com>
2022-01-24 19:24:35 +01:00
Serial
d9174697d3
Fix MP4 audio bitrate
2022-01-24 11:05:12 -05:00
sagu
6325665ab2
Merge branch 'main' into wave-depth
2022-01-24 16:35:24 +01:00
Alex
b4d56ab841
Merge pull request #31 from sagudev/main
2022-01-24 09:11:45 -05:00
sagudev
bd896287b6
bit-depth for ALAC and getter for wav
2022-01-24 06:35:15 +01:00
sagu
504ac31cda
Apply suggestions from code review
...
Co-authored-by: Alex <69764315+Serial-ATA@users.noreply.github.com>
2022-01-24 06:00:02 +01:00
Serial
81bce69d18
Cleanup
2022-01-23 14:11:16 -05:00
sagudev
e0f075a912
Add testing against hound
2022-01-23 13:37:13 +01:00
sagudev
c8c84e6660
hound testing
2022-01-23 12:32:51 +01:00
sagudev
81efcb0271
bit_depth for iff and ape
2022-01-23 07:35:24 +01:00
sagudev
9deb7f27f0
fix flac bit depth
2022-01-22 21:28:09 +01:00
sagudev
29378f53a5
bit_depth prototype
2022-01-22 19:54:42 +01:00
Alex
d034782a27
Fix test assertion
2022-01-22 11:01:27 -05:00
localthomas
b9c469173a
negative multiply made more readable
2022-01-21 18:15:05 +01:00
localthomas
a326788819
implemented clippy suggestions
2022-01-21 17:42:01 +01:00
localthomas
e1a8e08a3f
return type of guess_inner
is now std::io::Result
2022-01-21 17:34:49 +01:00
localthomas
134d91d61a
refactor after code review
2022-01-21 17:31:14 +01:00
localthomas
47a28402db
added frame sync search for MP3 reading
...
The first MP3 frame behind metadata blocks is found by searching for frame sync bits.
This skips junk bytes between any metadata blocks and the first MP3 frame.
2022-01-21 14:52:32 +01:00
localthomas
0e8ad5759c
added searching for frame sync bits when file type probing
...
When a file contains an ID3 block, the following data might be an MP3 frame.
The frame might be prepended by junk bytes, which are skipped with this commit.
2022-01-21 13:55:28 +01:00
Serial
c27264f50b
Verify ID3 Frame
contents prior to writing
2022-01-13 14:42:34 -05:00
Serial
cefc383123
Fix some doc comments
2022-01-09 09:57:43 -05:00
Serial
42688daee8
Fix feature issues
2022-01-08 11:22:38 -05:00
Serial
a82621dfe7
Cleanup ID3 find functions
2022-01-08 11:06:11 -05:00
Serial
1824c086e4
Cleanup id3::v2
2022-01-08 08:45:27 -05:00
Serial
f42dfb50bf
Add ItemKey
mappings for new AIFF chunks
2022-01-08 07:42:28 -05:00
Serial
3f0d6d8b00
Update ogg_pager
2022-01-07 13:02:48 -05:00
Serial
5389efa386
Add real world ID3v2 tests for all versions
2022-01-06 21:06:02 -05:00
Serial
8bfca44fb1
Add GeneralEncapsulatedObject
tests
2022-01-06 18:15:47 -05:00
Serial
e640eb0d42
Add SynchronizedText
tests
2022-01-06 18:00:33 -05:00
Serial
a49a655f55
Add unstable rustfmt options
2022-01-05 13:26:56 -05:00
Serial
cc6d5a9be8
Fix doc comment
2022-01-05 12:54:20 -05:00
Serial
7942a5bd84
Add tests for dump_to
2022-01-05 12:52:29 -05:00
Serial
94e5ed635f
Add Tag::dump_to
2022-01-05 12:50:54 -05:00
Serial
9ffa1b4e0d
Fix AIFF COMT
writing
2022-01-05 12:12:30 -05:00
Serial
ae20700915
Fix AIFF chunk precedence and writing
2022-01-04 22:06:27 -05:00
Serial
6e61f07538
Cleanup chunk reading
2022-01-04 21:38:52 -05:00
Serial
76e788243f
Read AIFF COMT
chunks
2022-01-04 15:03:24 -05:00
Serial
d49a06888f
fmt
2022-01-04 13:07:35 -05:00
Serial
7a036f3ff9
Cleanup AIFF
2022-01-04 13:06:14 -05:00
Serial
8952834bee
Add Tag::get_items
for specific ItemValue
s
2022-01-04 13:02:02 -05:00
Serial
a5039e4198
Read AIFF ANNO
chunks
2022-01-03 21:15:48 -05:00
Serial
d7872c671e
Allow multi-item insertion for Tag
, add Tag::take
2022-01-03 21:13:51 -05:00
Serial
77971ef9b0
fmt
2022-01-03 08:52:51 -05:00
Serial
a8e0edc16d
Fix OOM in Picture::from_flac_bytes
2022-01-03 08:48:39 -05:00
Serial
010b60b889
Fix MP3 panic, add fuzz targets
2022-01-02 20:53:26 -05:00
Serial
6670ea9cd5
Fix panic
2022-01-02 20:35:29 -05:00
Serial
612a8b062e
Preserve track/disc numbers when converting Ilst
2022-01-02 17:12:16 -05:00
Serial
aa1c306f76
Add accessors for ilst
int pairs, convert gnre
when reading
2022-01-02 16:08:12 -05:00
Serial
075e0e692f
Add FileType::primary_tag_type
2021-12-31 14:34:54 -05:00
Serial
b42b423c50
Fix FLAC writing
2021-12-31 09:13:48 -05:00
Serial
bec96a139b
Don't allow writing empty items in Vorbis Comments
2021-12-31 02:11:53 -05:00
Serial
dc501c1b62
Merge remote-tracking branch 'origin/main'
2021-12-30 23:20:20 -05:00
Serial
d312f48406
Fix Tag
-> Id3v2Tag
conversion
2021-12-30 23:20:08 -05:00
Alex
5808d44aa9
Clippy
2021-12-29 22:31:03 -05:00
Alex
27057e5bac
Fix FLAC max size
2021-12-29 22:26:36 -05:00
Serial
6491aadab2
Remove Mp3File::read_properties
2021-12-29 16:57:27 -05:00
Serial
af37013e54
Improve speed of MP3 property reading
...
This also adds Mp3File::read_properties, which will eventually be added to all files.
2021-12-29 16:36:37 -05:00
Serial
b805af3a0c
Add Id3v2Tag::{unsync_text, comments}
2021-12-29 15:20:00 -05:00
Serial
76bfc60c97
fmt
2021-12-24 13:17:48 -05:00
Serial
17f771d8a8
Add some QOL methods
2021-12-24 13:16:27 -05:00
Serial
8021ca924c
Finalize docs
2021-12-23 10:00:54 -05:00
Serial
c29b0012ed
Fix METADATA_BLOCK_PICTURE
parsing/writing
2021-12-22 17:21:15 -05:00
Serial
f7ab03ce47
Fix privacy issue
2021-12-22 10:06:22 -05:00
Serial
8f2f7ba484
Restructure project
2021-12-22 09:49:43 -05:00
Serial
e61f63e63b
Finish resolving feature issues
2021-12-21 20:54:16 -05:00
Serial
a7d9deaa14
Make property reading optional
2021-12-21 20:20:24 -05:00
Serial
e5d2c4dc1f
Resolve feature issues
2021-12-21 17:28:18 -05:00
Serial
ea0f3007e8
Add tag_writer
example
2021-12-20 10:56:32 -05:00
Serial
2273e4608f
Add Id3v2Tag::genre
2021-12-20 09:54:01 -05:00
Serial
555a28d5b2
Fix ID3v2 text decoding; Clippy
2021-12-20 09:46:44 -05:00
Serial
9e8a04826b
Make tags Clone
2021-12-19 11:32:20 -05:00
Serial
76ee2a55af
Do a better job recognizing picture magic signatures
2021-12-19 11:32:02 -05:00
Serial
64362615cf
Add simplified getters/setters and tag reader example
2021-12-12 12:47:26 -05:00
Serial
2a0da87074
Support ID3v2 unsynchronisation, add extra ID3v2 tests
2021-12-11 12:24:10 -05:00
Serial
ca0ee7d6b8
Cleanup
2021-12-10 18:43:34 -05:00
Serial
2b4bf99b75
Fix ID3v2 -> Tag conversion, fix docs
2021-12-07 16:35:09 -05:00
Serial
379042cd10
More work on docs
2021-12-06 20:04:22 -05:00
Serial
12451b2df9
Continue working on docs
2021-12-06 07:18:07 -05:00
Serial
175ff1de0b
Clippy
2021-12-05 18:11:13 -05:00
Serial
45fd0c7ed9
Start documentation
2021-12-05 18:05:14 -05:00
Serial
733710f8ca
Overhaul Probe
2021-12-05 17:02:22 -05:00
Serial
afdfc09873
Reorganize file tests
2021-12-01 21:00:12 -05:00
Serial
c72857c3d7
Add tag conversion tests
2021-11-28 12:55:11 -05:00
Serial
5638326ff2
Add tests for reading individual tag formats
2021-11-27 13:28:40 -05:00
Serial
f7bb543f36
Fix docs
2021-11-26 15:33:28 -05:00
Serial
60e1579bb2
Add overall bitrate, create file property tests
2021-11-26 15:17:02 -05:00
Serial
72641e2f25
Add missing picture preservation
2021-11-26 07:08:55 -05:00
Serial
20a596b80b
Preserve pictures in Tag
-> Id3v2Tag
2021-11-26 06:56:19 -05:00
Serial
75767fa99e
Fix Frame
equality and documentation
2021-11-26 06:49:15 -05:00
Serial
db1c8726c2
Remove ItemValue::UInt
2021-11-26 06:17:32 -05:00
Serial
49b49a5254
Make the original version accessible for Id3v2Tag
2021-11-26 05:56:29 -05:00
Serial
a47e3fc1e3
Create LanguageFrame
s in Tag -> Id3v2Tag
2021-11-24 18:09:45 -05:00
Serial
c0d130512b
Remove references to pictures
module
2021-11-24 17:09:12 -05:00
Serial
8b8e8eedbb
Remove pictures
module
2021-11-24 17:03:53 -05:00
Serial
4d7d1d43bd
Fix ID3v2 restrictions
docs
2021-11-24 16:56:31 -05:00
Serial
41ddc51bd4
Simplify structure, start improving documentation
2021-11-24 16:51:35 -05:00
Serial
39aec03a1e
fmt
2021-11-24 15:34:12 -05:00