2025-10-16 22:00:35 +02:00
|
|
|
[package]
|
|
|
|
|
name = "pmosource"
|
|
|
|
|
version = "0.1.0"
|
2026-04-05 14:06:32 +02:00
|
|
|
edition = "2024"
|
2025-10-16 22:00:35 +02:00
|
|
|
authors = ["PMOMusic Contributors"]
|
|
|
|
|
description = "Common traits and types for PMOMusic sources"
|
|
|
|
|
license = "MIT OR Apache-2.0"
|
|
|
|
|
repository = "https://github.com/yourusername/pmomusic"
|
|
|
|
|
keywords = ["music", "source", "streaming"]
|
|
|
|
|
categories = ["multimedia"]
|
|
|
|
|
|
|
|
|
|
[dependencies]
|
|
|
|
|
# Gestion des erreurs
|
2025-12-30 16:12:30 +01:00
|
|
|
thiserror = { workspace = true }
|
|
|
|
|
anyhow = { workspace = true }
|
2025-10-16 22:00:35 +02:00
|
|
|
|
2025-10-16 22:13:00 +02:00
|
|
|
# Async traits
|
2025-12-30 16:12:30 +01:00
|
|
|
async-trait = { workspace = true }
|
2025-10-16 22:13:00 +02:00
|
|
|
|
|
|
|
|
# Async runtime
|
2025-12-30 16:12:30 +01:00
|
|
|
tokio = { workspace = true, features = ["sync", "time"] }
|
2025-10-16 22:13:00 +02:00
|
|
|
|
|
|
|
|
# DIDL-Lite support
|
|
|
|
|
pmodidl = { path = "../pmodidl" }
|
|
|
|
|
|
|
|
|
|
# Playlist/FIFO support
|
|
|
|
|
pmoplaylist = { path = "../pmoplaylist" }
|
|
|
|
|
|
|
|
|
|
# Optional cache integrations
|
|
|
|
|
pmoaudiocache = { path = "../pmoaudiocache", optional = true }
|
|
|
|
|
pmocovers = { path = "../pmocovers", optional = true }
|
2025-12-15 15:05:35 +01:00
|
|
|
pmocache = { path = "../pmocache", optional = true }
|
2025-10-16 22:13:00 +02:00
|
|
|
|
2025-10-26 17:51:41 +01:00
|
|
|
# Serialization (required for cache metadata)
|
2025-12-30 16:12:30 +01:00
|
|
|
serde = { workspace = true }
|
|
|
|
|
serde_json = { workspace = true }
|
2025-10-26 17:51:41 +01:00
|
|
|
|
2025-10-17 12:45:18 +02:00
|
|
|
# Server extension (optional)
|
|
|
|
|
pmoserver = { path = "../pmoserver", optional = true }
|
|
|
|
|
pmoconfig = { path = "../pmoconfig", optional = true }
|
2025-10-18 09:58:39 +02:00
|
|
|
pmoupnp = { path = "../pmoupnp", optional = true }
|
2025-10-17 12:45:18 +02:00
|
|
|
|
|
|
|
|
# Web framework for API (optional)
|
|
|
|
|
axum = { version = "0.8", optional = true }
|
|
|
|
|
utoipa = { version = "5.3", optional = true }
|
|
|
|
|
tracing = { version = "0.1", optional = true }
|
|
|
|
|
lazy_static = { version = "1.4", optional = true }
|
2025-11-26 12:20:28 +01:00
|
|
|
tokio-stream = { version = "0.1", optional = true, features = ["time"] }
|
|
|
|
|
futures = { version = "0.3", optional = true }
|
2025-10-17 12:45:18 +02:00
|
|
|
|
2025-10-16 22:13:00 +02:00
|
|
|
[features]
|
|
|
|
|
default = ["cache"]
|
2025-12-15 15:05:35 +01:00
|
|
|
cache = ["pmoaudiocache", "pmocovers", "pmocache"]
|
2025-11-26 12:20:28 +01:00
|
|
|
server = ["pmoserver", "pmoconfig", "pmoupnp", "axum", "utoipa", "tracing", "lazy_static", "tokio-stream", "futures"]
|