diff --git a/CHANGELOG.md b/CHANGELOG.md index 0cc0454e..ca8b051a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed - **MusePack**: Fix potential panic when the beginning silence makes up the entire sample count ([PR](https://github.com/Serial-ATA/lofty-rs/pull/449)) - **Timestamp**: Support timestamps without separators (ex. "20240906" vs "2024-09-06") ([issue](https://github.com/Serial-ATA/lofty-rs/issues/452)) ([PR](https://github.com/Serial-ATA/lofty-rs/issues/453)) +- **ID3v2**: `ItemKey::Director` will now be written correctly as a TXXX frame ([PR](https://github.com/Serial-ATA/lofty-rs/issues/454)) ## [0.21.1] - 2024-08-28 diff --git a/lofty/src/id3/v2/tag.rs b/lofty/src/id3/v2/tag.rs index cb370ab3..efd87629 100644 --- a/lofty/src/id3/v2/tag.rs +++ b/lofty/src/id3/v2/tag.rs @@ -1379,7 +1379,6 @@ impl MergeTag for SplitTagRemainder { &ItemKey::Composer, &ItemKey::Conductor, &ItemKey::Writer, - &ItemKey::Director, &ItemKey::Lyricist, &ItemKey::MusicianCredits, &ItemKey::InternetRadioStationName, @@ -1403,8 +1402,11 @@ impl MergeTag for SplitTagRemainder { } // Multi-valued TXXX key-to-frame mappings - #[allow(clippy::single_element_loop)] - for item_key in [&ItemKey::TrackArtists] { + for item_key in [ + &ItemKey::TrackArtists, + &ItemKey::Director, + &ItemKey::CatalogNumber, + ] { let frame_id = item_key .map_key(TagType::Id3v2, false) .expect("valid frame id"); @@ -1521,6 +1523,7 @@ impl MergeTag for SplitTagRemainder { )); } + // iTunes advisory rating 'rate: { if let Some(advisory_rating) = tag.take_strings(&ItemKey::ParentalAdvisory).next() { let Ok(rating) = advisory_rating.parse::() else {