Psychotoxical
44287a7ceb
feat(audio): bit-perfect hi-res playback + underrun hardening (opt-in alpha)
...
Safe mode (default): all audio outputs at 44.1 kHz, rodio resamples
internally. Maximum stability out of the box.
Hi-Res mode (alpha toggle): stream opens at the file's native sample rate
(e.g. 88.2/96/192 kHz) for bit-perfect output.
Rust (audio.rs):
- open_stream_for_rate(): CPAL queries device supported configs, finds
exact rate match or falls back to highest available / device default.
- create_engine() thread: ThreadPriority::Max (silently ignored without
CAP_SYS_NICE), loop handles rate-switch requests, PIPEWIRE_LATENCY
scales with rate (8192 frames for >48 kHz ≈ 93 ms quantum), keeps
PULSE_LATENCY_MSEC in sync.
- audio_play(): hi_res_enabled param gates effective_rate (44100 vs
native); stream re-opens only when needed; 150 ms PipeWire settle +
500 ms sink pre-fill (pause→append→sleep→play) for hi-res tracks.
- audio_chain_preload(): hi_res_enabled param; rate-mismatch bail skipped
in safe mode so gapless chains always work at 44.1 kHz.
- SizedDecoder MSS buffer: 4 MB (was 512 KB) to reduce Symphonia read
overhead on high-bitrate hi-res files.
- thread-priority crate added to Cargo.toml.
Frontend:
- authStore: enableHiRes (bool, default false) + setEnableHiRes.
- playerStore: hiResEnabled passed to all audio_play /
audio_chain_preload invoke calls.
- Settings → Audio tab: "Native Hi-Res Playback" toggle with Alpha
badge and stability warning, i18n for all 7 languages.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-07 12:20:07 +02:00
cucadmuh
0f3033d84e
feat: add hot playback cache (queue prefetch, alpha)
...
Ephemeral on-disk cache for upcoming queue tracks. Adds Rust commands (download/delete/purge), hotCacheStore with LRU eviction, serial prefetch worker, playback gate, and Settings UI. Disabled by default.
- fix: boundary check before file delete in delete_hot_cache_track
- fix: remove stale languageRu2 key from ru.ts
- fix: restore accidentally removed lyricsServerFirst/fsLyricsToggle/lyricsSource* strings in ru.ts
2026-04-07 10:52:26 +02:00
Psychotoxical
4ef21d6d78
i18n(ru): apply translation improvements from PR #120
...
Manually merged kilyabin's Russian locale improvements (more natural phrasing
throughout) while preserving keys added after #120 was opened: fsLyricsToggle,
lyricsServerFirst/Desc, lyricsSourceServer/Lrclib.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-06 22:46:41 +02:00
cucadmuh
6226383762
i18n(ru): refine Russian locale using phrasing from ru2
...
Co-authored-by: Psychotoxical <dev@psysonic.app >
2026-04-06 19:13:47 +02:00
Psychotoxical
50ac1b8284
feat: v1.34.0 — Mobile UI Early Preview, Russian 2, macOS network fix
...
Co-authored-by: kilyabin <kilyabin@users.noreply.github.com >
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-06 12:46:13 +02:00
Maxim Isaev
83c36de091
feat(i18n): Russian locale and translations in src/locales
...
- Add Russian UI strings with idiomatic phrasing and plural forms
- Split en/de/fr/nl/zh/nb strings into src/locales/*.ts for maintainability
- Register ru in i18n and Settings language picker
- Add languageRu to all locales; extend English help (supported languages)
Made-with: Cursor
2026-04-06 11:08:40 +03:00