aboutsummaryrefslogtreecommitdiffstats
path: root/src/queue.rs
diff options
context:
space:
mode:
authorsalmonik <raisersoft@proton.me>2026-06-06 19:48:22 +0300
committersalmonik <raisersoft@proton.me>2026-06-06 19:48:22 +0300
commitd347d89dfeef54d648ffdea054897617c0016509 (patch)
tree0ea0e25e2a8e9bcdd8c06ffadbe29721a7f07f77 /src/queue.rs
parentdirty, broken commit (diff)
downloadrsplayer-d347d89dfeef54d648ffdea054897617c0016509.tar.gz
rsplayer-d347d89dfeef54d648ffdea054897617c0016509.zip
correctly working auto completion for db
Diffstat (limited to '')
-rw-r--r--src/queue.rs14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/queue.rs b/src/queue.rs
index 3c1c6fa..7675ddd 100644
--- a/src/queue.rs
+++ b/src/queue.rs
@@ -21,6 +21,7 @@ pub struct AudioMetadata {
21 pub title: Option<String>, 21 pub title: Option<String>,
22 pub artist: Option<String>, 22 pub artist: Option<String>,
23 pub album: Option<String>, 23 pub album: Option<String>,
24 pub track_number: Option<i32>,
24 pub duration_secs: Option<f64>, 25 pub duration_secs: Option<f64>,
25} 26}
26 27
@@ -64,16 +65,27 @@ pub fn extract_metadata(path: &Path) -> Option<AudioMetadata> {
64 Some(StandardTag::Artist(value)) => { 65 Some(StandardTag::Artist(value)) => {
65 metadata.artist = Some(value.to_string()); 66 metadata.artist = Some(value.to_string());
66 } 67 }
68 Some(StandardTag::AlbumArtist(value)) => {
69 metadata.artist = Some(value.to_string());
70 }
67 Some(StandardTag::Album(value)) => { 71 Some(StandardTag::Album(value)) => {
68 metadata.album = Some(value.to_string()); 72 metadata.album = Some(value.to_string());
69 } 73 }
74 Some(StandardTag::TrackNumber(value)) => {
75 metadata.track_number = value.to_string().parse().ok();
76 }
70 _ => {} 77 _ => {}
71 } 78 }
72 } 79 }
73 } 80 }
74 } 81 }
75 82
76 if metadata.title.is_some() || metadata.artist.is_some() || metadata.album.is_some() { 83 if metadata.title.is_some()
84 || metadata.artist.is_some()
85 || metadata.album.is_some()
86 || metadata.track_number.is_some()
87 || metadata.duration_secs.is_some()
88 {
77 Some(metadata) 89 Some(metadata)
78 } else { 90 } else {
79 None 91 None