mirror of
https://github.com/kilyabin/psysonic.git
synced 2026-07-22 14:35:41 +00:00
57b70e6154
Themes: - Add Neon Drift (midnight blue / electric cyan synthwave) - Add Cupertino Light + Cupertino Dark (macOS Ventura-inspired, frosted glass) - Add Betriebssysteme group (Cupertino, Aero Glass, Luna Teal) - Rename all trademarked theme IDs to original names (WnAmp, Navy Jukebox, Cobalt Media, Onyx Cinema, Aero Glass, Luna Teal) - Reorder ThemePicker: Psysonic Themes first, then Mediaplayer, Betriebssysteme Keybindings: - New keybindingsStore with 10 bindable actions (play/pause, next, prev, volume, seek ±10s, queue, fullscreen, native fullscreen) - Settings UI for rebinding; defaults: Space=play-pause, F11=native-fullscreen Font picker: - New fontStore; 10 UI fonts selectable in Settings → Appearance - Applied via data-font attribute on <html> Home page: - AlbumCard: Details button → Play button via playAlbum() utility - Hero: Play Album starts playback with 700ms fade-out instead of navigating - playAlbum.ts: fade, store-only volume restore, playTrack handoff Now Playing: - 3-column hero layout; EQ bars truly centred (flex:1 on both outer columns) - Background brightness 0.25→0.55, overlay 0.55→0.38 (art now visible) - Better text contrast for track times, card links, section titles Linux audio: - Set PIPEWIRE_LATENCY + PULSE_LATENCY_MSEC before stream creation to reduce ALSA snd_pcm_recover underrun frequency on PipeWire Remove butterchurn visualizer (VisualizerCanvas, butterchurn.d.ts) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
66 lines
1.8 KiB
Bash
66 lines
1.8 KiB
Bash
# Maintainer: stelle <stelle@psychotoxical.dev>
|
|
pkgname=psysonic
|
|
pkgver=1.9.0
|
|
pkgrel=1
|
|
pkgdesc="Desktop music player for Subsonic API-compatible servers (Navidrome, Gonic, etc.)"
|
|
arch=('x86_64')
|
|
url="https://github.com/Psychotoxical/psysonic"
|
|
license=('GPL-3.0-only')
|
|
depends=(
|
|
'webkit2gtk-4.1'
|
|
'gtk3'
|
|
'libayatana-appindicator'
|
|
'openssl'
|
|
'alsa-lib'
|
|
)
|
|
makedepends=(
|
|
'npm'
|
|
'rust'
|
|
'cargo'
|
|
)
|
|
source=("$pkgname-$pkgver.tar.gz::https://github.com/Psychotoxical/psysonic/archive/refs/tags/v$pkgver.tar.gz")
|
|
sha256sums=('SKIP')
|
|
|
|
build() {
|
|
cd "psysonic-$pkgver"
|
|
|
|
export CARGO_HOME="$srcdir/cargo-home"
|
|
export npm_config_cache="$srcdir/npm-cache"
|
|
|
|
npm install
|
|
npm run tauri:build -- --no-bundle
|
|
}
|
|
|
|
package() {
|
|
cd "psysonic-$pkgver"
|
|
|
|
# Binary (in /usr/lib to make room for the wrapper)
|
|
install -Dm755 "src-tauri/target/release/psysonic" "$pkgdir/usr/lib/psysonic/psysonic"
|
|
|
|
# Wrapper script that sets necessary env vars for WebKitGTK on Wayland
|
|
install -Dm755 /dev/stdin "$pkgdir/usr/bin/psysonic" <<EOF
|
|
#!/bin/sh
|
|
export GDK_BACKEND=x11
|
|
export WEBKIT_DISABLE_COMPOSITING_MODE=1
|
|
export WEBKIT_DISABLE_DMABUF_RENDERER=1
|
|
exec /usr/lib/psysonic/psysonic "\$@"
|
|
EOF
|
|
|
|
# Desktop entry
|
|
install -Dm644 /dev/stdin "$pkgdir/usr/share/applications/psysonic.desktop" <<EOF
|
|
[Desktop Entry]
|
|
Name=Psysonic
|
|
Comment=Desktop music player for Subsonic API-compatible servers
|
|
Exec=psysonic
|
|
Icon=psysonic
|
|
Terminal=false
|
|
Type=Application
|
|
Categories=AudioVideo;Audio;Music;Player;
|
|
EOF
|
|
|
|
# Icons
|
|
install -Dm644 "src-tauri/icons/32x32.png" "$pkgdir/usr/share/icons/hicolor/32x32/apps/psysonic.png"
|
|
install -Dm644 "src-tauri/icons/128x128.png" "$pkgdir/usr/share/icons/hicolor/128x128/apps/psysonic.png"
|
|
install -Dm644 "src-tauri/icons/128x128@2x.png" "$pkgdir/usr/share/icons/hicolor/256x256/apps/psysonic.png"
|
|
}
|