mirror of
https://github.com/kilyabin/psysonic.git
synced 2026-07-21 22:15:40 +00:00
c17fc0f6ac
Consolidates everything since v1.40.0 (public) into one coherent release. v1.41.0 remains as an internal Draft on GitHub that was used to verify the Cachix substituter pipeline and never went public — this release folds its intended contents in and adds the mini-player feature work, the player-bar time toggle (kveld9), the ReplayGain expand badge and related UX polish on top. 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.42.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" }
|