aboutsummaryrefslogtreecommitdiffstats
path: root/Cargo.toml
diff options
context:
space:
mode:
authorsalmonik <raisersoft@proton.me>2026-05-16 11:43:32 +0200
committersalmonik <raisersoft@proton.me>2026-05-16 11:43:32 +0200
commit04add15691578316ff3da5b5a07d05b314488370 (patch)
tree458b1066001697faa75466d51c7dfd9008ccac16 /Cargo.toml
parentaesthetic changes (diff)
downloadrsplayer-04add15691578316ff3da5b5a07d05b314488370.tar.gz
rsplayer-04add15691578316ff3da5b5a07d05b314488370.zip
Add scrobbling support (Last.fm + ListenBrainz) and rsp settings reload
- Full Last.fm API implementation with MD5 signing (track.updateNowPlaying, track.scrobble) - Full ListenBrainz API implementation (/1/submit-listens for playing_now and single) - ScrobbleState in daemon tracking track, start time, and unix timestamp per play - Scrobble threshold: ≥30s play AND (≥half duration OR ≥4 min) - Duration extraction from symphonia codec params into AudioMetadata and Track - Token validation at daemon startup and on config change - ListenBrainz token valid (user: Salmonium) command to re-read config from disk (avoids token in shell history) - Desktop notifications for token validation results - Empty-credential filtering (empty string = no-op)
Diffstat (limited to 'Cargo.toml')
-rw-r--r--Cargo.toml6
1 files changed, 4 insertions, 2 deletions
diff --git a/Cargo.toml b/Cargo.toml
index afcc9cf..270ea7d 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,6 +1,6 @@
1[package] 1[package]
2name = "rsp" 2name = "rsp"
3version = "0.5.0" 3version = "0.8.0"
4edition = "2024" 4edition = "2024"
5description = "Rust music player daemon with Unix socket IPC" 5description = "Rust music player daemon with Unix socket IPC"
6license = "GPL-3.0 or later" 6license = "GPL-3.0 or later"
@@ -23,7 +23,7 @@ directories = "6.0"
23serde = { version = "1.0.228", features = ["derive"] } 23serde = { version = "1.0.228", features = ["derive"] }
24toml = "1.1.2" 24toml = "1.1.2"
25tokio = { version = "1.52.2", features = ["full"] } 25tokio = { version = "1.52.2", features = ["full"] }
26reqwest = { version = "0.13.3", features = ["json"] } 26reqwest = { version = "0.13.3", features = ["json", "form", "blocking"] }
27symphonia = { version = "0.5.5", features = ["all"] } 27symphonia = { version = "0.5.5", features = ["all"] }
28cpal = "0.17.3" 28cpal = "0.17.3"
29chrono = "0.4.44" 29chrono = "0.4.44"
@@ -34,6 +34,8 @@ ctrlc = "3.5.2"
34rand = "0.10.1" 34rand = "0.10.1"
35notify-rust = "4.17.0" 35notify-rust = "4.17.0"
36terminal_size = "0.4.4" 36terminal_size = "0.4.4"
37md-5 = "0.11.0"
38hex = "0.4.3"
37 39
38[dev-dependencies] 40[dev-dependencies]
39tempfile = "3.17" 41tempfile = "3.17"