Serial
f5b5dea583
0.17.1
...
Signed-off-by: Serial <69764315+Serial-ATA@users.noreply.github.com>
2023-11-26 13:31:01 -05:00
Serial
a08a7c84c1
MP4: Skip over invalid ilst
atoms by default
...
Signed-off-by: Serial <69764315+Serial-ATA@users.noreply.github.com>
2023-11-20 12:20:29 -05:00
Serial
d7199f1b71
0.17.0
...
Signed-off-by: Serial <69764315+Serial-ATA@users.noreply.github.com>
2023-11-15 11:57:48 -05:00
sublipri
f1afc3efda
ID3v2: Add genres method to Id3v2Tag
2023-11-04 21:57:03 -04:00
Serial
23c334e1de
ID3v2: Properly handle multi-value UTF-16 encoded frames
2023-10-27 10:47:06 -04:00
sublipri
486cba1f04
ID3v2: Trim trailing nulls in some frames' content
2023-10-23 19:56:33 -04:00
Serial
776c7dadcb
changelog: Update entries with PR link
2023-10-23 12:02:01 -04:00
Serial
c848e54d1f
Probe: Support builder pattern for set_file_type()
2023-10-23 12:02:01 -04:00
Serial
ab828fbe15
ParseOptions: Add allocation_limit()
2023-10-23 12:02:01 -04:00
Serial
d51a151407
VorbisComments: Check ItemKey::Unknown
for spec compliance in Tag
conversion
2023-10-17 19:25:16 -04:00
Serial
272ba84027
ID3v1: Stop erroring on inputs smaller than 128 bytes
2023-10-17 18:16:51 -04:00
Serial
a01c114dfe
MP4: Remove duplicate track/disc methods on Ilst
...
These came awhile before the `Accessor` methods, and managed to stick around for almost a year and a half after the fact.
2023-10-17 14:31:35 -04:00
Serial
eff0d0d9e6
MP4: Attempt to detect invalid atom identifiers
...
This follows the checks of TagLib: <b40b834b1b/taglib/mp4/mp4atom.cpp (L89)
>.
2023-10-17 14:12:11 -04:00
Serial
b87afe4ee8
0.16.1
2023-10-15 11:41:17 -04:00
Serial
5d6160f80d
0.16.0
2023-10-01 11:23:17 -04:00
Serial
9554295e51
ID3v2: Add Id3v2Tag::get_texts
2023-10-01 11:00:05 -04:00
Serial
be6eb07c30
ID3v2: Stop using &str
for frame IDs
2023-10-01 11:00:05 -04:00
Serial
4767f5da08
ID3v2: Don't expect text frames to be terminated
2023-10-01 10:19:18 -04:00
Serial
9ae927ceb0
FLAC: Don't error by default on invalid picture types
...
FLAC picture blocks have `u32::MAX` possible picture types, but only 20 are actually defined. In the [spec] it states, "Others are reserved and should not be used."
We used to only allow a picture type of up to 255 to be in sync with ID3v2's APIC, where this model comes from. Now any picture type can be specified and it will just be clamped to 255, so long as `ParsingMode::Strict` is not being used.
2023-09-30 13:50:05 -04:00
Serial
15d9ca812c
OGG: Support reading COVERART fields
2023-09-30 13:50:05 -04:00
Serial
553d16fa88
APE: Fix property reading on old stream versions
...
This also makes property reading take `ParsingMode` into account.
2023-07-28 13:14:56 -04:00
Serial
6cab8aa088
WavPack: Stop overwriting custom sample rates
...
When a custom sample rate (or multiplier) was encountered, it would accidentally be overwritten with 0, causing incorrect duration and bitrate values.
This was due to us reading the metadata sub blocks first (when necessary) and then immediately overwriting the sample rate with the value from the block header (which is 0 in the presence of a custom sample rate).
2023-07-27 16:45:04 -04:00
Serial
5eb032a3d4
FLAC: Do not error on multiple VorbisComments when not strict
...
This is not allowed [by spec](https://xiph.org/flac/format.html#def_VORBIS_COMMENT ), but is still possible to encounter in the wild. Now we will just tag whichever tag happens to be latest in the stream and use it, they **will not be merged** like other formats (such as ID3v2 in MP3) where multiple tags are valid.
2023-07-27 05:18:42 -04:00
Serial
e622a671a7
MP4: Merge existing atoms in Ilst::insert
...
Now, when inserting an atom that already exists in a tag, the data is taken from the provided atom and merged with the existing value in the tag. This should ensure that the value that already exists in the tag will remain the dominant one.
2023-07-25 17:11:36 -04:00
Serial
1a8ea4da77
changelog: Add entries for MP4 changes
2023-07-25 17:11:36 -04:00
Serial
3fe1de57cd
changelog: Add entries for Id3v2Tag
and FrameId
changes
2023-07-21 02:52:49 -04:00
Serial
18d6efb4f2
changelog: Add entries for new supported ID3v2 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
3bfd28745a
0.15.0
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
c3c01787d6
AIFF: Expose the compression type for AIFC
2023-07-10 18:18:05 -04:00
Serial
c337182ee3
changelog: Add entry for WavPack multichannel fixes
2023-07-09 23:55:11 -04:00
Serial
9e8c0a9244
changelog: Add entry for ParseOptions::max_junk_bytes
2023-07-08 12:57:40 -04:00
Serial
27ce6e1f49
changelog: Update for OGG changes
2023-07-05 13:18:21 -04:00
Serial
d711c752e7
changelog: Add entry for #214
2023-07-04 20:57:26 -04:00
Serial
ac3f0effbf
changelog: Update for #212 and #214
2023-07-03 20:29:21 -04:00
Serial
d4af6535ba
APE: Properly convert track/disk number pairs when writing
...
This also changes the default track/disk number to `DEFAULT_NUMBER_IN_PAIR`.
closes #159
2023-07-03 20:07:06 -04:00
Serial
bbfaa27085
0.14.0
2023-06-08 14:35:28 -04:00
Serial
1fb0aaacc5
changelog: Add entry for Musepack support
2023-06-06 10:34:37 -04:00
Serial
3e72761970
ID3v2: Remove unused id3::util::synchsafe::unsynch_content
2023-06-04 23:21:22 -04:00
Serial
ea0e16ce7f
changelog: Add entry for allocation limit change
2023-06-04 13:07:30 -04:00
Serial
6e555d1cb6
changelog: Add entry for ParsingMode::BestAttempt
2023-06-03 13:36:02 -04:00
Serial
e8bcb7d8c0
changelog: Add entry for MP4 plID fix
2023-05-28 17:25:07 -04:00
Serial
b324bfa478
0.13.0
2023-05-08 11:44:53 -04:00
Serial
21e3c5d402
changelog: Update for recent changes
2023-04-28 02:26:53 -04:00
Serial
afe97edd96
changelog: Add entries for ID3 renames
2023-04-28 02:17:19 -04:00
Serial
af490d0caf
changelog: Update for recent changes
2023-04-23 23:56:52 -04:00
Serial
db79afd302
changelog: Document removal of ID3v2ErrorKind::Other
2023-04-10 17:30:43 -04:00
Serial
7f7a793c11
0.12.1 changelog
2023-04-10 10:28:37 -04:00
Serial
c110d65af4
0.12.1
2023-04-10 10:26:59 -04:00
Serial
44f090c86c
ID3v2: Export Popularimeter
2023-04-10 10:22:54 -04:00
Serial
11a6028456
changelog: Update for recent changes
2023-04-10 10:22:54 -04:00
Serial
a4bf4f351f
0.12.0
2023-04-04 08:01:40 -04:00
Serial
b101c051bc
changelog: Update for recent changes
2023-04-04 07:56:05 -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
Serial
4741a0c770
VorbisComments: Check for "TRACKNUM" when using Accessor::*track
methods
2023-03-17 14:49:04 -04:00
Serial
f298be3f57
changelog: Update for new VorbisComments changes
2023-03-17 14:49:04 -04:00
Serial
b6deea936b
changelog: Add entries for WavPack fixes
2023-03-15 19:44:31 -04:00
Serial
78a78f7d05
changelog: Add entries for MP4 fixes
2023-03-13 20:14:49 -04:00
Serial
87e40952c0
changelog: Update for recent changes
2023-02-28 21:44:38 -05: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
Serial
1d2dbb6b35
ID3v2: Fix conversion of user defined frames when using Tag
writing interface
...
fixes #140
2023-02-11 13:32:08 -05:00
Uwe Klotz
eb648f4f0d
Remove special case handling of empty string values
2023-01-30 17:57:31 -05:00
Serial
be3c0b9ae3
0.11.0
2023-01-29 12:38:51 -05:00
Serial
cc30429764
ogg_pager: Make a separate changelog
2023-01-21 11:59:59 -05:00
Serial
af5154b7fb
TagExt: Add TagExt::len
2023-01-11 21:13:50 -05:00
Uwe Klotz
da27ed75f5
Use new naming convention for AppleXid
2023-01-11 08:37:21 -05:00
Serial
fd1f9f62a0
FLAC: Store pictures separately from the VorbisComments
tag
2023-01-08 21:26:50 -05:00
Serial
53050039a5
FLAC: Add FlacProperties
2023-01-08 17:16:26 -05:00
Serial
a6b114b2e4
Tags: Improve handling of Year
tag
2023-01-08 16:14:37 -05:00
Serial
f63afb2046
changelog: Update for recent changes
2023-01-07 18:28:09 -05:00
Serial
a5b1ccaff0
Files: Add <File>::set_{tag}
2023-01-07 00:25:22 -05:00
Serial
4d792bb480
AudioFile: Add AudioFile::save_to{_path}
2023-01-07 00:10:53 -05:00
Serial
366d6eb716
ItemKey: Add ItemKey::Color
2023-01-05 14:49:09 -05:00
Uwe Klotz
5858a90112
mp4: Add new item key AppleXID
2023-01-05 13:58:01 -05:00
Serial
24ca38153d
changelog: Update for recent changes
2023-01-05 01:04:57 -05:00
Serial
e2253ff754
MP4: Implement TryFrom<ItemKey>
for AtomIdent
2023-01-05 00:42:44 -05:00
Serial
1e966542e6
0.10.0
2022-12-27 15:56:05 -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
7f085c0632
changelog: Add entry for gnre
upgrade fix
2022-12-16 12:24:51 -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
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
79c4579d73
changelog: Add entry for changes to ogg_pager::paginate
2022-12-07 01:01:12 -05:00
Serial
cbe865dade
ogg_pager: Remove Page::new
2022-12-07 01:01:12 -05:00
Serial
0928730c14
changelog: Add entry for ogg_pager::PageHeader
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
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
Serial
7fdc3e0b2a
lofty_attr: Return removed tags in <File>::remove_*
...
Previously, we just removed and dropped the tag. That should really be left up to the user, though.
2022-11-09 14:12:30 -05:00
Serial
793b2d03d1
changelog: Add entry for TagExt::contains
2022-11-05 09:57:39 -04:00
Serial
cb6c4852e2
0.9.0
2022-10-30 16:55:12 -04:00
Serial
2a015b4304
changelog: Add entry for #64 ; Add missing issue/PR links
2022-10-14 09:29:05 -04:00
Alex
02f1314005
Add support for AAC ( #71 )
2022-10-14 09:06:27 -04:00
Serial
afe78368c2
iff: Separate wav
and aiff
into their own modules
2022-10-14 08:08:12 -04:00
Serial
b2da52196a
ID3v2: Export TextEncoding
in crate root
2022-10-14 08:01:00 -04:00
Serial
fcd9cee50f
Error: Add ErrorKind::SizeMismatch
2022-10-13 19:49:32 -04:00
Serial
0b6ad1599b
changelog: Cleanup
2022-10-01 18:53:28 -04:00
Serial
82a498f670
lofty_attr: Infer FileType::Custom
when using non-internal names
2022-10-01 18:49:17 -04:00
Serial
0d4b907e31
Misc: Add debug logging via log
crate
2022-09-30 07:05:33 -04:00
Serial
ac420960de
FileType: Remove feature dependent returns
2022-09-29 18:20:57 -04:00
Serial
5cd1dfc99c
lofty_attr: Remove #[lofty(always_present)]
2022-09-24 03:25:46 -04:00
Alex
ba6ef4f400
Probe: Add minimal ParseOptions ( #70 )
2022-09-24 02:34:22 -04:00
Serial
08082436e2
ID3v2: Use Option<T>
for optional extra flag data
2022-09-14 21:31:29 -04:00
Serial
49007a2a23
changelog: Add missing link for 0.8.1
2022-09-09 01:16:11 -04:00
Serial
3fa73f5065
FileProperties: Add new
method
2022-09-09 01:13:14 -04:00
Serial
8f2c62bf49
0.8.1
2022-09-09 01:03:49 -04:00
Serial
c757a80939
changelog: Add entry for #67
2022-09-06 17:29:47 -04:00
Serial
fc1726b357
changelog: Add missing issue link
2022-09-04 13:44:48 -04:00
Serial
c9c8a5f9f3
VorbisComments: Add get_all
...
closes : #66
2022-09-04 13:42:31 -04:00
Serial
859d084dbf
ID3v2: Handle tag-wide unsynchronisation flag
2022-09-02 23:37:03 -04:00
Serial
cffc8182e1
0.8.0
2022-08-10 14:42:55 -04:00
Serial
1b546700d5
MPEG: Change remaining references to mp3
to mpeg
2022-08-10 14:14:21 -04:00
Serial
b03d424f96
Update changelog
2022-08-04 05:20:32 -04:00
Serial
f3a7e4d5f1
Vorbis Comments: Don't rely on the case of METADATA_BLOCK_PICTURE
...
closes : #60
2022-08-03 08:33:39 -04:00
Serial
390512bda3
MP4: Add Atom::push_data
2022-07-30 19:47:47 -04:00
Serial
c4fa8f99d8
MP4: Return all values in Atom::data
2022-07-30 19:41:13 -04:00
Serial
ec4fb07042
ID3v2: Expose {synch_u32, unsynch_u32}
2022-07-26 21:55:58 -04:00
Serial
0805e6683b
MP3: Rename MP3File
to MPEGFile
2022-07-24 16:28:28 -04:00
Serial
da45191187
ID3v2: Change LanguageFrame.lang
's type to [u8; 3]
2022-07-24 16:21:18 -04:00
Serial
790e175b30
TaggedFile: Stop taking references to TagType
2022-07-24 16:14:42 -04:00
Alex
f48014fda8
Implement custom file resolvers ( #40 )
2022-07-24 16:08:46 -04:00
Serial
d1ce10ae6d
0.7.3
2022-07-22 11:41:15 -04:00
Serial
8d8158e105
ID3v2: Don't allow empty strings in Accessor::set_*
2022-07-21 16:15:43 -04:00
Serial
97f081fb48
Tags: Support ReplayGain keys
...
ID3v2: Properly store user defined frames after `Tag` conversion
2022-07-21 15:33:57 -04:00
Serial
69436e5c0a
Misc: Add tests and extension detection for MP1 and MP2
2022-07-18 16:04:21 -04:00
Serial
903531e07f
Tag: Add missing return
2022-07-17 13:58:27 -04:00
Serial
5d6801b0db
0.7.2
2022-07-13 01:47:42 -04:00
Serial
6717d79670
Meta: Start using tags in the changelog
2022-07-12 21:39:51 -04:00
Serial
7f71053e52
OGG: Add length validation to Vorbis Comments reading
2022-07-12 21:17:18 -04:00
Serial
19cef0400e
FLAC: Return early when encountering invalid zero-sized blocks
2022-07-12 21:01:12 -04:00
Serial
c833e30103
APE: Stop trusting the lengths of APE tag items
2022-07-12 14:19:02 -04:00
Serial
542f7dabc7
MP4: Better handle invalid atom sizes
2022-07-11 23:01:17 -04:00
Serial
f99a587391
PictureInformation: Fix potential overflowing subtraction in from_jpeg
2022-07-11 16:52:52 -04:00
Serial
9c35120aeb
Tag: Remove items when Accessor::set_*
is provided an empty string
2022-07-11 15:11:33 -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
c4947fb183
0.7.0 changelog
2022-07-08 21:19:17 -04:00
Serial
e1c10bee66
MP4: Support property reading for files with FLAC audio
2022-07-05 13:14:09 -04:00
Serial
22bd6a7513
Tags: Add {VorbisComments, Tag}{set_picture, remove_picture}
2022-07-04 15:37:25 -04:00
Serial
2f3400d1f2
Clippy: Remove unneeded allow
2022-06-29 23:03:31 -04:00
Serial
8e9ab4b1ad
0.7.0 changelog
2022-06-27 22:08:55 -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
a3e7a81c2e
ID3v1: Properly capitalize ID3v1Tag
2022-06-26 11:46:47 -04:00