libminau 0.1.0

A library version of Minau, a music player built directly on top of Symphonia and CPAL.
Documentation
use crate::player::metadata::MetaData;

pub fn display_info(filename: &str, metadata: &MetaData) {
    println!("{}", string_info(filename, metadata));
}

pub fn string_info(filename: &str, metadata: &MetaData) -> String {
    let parts: Vec<String> = vec![
        metadata.album().map(|a| format!("[{}] ", a)),
        metadata.artist().map(|a| format!("{} - ", a)),
        metadata.title().map(|t| t.to_string()),
    ]
    .into_iter()
    .map(|f| f.unwrap_or(String::new()).to_string())
    .collect();

    if parts.is_empty() || metadata.title().is_none() {
        filename.to_string()
    } else {
        parts.concat().to_string()
    }
}