mirror of
https://github.com/Psychotoxical/psysonic.git
synced 2026-07-22 07:15:47 +00:00
744775d3a1
### Audio Engine - Replace Howler.js with native Rust/rodio backend (src-tauri/src/audio.rs) - audio_play/pause/resume/stop/seek/set_volume Tauri commands - Generation counter cancels stale in-flight downloads on skip - Wall-clock position tracking; audio:ended after 2 ticks near end ### Playback Persistence - Persist currentTrack, queue, queueIndex, currentTime to localStorage - Cold-start resume: play + seek to saved position on app restart - Position priority: server queue > localStorage ### Random Mix - Genre blacklist: excludeAudiobooks toggle + custom chip-based blacklist - Clickable genre chips in tracklist to blacklist on the fly - Super Genre Mix: 9 genres, progressive rendering, Load 10 more - Promise.allSettled + 45s timeout for large Metal/Rock libraries - Two-column filter panel at top of page ### Queue & UI - Shuffle button in queue header (Fisher-Yates, keeps current track at 0) - LiveSearch arrow key / Enter / Escape keyboard navigation - Multi-line tooltip support (data-tooltip-wrap attribute) - Update link uses Tauri shell open() to launch system browser - Sidebar min-width 180px → 200px (fixes Psysonic title clipping) - Tooltip z-index fix: main-content z-index:1 over queue panel Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
63 lines
1.6 KiB
JSON
63 lines
1.6 KiB
JSON
{
|
|
"$schema": "https://schema.tauri.app/config/2",
|
|
"productName": "Psysonic",
|
|
"version": "1.2.0",
|
|
"identifier": "dev.psysonic.app",
|
|
"build": {
|
|
"beforeDevCommand": "npm run dev",
|
|
"devUrl": "http://localhost:1420",
|
|
"beforeBuildCommand": "npm run build",
|
|
"frontendDist": "../dist"
|
|
},
|
|
"app": {
|
|
"withGlobalTauri": false,
|
|
"windows": [
|
|
{
|
|
"title": "Psysonic",
|
|
"width": 1280,
|
|
"height": 800,
|
|
"minWidth": 900,
|
|
"minHeight": 600,
|
|
"resizable": true,
|
|
"fullscreen": false,
|
|
"decorations": true,
|
|
"transparent": false,
|
|
"visible": true
|
|
}
|
|
],
|
|
"security": {
|
|
"csp": null
|
|
},
|
|
"trayIcon": {
|
|
"iconPath": "icons/icon.png",
|
|
"iconAsTemplate": false,
|
|
"title": "Psysonic",
|
|
"tooltip": "Psysonic"
|
|
}
|
|
},
|
|
"bundle": {
|
|
"active": true,
|
|
"targets": "all",
|
|
"icon": [
|
|
"icons/32x32.png",
|
|
"icons/128x128.png",
|
|
"icons/128x128@2x.png",
|
|
"icons/icon.icns",
|
|
"icons/icon.ico"
|
|
],
|
|
"category": "Music",
|
|
"shortDescription": "A sleek music player for Subsonic-compatible servers",
|
|
"longDescription": "Psysonic is a desktop music player for Subsonic-compatible servers such as Navidrome and Gonic. It features a modern Catppuccin-themed UI with glassmorphism effects, gapless playback, a fullscreen ambient player, play queue management with drag-and-drop, scrobbling support, and multi-server profiles.",
|
|
"linux": {
|
|
"appimage": {
|
|
"bundleMediaFramework": true
|
|
}
|
|
},
|
|
"windows": {
|
|
"wix": {
|
|
"upgradeCode": "e3b4c2a1-7f6d-4e8b-9c5a-2d1f0e3b8a7c"
|
|
}
|
|
}
|
|
}
|
|
}
|