Building from source
Prerequisites
Section titled “Prerequisites”- macOS 13 Ventura or later
- Homebrew ↗
- Node.js ↗ 18 or later
- Rust ↗ (stable toolchain)
- mpv via Homebrew
brew install mpvClone the repository
Section titled “Clone the repository”git clone https://github.com/drelich/needle-music-player.gitcd needle-music-playerInstall dependencies
Section titled “Install dependencies”npm installRun in development
Section titled “Run in development”npm run tauri devThis starts the Vite dev server and launches the Tauri app in development mode with hot reload.
Build a release
Section titled “Build a release”npm run tauri buildThe .dmg will be output to src-tauri/target/release/bundle/dmg/.
Data locations
Section titled “Data locations”Needle stores its database and mpv socket in the OS app-data directory for the bundle ID com.davidrelich.needle:
| File | Purpose |
|---|---|
library.sqlite | Library, play history, playlists, metadata cache |
mpv.sock | Unix socket for mpv IPC communication |
Maintenance and folder-removal actions only touch the database — your audio files are never modified or deleted.