[package] name = "app" version.workspace = true description = "SoulStream — music player, downloader and streamer for the Soulseek network" authors.workspace = true edition.workspace = true rust-version.workspace = true [lib] name = "app_lib" crate-type = ["staticlib", "cdylib", "rlib"] [build-dependencies] tauri-build = { version = "2", features = [] } [dev-dependencies] # Import-apply tests build a whole source/pen/library bed on disk; already in # the lock file via the dependency tree, so this adds no download. tempfile = "3" [dependencies] tauri = { version = "2", features = [] } tauri-plugin-log = "2" tauri-plugin-dialog = "2" serde.workspace = true serde_json.workspace = true log.workspace = true image.workspace = true tokio.workspace = true base64 = "0.22" # Shazam signature packets (shazam.rs) carry a CRC-32 of their body. crc32fast = "1" # Inflate for the deno release zip (ytdlp.rs) — already in the lock via the # image stack, so this adds no download. flate2 = "1" # STFT/iSTFT for the vocal separator (vocal_sep.rs) — pure Rust, so the # no-child-processes charter holds; wraps rustfft with real transforms. realfft = "3" # XSPF playlist import (playlist_formats.rs). quick-xml never resolves DTDs # or external entities, which is exactly the safety posture the importer wants. quick-xml = "0.37" # LRCLIB lyrics client (lyrics.rs). Already in the tree via the metadata crate. reqwest = { version = "0.12", features = ["json"] } keyring = { version = "3", features = ["windows-native"] } sysinfo = "0.33" soulseek-proto = { path = "../crates/soulseek-proto" } soulseek-client = { path = "../crates/soulseek-client" } player = { path = "../crates/player" } tagger = { path = "../crates/tagger" } metadata = { path = "../crates/metadata" } library = { path = "../crates/library" } audio-formats = { path = "../crates/audio-formats" } [target.'cfg(windows)'.dependencies] windows = { version = "0.61.3", features = [ "AI_MachineLearning", "Foundation_Collections", "Globalization", "Graphics_Imaging", # SystemMediaTransportControls — the OS media card (see src/smtc.rs). "Media", "Media_FaceAnalysis", "Media_Ocr", "Storage_Streams", "Win32_Foundation", # Taskbar thumbnail toolbar — ITaskbarList3 + the window subclass that # hears its clicks, and the GDI/registry bits that draw its icons. "Win32_Graphics_Gdi", "Win32_System_Com", "Win32_System_Registry", "Win32_UI_Shell", "Win32_UI_WindowsAndMessaging", "Win32_System_Performance", "Win32_System_ProcessStatus", "Win32_System_Threading", "Win32_System_WinRT", ] }