Skip to content

Repository files navigation

LastWave Desktop (Tauri 2 rebuild)

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-Desktop and is never touched by this rebuild.

Quick start

npm install
npm run tauri dev      # full desktop app (requires Rust stable)
# or frontend-only iteration:
npm run dev

Copy .env.example to .env for optional lossless backend keys.

Layout

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/

Priorities

PERFORMANCE > STABILITY > AUDIO RELIABILITY > UI/UX > ANIMATION > FEATURE COUNT.

CI & releases (GitHub-hosted)

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=. --push

Cut 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.0

No secrets are needed for CI. Cargo.lock and package-lock.json are committed so every build is reproducible.

About

High-Resolution Lossless Desktop Music Player for Windows, Linux & macOS

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages