From 6862cff185e7f5dda7f3a542dc743b074570b3c6 Mon Sep 17 00:00:00 2001
From: Antoine Gersant <antoine.gersant@lesforges.org>
Date: Mon, 3 Feb 2025 01:09:10 -0800
Subject: [PATCH] Implement multi-value support for APE files

---
 src/app/formats.rs                        |  53 ++++++++++++----------
 test-data/multivalue/multivalue.ape       | Bin 0 -> 30334 bytes
 test-data/{ => multivalue}/multivalue.mp3 | Bin
 3 files changed, 29 insertions(+), 24 deletions(-)
 create mode 100644 test-data/multivalue/multivalue.ape
 rename test-data/{ => multivalue}/multivalue.mp3 (100%)

diff --git a/src/app/formats.rs b/src/app/formats.rs
index bc4c807..73474cf 100644
--- a/src/app/formats.rs
+++ b/src/app/formats.rs
@@ -132,7 +132,12 @@ mod ape_ext {
 	}
 
 	pub fn read_strings(items: Vec<&ape::Item>) -> Vec<String> {
-		items.iter().filter_map(|i| read_string(i)).collect()
+		items
+			.iter()
+			.filter_map(|i| read_string(i))
+			// TODO This is a workaround for https://github.com/rossnomann/ape/issues/10
+			.flat_map(|s| s.split('\0').map(str::to_string).collect::<Vec<_>>())
+			.collect()
 	}
 
 	pub fn read_i32(item: &ape::Item) -> Option<i32> {
@@ -301,7 +306,7 @@ fn read_mp4<P: AsRef<Path>>(path: P) -> Result<SongMetadata, Error> {
 
 #[test]
 fn reads_file_metadata() {
-	let sample_tags = SongMetadata {
+	let expected_without_duration = SongMetadata {
 		disc_number: Some(3),
 		track_number: Some(1),
 		title: Some("TEST TITLE".into()),
@@ -316,49 +321,41 @@ fn reads_file_metadata() {
 		genres: vec!["TEST GENRE".into()],
 		labels: vec!["TEST LABEL".into()],
 	};
-	let flac_sample_tag = SongMetadata {
+	let expected_with_duration = SongMetadata {
 		duration: Some(0),
-		..sample_tags.clone()
-	};
-	let mp3_sample_tag = SongMetadata {
-		duration: Some(0),
-		..sample_tags.clone()
-	};
-	let m4a_sample_tag = SongMetadata {
-		duration: Some(0),
-		..sample_tags.clone()
+		..expected_without_duration.clone()
 	};
 	assert_eq!(
 		read_metadata(Path::new("test-data/formats/sample.aif")).unwrap(),
-		sample_tags
+		expected_without_duration
 	);
 	assert_eq!(
 		read_metadata(Path::new("test-data/formats/sample.mp3")).unwrap(),
-		mp3_sample_tag
+		expected_with_duration
 	);
 	assert_eq!(
 		read_metadata(Path::new("test-data/formats/sample.ogg")).unwrap(),
-		sample_tags
+		expected_without_duration
 	);
 	assert_eq!(
 		read_metadata(Path::new("test-data/formats/sample.flac")).unwrap(),
-		flac_sample_tag
+		expected_with_duration
 	);
 	assert_eq!(
 		read_metadata(Path::new("test-data/formats/sample.m4a")).unwrap(),
-		m4a_sample_tag
+		expected_with_duration
 	);
 	assert_eq!(
 		read_metadata(Path::new("test-data/formats/sample.opus")).unwrap(),
-		sample_tags
+		expected_without_duration
 	);
 	assert_eq!(
 		read_metadata(Path::new("test-data/formats/sample.ape")).unwrap(),
-		sample_tags
+		expected_without_duration
 	);
 	assert_eq!(
 		read_metadata(Path::new("test-data/formats/sample.wav")).unwrap(),
-		sample_tags
+		expected_without_duration
 	);
 }
 
@@ -393,14 +390,14 @@ fn reads_embedded_artwork() {
 
 #[test]
 fn reads_multivalue_fields() {
-	let expected = SongMetadata {
+	let expected_without_duration = SongMetadata {
 		disc_number: Some(3),
 		track_number: Some(1),
 		title: Some("TEST TITLE".into()),
 		artists: vec!["TEST ARTIST".into(), "OTHER ARTIST".into()],
 		album_artists: vec!["TEST ALBUM ARTIST".into(), "OTHER ALBUM ARTIST".into()],
 		album: Some("TEST ALBUM".into()),
-		duration: Some(0),
+		duration: None,
 		year: Some(2016),
 		has_artwork: false,
 		lyricists: vec!["TEST LYRICIST".into(), "OTHER LYRICIST".into()],
@@ -408,8 +405,16 @@ fn reads_multivalue_fields() {
 		genres: vec!["TEST GENRE".into(), "OTHER GENRE".into()],
 		labels: vec!["TEST LABEL".into(), "OTHER LABEL".into()],
 	};
+	let expected_with_duration = SongMetadata {
+		duration: Some(0),
+		..expected_without_duration.clone()
+	};
 	assert_eq!(
-		read_metadata(Path::new("test-data/multivalue.mp3")).unwrap(),
-		expected
+		read_metadata(Path::new("test-data/multivalue/multivalue.mp3")).unwrap(),
+		expected_with_duration
+	);
+	assert_eq!(
+		read_metadata(Path::new("test-data/multivalue/multivalue.ape")).unwrap(),
+		expected_without_duration
 	);
 }
diff --git a/test-data/multivalue/multivalue.ape b/test-data/multivalue/multivalue.ape
new file mode 100644
index 0000000000000000000000000000000000000000..d3d37574f2369cc23c4db6e5fadb269ec0ae2caa
GIT binary patch
literal 30334
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

literal 0
HcmV?d00001

diff --git a/test-data/multivalue.mp3 b/test-data/multivalue/multivalue.mp3
similarity index 100%
rename from test-data/multivalue.mp3
rename to test-data/multivalue/multivalue.mp3