A ridiculously fast, premium native-feeling desktop music player built specifically for Windows, Linux and macOS — not a port of a mobile UI.
- Shell: Tauri 2 + Rust backend + React + Vite + TypeScript + Zustand
- Audio: Rust-side playback engine (Rodio/Symphonia output, FFmpeg-compatible stream resolution). The UI reflects engine state via events; it never drives audio through fragile frontend state.
- Reference: behaviour, APIs and music logic are reimplemented from the LastWave desktop/Android lineage (Last.fm, InnerTube/YouTube Music, ClashFLAC lossless with verified title/artist/duration matching, LyricsPlus/BetterLyrics/ Kugou/LRCLIB lyric cascade, taste-mix recommendation engine). No blind ports — everything is reimplemented cleanly for this architecture.
The original project lives in
../LastWave-Desktopand is never touched by this rebuild.
npm install
npm run tauri dev # full desktop app (requires Rust stable)
# or frontend-only iteration:
npm run devCopy .env.example to .env for optional lossless backend keys.
src-tauri/ audio/ api/ downloads/ cache/ database/ filesystem/
metadata/ lyrics/ recommendations/ commands/ state/ errors/
src/ components/ features/ pages/ layouts/ hooks/
stores/ services/ animations/ styles/ types/ utils/
PERFORMANCE > STABILITY > AUDIO RELIABILITY > UI/UX > ANIMATION > FEATURE COUNT.
Push this folder as its own repo. CI runs typecheck + frontend build and
cargo fmt --check / cargo check / cargo test with cached npm + Rust
targets, so repeat runs only rebuild what changed.
git init && git add -A && git commit -m "LastWave Desktop (Tauri rebuild)"
gh repo create LastWave-Desktop-Tauri --private --source=. --pushCut a release — per-OS installers (.msi/.exe, .deb/.AppImage, .dmg)
are built on GitHub and attached to a draft release:
git tag v0.1.0 && git push origin v0.1.0No secrets are needed for CI. Cargo.lock and package-lock.json are
committed so every build is reproducible.