Add shared playback memory profiles, bounded disk-backed playback and storage selection for desktop and daemon. Preserve gapless during streaming-only playback and provide explicit cache eviction with playback confirmation. Stop watcher read events and unchanged scans from rebuilding the local catalog. Restore playlist/sidebar updates, folder availability feedback and player layout. Add appearance presets and a radio-based cache settings panel with translated trade-offs, plus consistent clipboard menus across visible Qt text editors. Validate with Rust regressions, QML interaction tests, isolated release startup and idle-library checks; extend the shared local and CI gates. cx
45 lines
947 B
TOML
45 lines
947 B
TOML
[package]
|
|
name = "qbz-player"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
description = "Playback engine and queue management for QBZ"
|
|
|
|
[dependencies]
|
|
qbz-models = { path = "../qbz-models" }
|
|
qbz-audio = { path = "../qbz-audio" }
|
|
qbz-qobuz = { path = "../qbz-qobuz" }
|
|
qbz-cmaf = { path = "../qbz-cmaf" }
|
|
qbz-dsd = { path = "../qbz-dsd" }
|
|
qbz-cache = { path = "../qbz-cache" }
|
|
|
|
# Serialization
|
|
serde = { workspace = true }
|
|
|
|
# Async
|
|
tokio = { workspace = true }
|
|
async-trait = { workspace = true }
|
|
futures-util = { workspace = true }
|
|
tokio-stream = { workspace = true }
|
|
|
|
# Logging
|
|
log = { workspace = true }
|
|
|
|
# Error handling
|
|
thiserror = { workspace = true }
|
|
|
|
# Random (for shuffle)
|
|
rand = "0.10"
|
|
|
|
# Audio decoding
|
|
symphonia = { workspace = true }
|
|
|
|
# Audio playback
|
|
rodio = { version = "0.22", features = ["symphonia-all"] }
|
|
|
|
# HTTP client for streaming
|
|
reqwest = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
tempfile = "3"
|