From 33520acbc39aa77ac6b24fd92241d1b4b362a087 Mon Sep 17 00:00:00 2001 From: Polochon-street Date: Sun, 13 Jun 2021 14:07:17 +0200 Subject: [PATCH] Some review comments --- CHANGELOG.md | 5 ++ Cargo.lock | 2 +- Cargo.toml | 7 ++- data/no_tags.flac | Bin 0 -> 205191 bytes examples/distance.rs | 2 +- src/chroma.rs | 26 ++++---- src/lib.rs | 21 ++++--- src/library.rs | 69 +++++++++++----------- src/misc.rs | 3 +- src/song.rs | 138 ++++++++++++++++++++++++++----------------- src/temporal.rs | 9 +-- src/timbral.rs | 21 +++---- src/utils.rs | 6 +- 13 files changed, 179 insertions(+), 130 deletions(-) create mode 100644 data/no_tags.flac diff --git a/CHANGELOG.md b/CHANGELOG.md index 67e6c5c..f08ebc9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## bliss 0.3.0 +* Changed `Song.path` from `String` to `PathBuf`. +* Made `Song` metadata (artist, album, etc) `Option`s. +* Added a `BlissResult` error type. + ## bliss 0.2.6 * Fixed an allocation bug in Song::decode that potentially caused segfaults. diff --git a/Cargo.lock b/Cargo.lock index 9b40667..7fd34f5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -75,7 +75,7 @@ checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" [[package]] name = "bliss-audio" -version = "0.2.6" +version = "0.3.0" dependencies = [ "bliss-audio-aubio-rs", "crossbeam", diff --git a/Cargo.toml b/Cargo.toml index 0f10b79..bd954ff 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "bliss-audio" -version = "0.2.6" +version = "0.3.0" authors = ["Polochon-street "] edition = "2018" license = "GPL-3.0-only" @@ -19,9 +19,12 @@ no-default-features = true # https://github.com/zmwangx/rust-ffmpeg/pull/60 # or https://github.com/zmwangx/rust-ffmpeg/pull/62 is in default = ["bliss-audio-aubio-rs/static", "build-ffmpeg"] +# Build ffmpeg instead of using the host's. build-ffmpeg = ["ffmpeg-next/build"] -bench = [] +# Use if you want to build python bindings with maturin. python-bindings = ["bliss-audio-aubio-rs/fftw3"] +# Enable the benchmarks with `cargo +nightly bench --features=bench` +bench = [] [dependencies] ripemd160 = "0.9.0" diff --git a/data/no_tags.flac b/data/no_tags.flac new file mode 100644 index 0000000000000000000000000000000000000000..59bdda6d36aa3d3c5989b5af6e838d2b6a82a9ed GIT binary patch literal 205191 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 z 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 -fO+2f;KE$r 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

$|ndslGc@~2pI`^}qO1;>#9^DKqwN+Js~ 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 C01zYq literal 0 HcmV?d00001 diff --git a/examples/distance.rs b/examples/distance.rs index 21606a2..3d0489c 100644 --- a/examples/distance.rs +++ b/examples/distance.rs @@ -17,7 +17,7 @@ fn main() -> Result<(), String> { let song2 = Song::new(&second_path).map_err(|x| x.to_string())?; println!( - "d({}, {}) = {}", + "d({:?}, {:?}) = {}", song1.path, song2.path, song1.distance(&song2) diff --git a/src/chroma.rs b/src/chroma.rs index 5c7bfb8..9a57dd9 100644 --- a/src/chroma.rs +++ b/src/chroma.rs @@ -7,7 +7,7 @@ extern crate noisy_float; use crate::utils::stft; use crate::utils::{hz_to_octs_inplace, Normalize}; -use crate::BlissError; +use crate::{BlissError, BlissResult}; use ndarray::{arr1, arr2, concatenate, s, Array, Array1, Array2, Axis, Zip}; use ndarray_stats::interpolate::Midpoint; use ndarray_stats::QuantileExt; @@ -51,7 +51,7 @@ impl ChromaDesc { * Passing a full song here once instead of streaming smaller parts of the * song will greatly improve accuracy. */ - pub fn do_(&mut self, signal: &[f32]) -> Result<(), BlissError> { + pub fn do_(&mut self, signal: &[f32]) -> BlissResult<()> { let mut stft = stft(signal, ChromaDesc::WINDOW_SIZE, 2205); let tuning = estimate_tuning( self.sample_rate as u32, @@ -155,7 +155,7 @@ fn chroma_filter( n_fft: usize, n_chroma: u32, tuning: f64, -) -> Result, BlissError> { +) -> BlissResult> { let ctroct = 5.0; let octwidth = 2.; let n_chroma_float = f64::from(n_chroma); @@ -226,7 +226,7 @@ fn pip_track( sample_rate: u32, spectrum: &Array2, n_fft: usize, -) -> Result<(Vec, Vec), BlissError> { +) -> BlissResult<(Vec, Vec)> { let sample_rate_float = f64::from(sample_rate); let fmin = 150.0_f64; let fmax = 4000.0_f64.min(sample_rate_float / 2.0); @@ -291,7 +291,7 @@ fn pitch_tuning( frequencies: &mut Array1, resolution: f64, bins_per_octave: u32, -) -> Result { +) -> BlissResult { if frequencies.is_empty() { return Ok(0.0); } @@ -320,7 +320,7 @@ fn estimate_tuning( n_fft: usize, resolution: f64, bins_per_octave: u32, -) -> Result { +) -> BlissResult { let (pitch, mag) = pip_track(sample_rate, &spectrum, n_fft)?; let (filtered_pitch, filtered_mag): (Vec, Vec) = pitch @@ -372,6 +372,7 @@ mod test { use ndarray::{arr1, arr2, Array2}; use ndarray_npy::ReadNpyExt; use std::fs::File; + use std::path::Path; #[test] fn test_chroma_interval_features() { @@ -437,7 +438,7 @@ mod test { #[test] fn test_chroma_desc() { - let song = Song::decode("data/s16_mono_22_5kHz.flac").unwrap(); + let song = Song::decode(Path::new("data/s16_mono_22_5kHz.flac")).unwrap(); let mut chroma_desc = ChromaDesc::new(SAMPLE_RATE, 12); chroma_desc.do_(&song.sample_array).unwrap(); let expected_values = vec![ @@ -459,7 +460,7 @@ mod test { #[test] fn test_chroma_stft_decode() { - let signal = Song::decode("data/s16_mono_22_5kHz.flac") + let signal = Song::decode(Path::new("data/s16_mono_22_5kHz.flac")) .unwrap() .sample_array; let mut stft = stft(&signal, 8192, 2205); @@ -487,7 +488,7 @@ mod test { #[test] fn test_estimate_tuning_decode() { - let signal = Song::decode("data/s16_mono_22_5kHz.flac") + let signal = Song::decode(Path::new("data/s16_mono_22_5kHz.flac")) .unwrap() .sample_array; let stft = stft(&signal, 8192, 2205); @@ -556,6 +557,7 @@ mod bench { use ndarray_npy::ReadNpyExt; use std::fs::File; use test::Bencher; + use std::path::Path; #[bench] fn bench_estimate_tuning(b: &mut Bencher) { @@ -603,7 +605,7 @@ mod bench { #[bench] fn bench_chroma_desc(b: &mut Bencher) { - let song = Song::decode("data/s16_mono_22_5kHz.flac").unwrap(); + let song = Song::decode(Path::new("data/s16_mono_22_5kHz.flac")).unwrap(); let mut chroma_desc = ChromaDesc::new(SAMPLE_RATE, 12); let signal = song.sample_array; b.iter(|| { @@ -614,7 +616,7 @@ mod bench { #[bench] fn bench_chroma_stft(b: &mut Bencher) { - let song = Song::decode("data/s16_mono_22_5kHz.flac").unwrap(); + let song = Song::decode(Path::new("data/s16_mono_22_5kHz.flac")).unwrap(); let mut chroma_desc = ChromaDesc::new(SAMPLE_RATE, 12); let signal = song.sample_array; b.iter(|| { @@ -625,7 +627,7 @@ mod bench { #[bench] fn bench_chroma_stft_decode(b: &mut Bencher) { - let signal = Song::decode("data/s16_mono_22_5kHz.flac") + let signal = Song::decode(Path::new("data/s16_mono_22_5kHz.flac")) .unwrap() .sample_array; let mut stft = stft(&signal, 8192, 2205); diff --git a/src/lib.rs b/src/lib.rs index d415017..b96d81e 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -24,9 +24,9 @@ //! //! ## Analyze & compute the distance between two songs //! ```no_run -//! use bliss_audio::{BlissError, Song}; +//! use bliss_audio::{BlissResult, Song}; //! -//! fn main() -> Result<(), BlissError> { +//! fn main() -> BlissResult<()> { //! let song1 = Song::new("/path/to/song1")?; //! let song2 = Song::new("/path/to/song2")?; //! @@ -37,15 +37,15 @@ //! //! ### Make a playlist from a song //! ```no_run -//! use bliss_audio::{BlissError, Song}; +//! use bliss_audio::{BlissResult, Song}; //! use noisy_float::prelude::n32; //! -//! fn main() -> Result<(), BlissError> { +//! fn main() -> BlissResult<()> { //! let paths = vec!["/path/to/song1", "/path/to/song2", "/path/to/song3"]; //! let mut songs: Vec = paths //! .iter() //! .map(|path| Song::new(path)) -//! .collect::, BlissError>>()?; +//! .collect::>>()?; //! //! // Assuming there is a first song //! let first_song = songs.first().unwrap().to_owned(); @@ -55,8 +55,8 @@ //! "Playlist is: {:?}", //! songs //! .iter() -//! .map(|song| &song.path) -//! .collect::>() +//! .map(|song| song.path.to_string_lossy().to_string()) +//! .collect::>() //! ); //! Ok(()) //! } @@ -100,13 +100,16 @@ pub enum BlissError { ProviderError(String), } +/// bliss error type +pub type BlissResult = Result; + /// Simple function to bulk analyze a set of songs represented by their /// absolute paths. /// /// When making an extension for an audio player, prefer /// implementing the `Library` trait. #[doc(hidden)] -pub fn bulk_analyse(paths: Vec) -> Vec> { +pub fn bulk_analyse(paths: Vec) -> Vec> { let mut songs = Vec::with_capacity(paths.len()); let num_cpus = num_cpus::get(); @@ -175,7 +178,7 @@ mod tests { let mut analysed_songs: Vec = results .iter() - .filter_map(|x| x.as_ref().ok().map(|x| x.path.to_string())) + .filter_map(|x| x.as_ref().ok().map(|x| x.path.to_str().unwrap().to_string())) .collect(); analysed_songs.sort_by(|a, b| a.cmp(b)); diff --git a/src/library.rs b/src/library.rs index 2d39978..aeddc30 100644 --- a/src/library.rs +++ b/src/library.rs @@ -1,6 +1,6 @@ //! Module containing the Library trait, useful to get started to implement //! a plug-in for an audio player. -use crate::{BlissError, Song}; +use crate::{BlissError, BlissResult, Song}; use log::{debug, error, info}; use noisy_float::prelude::*; use std::sync::mpsc; @@ -11,18 +11,18 @@ use std::thread; pub trait Library { /// Return the absolute path of all the songs in an /// audio player's music library. - fn get_songs_paths(&self) -> Result, BlissError>; + fn get_songs_paths(&self) -> BlissResult>; /// Store an analyzed Song object in some (cold) storage, e.g. /// a database, a file... - fn store_song(&mut self, song: &Song) -> Result<(), BlissError>; + fn store_song(&mut self, song: &Song) -> BlissResult<()>; /// Log and / or store that an error happened while trying to decode and /// analyze a song. - fn store_error_song(&mut self, song_path: String, error: BlissError) -> Result<(), BlissError>; + fn store_error_song(&mut self, song_path: String, error: BlissError) -> BlissResult<()>; /// Retrieve a list of all the stored Songs. /// /// This should work only after having run `analyze_library` at least /// once. - fn get_stored_songs(&self) -> Result, BlissError>; + fn get_stored_songs(&self) -> BlissResult>; /// Return a list of songs that are similar to ``first_song``. /// @@ -41,7 +41,7 @@ pub trait Library { &self, first_song: Song, playlist_length: usize, - ) -> Result, BlissError> { + ) -> BlissResult> { let analysis_current_song = first_song.analysis; let mut songs = self.get_stored_songs()?; songs.sort_by_cached_key(|song| n32(analysis_current_song.distance(&song.analysis))); @@ -59,7 +59,7 @@ pub trait Library { /// /// Note: this is mostly useful for updating a song library. For the first /// run, you probably want to use `analyze_library`. - fn analyze_paths(&mut self, paths: Vec) -> Result<(), BlissError> { + fn analyze_paths(&mut self, paths: Vec) -> BlissResult<()> { if paths.is_empty() { return Ok(()); } @@ -67,8 +67,8 @@ pub trait Library { #[allow(clippy::type_complexity)] let (tx, rx): ( - Sender<(String, Result)>, - Receiver<(String, Result)>, + Sender<(String, BlissResult)>, + Receiver<(String, BlissResult)>, ) = mpsc::channel(); let mut handles = Vec::new(); let mut chunk_length = paths.len() / num_cpus; @@ -96,8 +96,8 @@ pub trait Library { match song { Ok(song) => { self.store_song(&song) - .unwrap_or_else(|_| error!("Error while storing song '{}'", song.path)); - info!("Analyzed and stored song '{}' successfully.", song.path) + .unwrap_or_else(|_| error!("Error while storing song '{}'", song.path.display())); + info!("Analyzed and stored song '{}' successfully.", song.path.display()) } Err(e) => { self.store_error_song(path.to_string(), e.to_owned()) @@ -122,7 +122,7 @@ pub trait Library { /// Analyzes a song library, using `get_songs_paths`, `store_song` and /// `store_error_song` implementations. - fn analyze_library(&mut self) -> Result<(), BlissError> { + fn analyze_library(&mut self) -> BlissResult<()> { let paths = self .get_songs_paths() .map_err(|e| BlissError::ProviderError(e.to_string()))?; @@ -135,6 +135,7 @@ pub trait Library { mod test { use super::*; use crate::song::Analysis; + use std::path::Path; #[derive(Default)] struct TestLibrary { @@ -143,7 +144,7 @@ mod test { } impl Library for TestLibrary { - fn get_songs_paths(&self) -> Result, BlissError> { + fn get_songs_paths(&self) -> BlissResult> { Ok(vec![ String::from("./data/white_noise.flac"), String::from("./data/s16_mono_22_5kHz.flac"), @@ -152,7 +153,7 @@ mod test { ]) } - fn store_song(&mut self, song: &Song) -> Result<(), BlissError> { + fn store_song(&mut self, song: &Song) -> BlissResult<()> { self.internal_storage.push(song.to_owned()); Ok(()) } @@ -161,12 +162,12 @@ mod test { &mut self, song_path: String, error: BlissError, - ) -> Result<(), BlissError> { + ) -> BlissResult<()> { self.failed_files.push((song_path, error.to_string())); Ok(()) } - fn get_stored_songs(&self) -> Result, BlissError> { + fn get_stored_songs(&self) -> BlissResult> { Ok(self.internal_storage.to_owned()) } } @@ -175,23 +176,23 @@ mod test { struct FailingLibrary; impl Library for FailingLibrary { - fn get_songs_paths(&self) -> Result, BlissError> { + fn get_songs_paths(&self) -> BlissResult> { Err(BlissError::ProviderError(String::from( "Could not get songs path", ))) } - fn store_song(&mut self, _: &Song) -> Result<(), BlissError> { + fn store_song(&mut self, _: &Song) -> BlissResult<()> { Ok(()) } - fn get_stored_songs(&self) -> Result, BlissError> { + fn get_stored_songs(&self) -> BlissResult> { Err(BlissError::ProviderError(String::from( "Could not get stored songs", ))) } - fn store_error_song(&mut self, _: String, _: BlissError) -> Result<(), BlissError> { + fn store_error_song(&mut self, _: String, _: BlissError) -> BlissResult<()> { Ok(()) } } @@ -200,7 +201,7 @@ mod test { struct FailingStorage; impl Library for FailingStorage { - fn get_songs_paths(&self) -> Result, BlissError> { + fn get_songs_paths(&self) -> BlissResult> { Ok(vec![ String::from("./data/white_noise.flac"), String::from("./data/s16_mono_22_5kHz.flac"), @@ -209,14 +210,14 @@ mod test { ]) } - fn store_song(&mut self, song: &Song) -> Result<(), BlissError> { + fn store_song(&mut self, song: &Song) -> BlissResult<()> { Err(BlissError::ProviderError(format!( "Could not store song {}", - song.path + song.path.display() ))) } - fn get_stored_songs(&self) -> Result, BlissError> { + fn get_stored_songs(&self) -> BlissResult> { Ok(vec![]) } @@ -224,7 +225,7 @@ mod test { &mut self, song_path: String, error: BlissError, - ) -> Result<(), BlissError> { + ) -> BlissResult<()> { Err(BlissError::ProviderError(format!( "Could not store errored song: {}, with error: {}", song_path, error @@ -247,7 +248,7 @@ mod test { fn test_playlist_from_song_fail() { let test_library = FailingLibrary {}; let song = Song { - path: String::from("path-to-first"), + path: Path::new("path-to-first").to_path_buf(), analysis: Analysis::new([0.; 20]), ..Default::default() }; @@ -294,7 +295,7 @@ mod test { let mut songs = test_library .internal_storage .iter() - .map(|x| x.path.to_owned()) + .map(|x| x.path.to_str().unwrap().to_string()) .collect::>(); songs.sort(); @@ -311,25 +312,25 @@ mod test { fn test_playlist_from_song() { let mut test_library = TestLibrary::default(); let first_song = Song { - path: String::from("path-to-first"), + path: Path::new("path-to-first").to_path_buf(), analysis: Analysis::new([0.; 20]), ..Default::default() }; let second_song = Song { - path: String::from("path-to-second"), + path: Path::new("path-to-second").to_path_buf(), analysis: Analysis::new([0.1; 20]), ..Default::default() }; let third_song = Song { - path: String::from("path-to-third"), + path: Path::new("path-to-third").to_path_buf(), analysis: Analysis::new([10.; 20]), ..Default::default() }; let fourth_song = Song { - path: String::from("path-to-fourth"), + path: Path::new("path-to-fourth").to_path_buf(), analysis: Analysis::new([20.; 20]), ..Default::default() }; @@ -350,19 +351,19 @@ mod test { fn test_playlist_from_song_too_little_songs() { let mut test_library = TestLibrary::default(); let first_song = Song { - path: String::from("path-to-first"), + path: Path::new("path-to-first").to_path_buf(), analysis: Analysis::new([0.; 20]), ..Default::default() }; let second_song = Song { - path: String::from("path-to-second"), + path: Path::new("path-to-second").to_path_buf(), analysis: Analysis::new([0.1; 20]), ..Default::default() }; let third_song = Song { - path: String::from("path-to-third"), + path: Path::new("path-to-third").to_path_buf(), analysis: Analysis::new([10.; 20]), ..Default::default() }; diff --git a/src/misc.rs b/src/misc.rs index 63dc2d1..1693590 100644 --- a/src/misc.rs +++ b/src/misc.rs @@ -64,10 +64,11 @@ impl Normalize for LoudnessDesc { mod tests { use super::*; use crate::Song; + use std::path::Path; #[test] fn test_loudness() { - let song = Song::decode("data/s16_mono_22_5kHz.flac").unwrap(); + let song = Song::decode(Path::new("data/s16_mono_22_5kHz.flac")).unwrap(); let mut loudness_desc = LoudnessDesc::default(); for chunk in song.sample_array.chunks_exact(LoudnessDesc::WINDOW_SIZE) { loudness_desc.do_(&chunk); diff --git a/src/song.rs b/src/song.rs index f7587f3..5340c38 100644 --- a/src/song.rs +++ b/src/song.rs @@ -17,7 +17,7 @@ use crate::chroma::ChromaDesc; use crate::misc::LoudnessDesc; use crate::temporal::BPMDesc; use crate::timbral::{SpectralDesc, ZeroCrossingRateDesc}; -use crate::{BlissError, SAMPLE_RATE}; +use crate::{BlissError, BlissResult, SAMPLE_RATE}; use ::log::warn; use core::ops::Index; use crossbeam::thread; @@ -36,6 +36,8 @@ use std::convert::TryInto; use std::fmt; use std::sync::mpsc; use std::sync::mpsc::Receiver; +use std::path::Path; +use std::path::PathBuf; use std::thread as std_thread; use strum::{EnumCount, IntoEnumIterator}; use strum_macros::{EnumCount, EnumIter}; @@ -46,17 +48,17 @@ use strum_macros::{EnumCount, EnumIter}; /// other metadata (artist, genre...) pub struct Song { /// Song's provided file path - pub path: String, - /// Song's artist, read from the metadata (`""` if empty) - pub artist: String, - /// Song's title, read from the metadata (`""` if empty) - pub title: String, - /// Song's album name, read from the metadata (`""` if empty) - pub album: String, - /// Song's tracked number, read from the metadata (`""` if empty) - pub track_number: String, + pub path: PathBuf, + /// Song's artist, read from the metadata + pub artist: Option, + /// Song's title, read from the metadata + pub title: Option, + /// Song's album name, read from the metadata + pub album: Option, + /// Song's tracked number, read from the metadata + pub track_number: Option, /// Song's genre, read from the metadata (`""` if empty) - pub genre: String, + pub genre: Option, /// bliss analysis results pub analysis: Analysis, } @@ -66,9 +68,9 @@ pub struct Song { /// /// * Example: /// ```no_run -/// use bliss_audio::{AnalysisIndex, BlissError, Song}; +/// use bliss_audio::{AnalysisIndex, BlissResult, Song}; /// -/// fn main() -> Result<(), BlissError> { +/// fn main() -> BlissResult<()> { /// let song = Song::new("path/to/song")?; /// println!("{}", song.analysis[AnalysisIndex::Tempo]); /// Ok(()) @@ -217,8 +219,8 @@ impl Song { /// The error type returned should give a hint as to whether it was a /// decoding ([DecodingError](BlissError::DecodingError)) or an analysis /// ([AnalysisError](BlissError::AnalysisError)) error. - pub fn new(path: &str) -> Result { - let raw_song = Song::decode(&path)?; + pub fn new>(path: P) -> BlissResult { + let raw_song = Song::decode(path.as_ref())?; Ok(Song { path: raw_song.path, @@ -242,7 +244,7 @@ impl Song { * Useful in the rare cases where the full song is not * completely available. **/ - fn analyse(sample_array: Vec) -> Result { + fn analyse(sample_array: Vec) -> BlissResult { let largest_window = vec![ BPMDesc::WINDOW_SIZE, ChromaDesc::WINDOW_SIZE, @@ -259,7 +261,7 @@ impl Song { } thread::scope(|s| { - let child_tempo: thread::ScopedJoinHandle<'_, Result> = + let child_tempo: thread::ScopedJoinHandle<'_, BlissResult> = s.spawn(|_| { let mut tempo_desc = BPMDesc::new(SAMPLE_RATE)?; let windows = sample_array @@ -272,7 +274,7 @@ impl Song { Ok(tempo_desc.get_value()) }); - let child_chroma: thread::ScopedJoinHandle<'_, Result, BlissError>> = + let child_chroma: thread::ScopedJoinHandle<'_, BlissResult>> = s.spawn(|_| { let mut chroma_desc = ChromaDesc::new(SAMPLE_RATE, 12); chroma_desc.do_(&sample_array)?; @@ -282,7 +284,7 @@ impl Song { #[allow(clippy::type_complexity)] let child_timbral: thread::ScopedJoinHandle< '_, - Result<(Vec, Vec, Vec), BlissError>, + BlissResult<(Vec, Vec, Vec)>, > = s.spawn(|_| { let mut spectral_desc = SpectralDesc::new(SAMPLE_RATE)?; let windows = sample_array @@ -297,13 +299,13 @@ impl Song { Ok((centroid, rolloff, flatness)) }); - let child_zcr: thread::ScopedJoinHandle<'_, Result> = s.spawn(|_| { + let child_zcr: thread::ScopedJoinHandle<'_, BlissResult> = s.spawn(|_| { let mut zcr_desc = ZeroCrossingRateDesc::default(); zcr_desc.do_(&sample_array); Ok(zcr_desc.get_value()) }); - let child_loudness: thread::ScopedJoinHandle<'_, Result, BlissError>> = s + let child_loudness: thread::ScopedJoinHandle<'_, BlissResult>> = s .spawn(|_| { let mut loudness_desc = LoudnessDesc::default(); let windows = sample_array.chunks(LoudnessDesc::WINDOW_SIZE); @@ -339,12 +341,12 @@ impl Song { .unwrap() } - pub(crate) fn decode(path: &str) -> Result { + pub(crate) fn decode(path: &Path) -> BlissResult { ffmpeg::init() .map_err(|e| BlissError::DecodingError(format!("ffmpeg init error: {:?}.", e)))?; log::set_level(Level::Quiet); let mut song = InternalSong { - path: path.to_string(), + path: path.into(), ..Default::default() }; let mut format = ffmpeg::format::input(&path) @@ -378,19 +380,35 @@ impl Song { }; let sample_array: Vec = Vec::with_capacity(expected_sample_number as usize); if let Some(title) = format.metadata().get("title") { - song.title = title.to_string(); + song.title = match title { + "" => None, + t => Some(t.to_string()), + }; }; if let Some(artist) = format.metadata().get("artist") { - song.artist = artist.to_string(); + song.artist = match artist { + "" => None, + a => Some(a.to_string()), + }; + }; if let Some(album) = format.metadata().get("album") { - song.album = album.to_string(); + song.album = match album { + "" => None, + a => Some(a.to_string()), + }; }; if let Some(genre) = format.metadata().get("genre") { - song.genre = genre.to_string(); + song.genre = match genre { + "" => None, + g => Some(g.to_string()), + }; }; if let Some(track_number) = format.metadata().get("track") { - song.track_number = track_number.to_string(); + song.track_number = match track_number { + "" => None, + t => Some(t.to_string()), + }; }; let in_channel_layout = { if codec.channel_layout() == ChannelLayout::empty() { @@ -494,12 +512,12 @@ impl Song { #[derive(Default, Debug)] pub(crate) struct InternalSong { - pub path: String, - pub artist: String, - pub title: String, - pub album: String, - pub track_number: String, - pub genre: String, + pub path: PathBuf, + pub artist: Option, + pub title: Option, + pub album: Option, + pub track_number: Option, + pub genre: Option, pub sample_array: Vec, } @@ -507,7 +525,7 @@ fn resample_frame( rx: Receiver