mirror of
https://github.com/Psychotoxical/psysonic.git
synced 2026-07-21 23:05:46 +00:00
ab35ef5eb4
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
89 lines
3.1 KiB
TOML
89 lines
3.1 KiB
TOML
[package]
|
||
name = "psysonic"
|
||
version = "1.41.0"
|
||
description = "Psysonic Desktop Music Player"
|
||
authors = []
|
||
license = ""
|
||
repository = ""
|
||
default-run = "psysonic"
|
||
edition = "2021"
|
||
rust-version = "1.89"
|
||
|
||
[lib]
|
||
name = "psysonic_lib"
|
||
crate-type = ["staticlib", "cdylib", "rlib"]
|
||
|
||
[[bin]]
|
||
name = "psysonic"
|
||
path = "src/main.rs"
|
||
|
||
[build-dependencies]
|
||
tauri-build = { version = "2", features = [] }
|
||
|
||
[dependencies]
|
||
tauri = { version = "2", features = ["tray-icon", "image-png"] }
|
||
tauri-plugin-single-instance = "2"
|
||
tauri-plugin-shell = "2"
|
||
tauri-plugin-global-shortcut = "2"
|
||
tauri-plugin-store = "2"
|
||
tauri-plugin-dialog = "2"
|
||
tauri-plugin-fs = "2"
|
||
serde = { version = "1", features = ["derive"] }
|
||
serde_json = "1"
|
||
rodio = { version = "0.19", default-features = false, features = ["symphonia-all"] }
|
||
symphonia = { version = "0.5", default-features = false, features = ["flac", "mp3", "pcm", "aac", "alac", "isomp4", "vorbis", "ogg", "wav", "adpcm"] }
|
||
reqwest = { version = "0.12", default-features = false, features = ["stream", "json", "multipart", "rustls-tls", "rustls-tls-native-roots", "blocking"] }
|
||
futures-util = "0.3"
|
||
md5 = "0.7"
|
||
tokio = { version = "1", features = ["rt", "time", "sync"] }
|
||
biquad = "0.4"
|
||
ringbuf = "0.3"
|
||
tauri-plugin-window-state = "2.4.1"
|
||
tauri-plugin-process = "2"
|
||
tauri-plugin-updater = "2"
|
||
souvlaki = { version = "0.8", default-features = false, features = ["use_zbus"] }
|
||
discord-rich-presence = "0.2"
|
||
url = "2"
|
||
thread-priority = "1"
|
||
lofty = "0.22"
|
||
sysinfo = { version = "0.33", default-features = false, features = ["disk"] }
|
||
id3 = "1.16.4"
|
||
symphonia-adapter-libopus = "0.2.7"
|
||
|
||
[target.'cfg(unix)'.dependencies]
|
||
libc = "0.2"
|
||
|
||
[target.'cfg(target_os = "linux")'.dependencies]
|
||
zbus = { version = "5.9", default-features = false, features = ["blocking-api"] }
|
||
# Match wry/tauri’s WebKitGTK stack — used only to turn off kinetic wheel scrolling.
|
||
webkit2gtk = { version = "2.0", default-features = false, features = ["v2_40"] }
|
||
|
||
[target.'cfg(windows)'.dependencies]
|
||
windows = { version = "0.58", features = [
|
||
"Win32_Foundation",
|
||
"Win32_Graphics",
|
||
"Win32_Graphics_Gdi",
|
||
"Win32_System_Com",
|
||
"Win32_UI_Controls",
|
||
"Win32_UI_Shell",
|
||
"Win32_UI_WindowsAndMessaging",
|
||
] }
|
||
|
||
[patch.crates-io]
|
||
# Local patch for Symphonia's isomp4 demuxer:
|
||
# - Fixes descriptor.unwrap() panic on malformed esds atoms (older iTunes M4A)
|
||
# - Tolerates SL predefined=0x01 (null) used by some older iTunes-purchased files
|
||
# - Gracefully skips malformed trak atoms (e.g. MJPEG cover-art streams) instead
|
||
# of failing the entire probe
|
||
symphonia-format-isomp4 = { path = "patches/symphonia-format-isomp4" }
|
||
|
||
# Local patch for cpal's CoreAudio backend on macOS:
|
||
# - Forces IOType::DefaultOutput for all output streams so that macOS never
|
||
# triggers the TCC microphone-permission prompt. Upstream cpal uses
|
||
# IOType::HalOutput when the user pins a non-default device, which routes
|
||
# through AUHAL — that component is flagged as input-capable and triggers
|
||
# the mic consent dialog on first launch / after each update.
|
||
# - Tradeoff: output-device selection is a no-op on macOS (stream follows
|
||
# system default). Surfaced in the Settings UI.
|
||
cpal = { path = "patches/cpal-0.15.3" }
|