64 lines
2.1 KiB
TOML
64 lines
2.1 KiB
TOML
[workspace]
|
|
resolver = "2"
|
|
members = [
|
|
"crates/riptune-core",
|
|
"crates/riptune-cache",
|
|
"crates/riptune-mpris",
|
|
"crates/riptune-niri",
|
|
"crates/riptune-tui",
|
|
"crates/riptune-types",
|
|
]
|
|
|
|
[workspace.package]
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
license = "GPL-3.0"
|
|
repository = "https://github.com/Quinta0/riptune"
|
|
authors = ["Quintavalle Pietro"]
|
|
|
|
|
|
[workspace.dependencies]
|
|
tokio = { version = "1", features = ["full"] }
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
reqwest = { version = "0.12", default-features = false, features = ["json", "stream", "rustls-tls"] }
|
|
anyhow = "1"
|
|
thiserror = "1"
|
|
tracing = "0.1"
|
|
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
|
|
|
[package]
|
|
name = "riptune"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
description = "A niri-native TUI music client for Subsonic servers. Rip and tune."
|
|
|
|
[[bin]]
|
|
name = "riptune"
|
|
path = "src/main.rs"
|
|
|
|
[dependencies]
|
|
riptune-core = { path = "crates/riptune-core" }
|
|
riptune-cache = { path = "crates/riptune-cache" }
|
|
riptune-mpris = { path = "crates/riptune-mpris" }
|
|
riptune-niri = { path = "crates/riptune-niri" }
|
|
riptune-tui = { path = "crates/riptune-tui" }
|
|
riptune-types = { path = "crates/riptune-types" }
|
|
tokio = { workspace = true }
|
|
anyhow = { workspace = true }
|
|
tracing = { workspace = true }
|
|
tracing-subscriber = { workspace = true }
|
|
serde = { workspace = true }
|
|
toml = "0.8"
|
|
clap = { version = "4", features = ["derive"] }
|
|
# Pinned exactly: rodio 0.21 reworked the OutputStream/Sink API around a new
|
|
# Mixer type (Sink::try_new -> Sink::connect_new, etc). Pinning avoids that
|
|
# rewrite landing under us; bump deliberately and update audio.rs to match.
|
|
rodio = { version = "=0.20.1", features = ["symphonia-all"] }
|
|
# "blocking" is additive on top of the workspace-defined reqwest (which has
|
|
# default-features = false + rustls-tls). Used only by the audio thread's
|
|
# synchronous fetch -- see the comment in src/audio.rs for why blocking is
|
|
# actually the right call there, not a shortcut.
|
|
reqwest = { workspace = true, features = ["blocking"] }
|