From 74779369cf1e5aa1b7ee2a8aa5d8106b9d54a9fb Mon Sep 17 00:00:00 2001 From: Serial <69764315+Serial-ATA@users.noreply.github.com> Date: Sun, 29 May 2022 22:14:40 -0400 Subject: [PATCH] WavPack: Start basic implementation --- src/file.rs | 13 ++-- src/lib.rs | 1 + src/probe.rs | 4 +- src/tag/mod.rs | 1 + src/wavpack/mod.rs | 93 ++++++++++++++++++++++++ src/wavpack/properties.rs | 67 +++++++++++++++++ src/wavpack/read.rs | 62 ++++++++++++++++ tests/files/assets/minimal/full_test.wv | Bin 0 -> 106815 bytes tests/files/main.rs | 1 + tests/files/wavpack.rs | 55 ++++++++++++++ 10 files changed, 291 insertions(+), 6 deletions(-) create mode 100644 src/wavpack/mod.rs create mode 100644 src/wavpack/properties.rs create mode 100644 src/wavpack/read.rs create mode 100644 tests/files/assets/minimal/full_test.wv create mode 100644 tests/files/wavpack.rs diff --git a/src/file.rs b/src/file.rs index 20bc4bc2..8d3a1878 100644 --- a/src/file.rs +++ b/src/file.rs @@ -210,6 +210,7 @@ pub enum FileType { Vorbis, Speex, WAV, + WavPack, } impl FileType { @@ -219,7 +220,7 @@ impl FileType { /// | [`FileType`] | [`TagType`] | /// |--------------------------|------------------| /// | `AIFF`, `MP3`, `WAV` | `Id3v2` | - /// | `APE` | `Ape` | + /// | `APE` , `WavPack` | `Ape` | /// | `FLAC`, `Opus`, `Vorbis` | `VorbisComments` | /// | `MP4` | `Mp4Ilst` | pub fn primary_tag_type(&self) -> TagType { @@ -234,8 +235,8 @@ impl FileType { FileType::MP3 => TagType::Ape, FileType::AIFF | FileType::MP3 | FileType::WAV => TagType::Id3v2, #[cfg(all(not(feature = "ape"), feature = "id3v1"))] - FileType::MP3 => TagType::Id3v1, - FileType::APE => TagType::Ape, + FileType::MP3 | FileType::WavPack => TagType::Id3v1, + FileType::APE | FileType::WavPack => TagType::Ape, FileType::FLAC | FileType::Opus | FileType::Vorbis | FileType::Speex => { TagType::VorbisComments }, @@ -255,9 +256,9 @@ impl FileType { #[cfg(feature = "aiff_text_chunks")] FileType::AIFF if tag_type == TagType::AiffText => true, #[cfg(feature = "id3v1")] - FileType::APE | FileType::MP3 if tag_type == TagType::Id3v1 => true, + FileType::APE | FileType::MP3 | FileType::WavPack if tag_type == TagType::Id3v1 => true, #[cfg(feature = "ape")] - FileType::APE | FileType::MP3 if tag_type == TagType::Ape => true, + FileType::APE | FileType::MP3 | FileType::WavPack if tag_type == TagType::Ape => true, #[cfg(feature = "vorbis_comments")] FileType::Opus | FileType::FLAC | FileType::Vorbis | FileType::Speex => { tag_type == TagType::VorbisComments @@ -282,6 +283,7 @@ impl FileType { "aiff" | "aif" | "afc" | "aifc" => Some(Self::AIFF), "mp3" => Some(Self::MP3), "wav" | "wave" => Some(Self::WAV), + "wv" => Some(Self::WavPack), "opus" => Some(Self::Opus), "flac" => Some(Self::FLAC), "ogg" => Some(Self::Vorbis), @@ -386,6 +388,7 @@ impl FileType { None }, + 82 if buf.len() >= 4 && &buf[..4] == b"wvpk" => Some(Self::WavPack), _ if buf.len() >= 8 && &buf[4..8] == b"ftyp" => Some(Self::MP4), _ => None, } diff --git a/src/lib.rs b/src/lib.rs index 6f36fb40..d362f7bb 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -182,6 +182,7 @@ mod probe; pub(crate) mod properties; pub(crate) mod tag; mod traits; +pub mod wavpack; pub use crate::error::{LoftyError, Result}; diff --git a/src/probe.rs b/src/probe.rs index 5c6ff23b..aad6b41d 100644 --- a/src/probe.rs +++ b/src/probe.rs @@ -10,6 +10,7 @@ use crate::mp4::Mp4File; use crate::ogg::opus::OpusFile; use crate::ogg::speex::SpeexFile; use crate::ogg::vorbis::VorbisFile; +use crate::wavpack::WavPackFile; use std::fs::File; use std::io::{BufReader, Cursor, Read, Seek, SeekFrom}; @@ -227,6 +228,7 @@ impl Probe { FileType::WAV => WavFile::read_from(reader, read_properties)?.into(), FileType::MP4 => Mp4File::read_from(reader, read_properties)?.into(), FileType::Speex => SpeexFile::read_from(reader, read_properties)?.into(), + FileType::WavPack => WavPackFile::read_from(reader, read_properties)?.into(), }), None => Err(LoftyError::new(ErrorKind::UnknownFormat)), } @@ -293,7 +295,7 @@ mod tests { let data: Vec = data.into_iter().flatten().copied().collect(); let data = std::io::Cursor::new(&data); let probe = Probe::new(data).guess_file_type().unwrap(); - assert_eq!(probe.file_type(), Some(crate::FileType::MP3)); + assert_eq!(probe.file_type(), Some(FileType::MP3)); } fn test_probe(path: &str, expected_file_type_guess: FileType) { diff --git a/src/tag/mod.rs b/src/tag/mod.rs index ddfeeeaf..e3c8a962 100644 --- a/src/tag/mod.rs +++ b/src/tag/mod.rs @@ -408,6 +408,7 @@ impl TagExt for Tag { } } +// TODO: Properly capitalize these /// The tag's format #[derive(Copy, Clone, Debug, PartialEq)] #[non_exhaustive] diff --git a/src/wavpack/mod.rs b/src/wavpack/mod.rs new file mode 100644 index 00000000..8db65853 --- /dev/null +++ b/src/wavpack/mod.rs @@ -0,0 +1,93 @@ +//! WavPack specific items +mod properties; +mod read; + +#[cfg(feature = "ape")] +use crate::ape::tag::ApeTag; +use crate::error::Result; +use crate::file::{AudioFile, FileType, TaggedFile}; +#[cfg(feature = "id3v1")] +use crate::id3::v1::tag::Id3v1Tag; +use crate::properties::FileProperties; +use crate::tag::{Tag, TagType}; + +use std::io::{Read, Seek}; + +// Exports +pub use properties::WavPackProperties; + +/// A WavPack file +#[derive(Default)] +pub struct WavPackFile { + #[cfg(feature = "id3v1")] + /// An ID3v1 tag + pub(crate) id3v1_tag: Option, + #[cfg(feature = "ape")] + /// An APEv1/v2 tag + pub(crate) ape_tag: Option, + /// The file's audio properties + pub(crate) properties: WavPackProperties, +} + +impl From for TaggedFile { + #[allow(clippy::vec_init_then_push, unused_mut)] + fn from(input: WavPackFile) -> Self { + let mut tags = Vec::>::with_capacity(2); + + #[cfg(feature = "id3v1")] + tags.push(input.id3v1_tag.map(Into::into)); + #[cfg(feature = "ape")] + tags.push(input.ape_tag.map(Into::into)); + + Self { + ty: FileType::WavPack, + properties: FileProperties::from(input.properties), + tags: tags.into_iter().flatten().collect(), + } + } +} + +impl AudioFile for WavPackFile { + type Properties = WavPackProperties; + + fn read_from(reader: &mut R, read_properties: bool) -> Result + where + R: Read + Seek, + { + read::read_from(reader, read_properties) + } + + fn properties(&self) -> &Self::Properties { + &self.properties + } + + #[allow(unreachable_code)] + fn contains_tag(&self) -> bool { + #[cfg(feature = "id3v1")] + return self.id3v1_tag.is_some(); + #[cfg(feature = "ape")] + return self.ape_tag.is_some(); + + false + } + + fn contains_tag_type(&self, tag_type: TagType) -> bool { + match tag_type { + #[cfg(feature = "ape")] + TagType::Ape => self.ape_tag.is_some(), + #[cfg(feature = "id3v1")] + TagType::Id3v1 => self.id3v1_tag.is_some(), + _ => false, + } + } +} + +impl WavPackFile { + crate::macros::tag_methods! { + #[cfg(feature = "id3v1")] + id3v1_tag, Id3v1Tag; + + #[cfg(feature = "ape")] + ape_tag, ApeTag + } +} diff --git a/src/wavpack/properties.rs b/src/wavpack/properties.rs new file mode 100644 index 00000000..5e24048a --- /dev/null +++ b/src/wavpack/properties.rs @@ -0,0 +1,67 @@ +use crate::properties::FileProperties; + +use std::time::Duration; + +#[derive(Debug, Clone, Copy, PartialEq, Default)] +#[non_exhaustive] +/// A WavPack file's audio properties +pub struct WavPackProperties { + pub(crate) version: u16, + pub(crate) duration: Duration, + pub(crate) overall_bitrate: u32, + pub(crate) audio_bitrate: u32, + pub(crate) sample_rate: u32, + pub(crate) channels: u8, + pub(crate) bit_depth: u8, + pub(crate) lossless: bool, +} + +impl From for FileProperties { + fn from(input: WavPackProperties) -> Self { + Self { + duration: input.duration, + overall_bitrate: Some(input.overall_bitrate), + audio_bitrate: Some(input.audio_bitrate), + sample_rate: Some(input.sample_rate), + bit_depth: Some(input.bit_depth), + channels: Some(input.channels), + } + } +} + +impl WavPackProperties { + /// Duration + pub fn duration(&self) -> Duration { + self.duration + } + + /// Overall bitrate (kbps) + pub fn overall_bitrate(&self) -> u32 { + self.overall_bitrate + } + + /// Audio bitrate (kbps) + pub fn audio_bitrate(&self) -> u32 { + self.audio_bitrate + } + + /// Sample rate (Hz) + pub fn sample_rate(&self) -> u32 { + self.sample_rate + } + + /// Channel count + pub fn channels(&self) -> u8 { + self.channels + } + + /// WavPack version + pub fn version(&self) -> u16 { + self.version + } + + /// Whether the audio is lossless + pub fn is_lossless(&self) -> bool { + self.lossless + } +} diff --git a/src/wavpack/read.rs b/src/wavpack/read.rs new file mode 100644 index 00000000..2bda1bdd --- /dev/null +++ b/src/wavpack/read.rs @@ -0,0 +1,62 @@ +use super::properties::WavPackProperties; +use super::WavPackFile; +use crate::ape::constants::APE_PREAMBLE; +use crate::ape::header::read_ape_header; +use crate::ape::tag::read::read_ape_tag; +use crate::error::Result; +use crate::id3::{find_id3v1, find_lyrics3v2, ID3FindResults}; + +use std::io::{Read, Seek, SeekFrom}; + +pub(super) fn read_from(reader: &mut R, _read_properties: bool) -> Result +where + R: Read + Seek, +{ + #[cfg(feature = "id3v1")] + let mut id3v1_tag = None; + #[cfg(feature = "ape")] + let mut ape_tag = None; + + let ID3FindResults(id3v1_header, id3v1) = find_id3v1(reader, true)?; + + if id3v1_header.is_some() { + #[cfg(feature = "id3v1")] + { + id3v1_tag = id3v1; + } + } + + // Next, check for a Lyrics3v2 tag, and skip over it, as it's no use to us + let ID3FindResults(_lyrics3_header, _lyrics3v2_size) = find_lyrics3v2(reader)?; + + // Next, search for an APE tag footer + // + // Starts with ['A', 'P', 'E', 'T', 'A', 'G', 'E', 'X'] + // Exactly 32 bytes long + // Strongly recommended to be at the end of the file + reader.seek(SeekFrom::Current(-32))?; + + let mut ape_preamble = [0; 8]; + reader.read_exact(&mut ape_preamble)?; + + if &ape_preamble == APE_PREAMBLE { + let ape_header = read_ape_header(reader, true)?; + + #[cfg(feature = "ape")] + { + let ape = read_ape_tag(reader, ape_header)?; + ape_tag = Some(ape) + } + + #[cfg(not(feature = "ape"))] + data.seek(SeekFrom::Current(ape_header.size as i64))?; + } + + Ok(WavPackFile { + #[cfg(feature = "id3v1")] + id3v1_tag, + #[cfg(feature = "ape")] + ape_tag, + properties: WavPackProperties::default(), + }) +} diff --git a/tests/files/assets/minimal/full_test.wv b/tests/files/assets/minimal/full_test.wv new file mode 100644 index 0000000000000000000000000000000000000000..15f31bb36e662223dc36c4b744a953aaf486ae1b GIT binary patch literal 106815 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

T0l@$uQRw*i?_Vq|3=HDjP)QLo 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�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 AIsgCw literal 0 HcmV?d00001 diff --git a/tests/files/main.rs b/tests/files/main.rs index d3b029cf..a453bb8e 100644 --- a/tests/files/main.rs +++ b/tests/files/main.rs @@ -5,4 +5,5 @@ mod mpeg; mod ogg; pub(crate) mod util; mod wav; +mod wavpack; mod zero_sized; diff --git a/tests/files/wavpack.rs b/tests/files/wavpack.rs new file mode 100644 index 00000000..7ec22467 --- /dev/null +++ b/tests/files/wavpack.rs @@ -0,0 +1,55 @@ +use crate::{set_artist, temp_file, verify_artist}; +use lofty::{FileType, ItemKey, ItemValue, TagExt, TagItem, TagType}; +use std::io::{Seek, Write}; + +#[test] +fn read() { + // Here we have a WacPack file with both an ID3v1 tag and an APE tag + let file = lofty::read_from_path("tests/files/assets/minimal/full_test.wv", false).unwrap(); + + assert_eq!(file.file_type(), FileType::WavPack); + + // Verify the APE tag first + crate::verify_artist!(file, primary_tag, "Foo artist", 1); + + // Now verify the ID3v1 tag + crate::verify_artist!(file, tag, TagType::Id3v1, "Bar artist", 1); +} + +// TODO + +#[test] +#[ignore] +fn write() { + let mut file = temp_file!("tests/files/assets/minimal/full_test.wv"); + + let mut tagged_file = lofty::read_from(&mut file, false).unwrap(); + + assert_eq!(tagged_file.file_type(), FileType::WavPack); + + // APE + crate::set_artist!(tagged_file, primary_tag_mut, "Foo artist", 1 => file, "Bar artist"); + + // ID3v1 + crate::set_artist!(tagged_file, tag_mut, TagType::Id3v1, "Bar artist", 1 => file, "Baz artist"); + + // Now reread the file + file.rewind().unwrap(); + let mut tagged_file = lofty::read_from(&mut file, false).unwrap(); + + crate::set_artist!(tagged_file, primary_tag_mut, "Bar artist", 1 => file, "Foo artist"); + + crate::set_artist!(tagged_file, tag_mut, TagType::Id3v1, "Baz artist", 1 => file, "Bar artist"); +} + +#[test] +#[ignore] +fn remove_id3v1() { + crate::remove_tag!("tests/files/assets/minimal/full_test.wv", TagType::Id3v1); +} + +#[test] +#[ignore] +fn remove_ape() { + crate::remove_tag!("tests/files/assets/minimal/full_test.wv", TagType::Ape); +}