From e6e9b63f9cb7576c74680b919dff7e83dfde5852 Mon Sep 17 00:00:00 2001 From: salmonik Date: Wed, 27 May 2026 20:52:27 +0200 Subject: fix no metadata songs handling format string is no longer used to represent songs that have insufficient metadata to fullfill the format string --- src/queue.rs | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src') diff --git a/src/queue.rs b/src/queue.rs index 1742a00..3c1c6fa 100644 --- a/src/queue.rs +++ b/src/queue.rs @@ -155,6 +155,17 @@ impl Track { } pub fn format(&self, format_str: &str) -> String { + let has_metadata = self.artist.as_ref().is_some_and(|a| !a.is_empty()) + || self.album.as_ref().is_some_and(|a| !a.is_empty()); + if !has_metadata { + return self.title.clone().unwrap_or_else(|| { + self.path + .file_name() + .and_then(|n| n.to_str()) + .unwrap_or("Unknown") + .to_string() + }); + } let artist = self.artist.clone().unwrap_or_default(); let album = self.album.clone().unwrap_or_default(); let title = self.title.clone().unwrap_or_else(|| { -- cgit v1.2.3