Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
playr
A local music player for active listeners, with a sampler, a tape looper and two DJ decks. It plays from a directory, your library, a saved playlist or search results, and by design contacts no service or cloud.
When you download playr, you get three implementations: playr, a terminal app, playr-gui, a desktop gui app, and playr-server, a server for a machine without a screen, controlled from a web page or Open Sound Control (OSC).
None of the three contact external services or download any metadata and images. Indeed, playr and playr-gui have no network code at all. playr-server runs on your local network and communicates only with the browsers and OSC apps you connect to it.

Features
- Plays files, directories, playlists and searches, gapless where tracks share a sample rate, with a crossfade between any two if asked
- A library with search, saved searches, SQL, marks, analysis of loudness, tempo and file health, and ReplayGain
- A sampler: zoom to single frames, set ranges, and slice by marks, beats or onsets into WAV kits for hardware samplers
- A four-voice tape looper and two DJ decks with beat grids and a mixer
- Three programs over one core: a terminal app, a desktop window, and a server driven from a web page or OSC
docs/manual.md describes all of it.
Install
Release archives
Each GitHub release has prebuilt archives, with Opus, for:
-
Linux: x86_64 and arm64, glibc 2.35 or later
-
macOS: arm64 and x86_64, 11.0 or later
-
Windows: x86_64
Each archive holds the three programs, with SHA256SUMS in the release for checking them, and the release has a TouchOSC layout for playr-server. Put playr and playr-server on your PATH; the window needs one more step on macOS and Linux:
-
macOS: the window is
playr.app; move it toApplications. It is not signed or notarized, so macOS refuses to open it once downloaded with a browser; allow it under System Settings, Privacy & Security, or runxattr -dr com.apple.quarantine playr.app. -
Linux: copy
playr-guionto yourPATH,playr.desktopto~/.local/share/applications, andplayr.pngto~/.local/share/icons/hicolor/256x256/apps, and playr is listed among your applications. -
Windows: run
playr-gui.exe; it opens without a console window.
The macOS and Linux archives also hold playr.1, the man page, and completions for bash, zsh and fish under completions/. playr --man and playr --completions SHELL print the same for any build, so after cargo install:
From a clone
make install builds playr, playr-gui and playr-server as they ship, with the dist profile, and copies them to ~/.local/bin. On macOS it also puts playr.app in ~/Applications; on Linux it adds playr.desktop and its icon under ~/.local/share. make install-dev does the same with a debug build, stripped, quicker to build and slower to run.
With cargo
playr-gui and playr-server are not on crates.io yet. cargo install builds only the program, without the macOS bundle or the Linux desktop entry. Each builds with Opus, so it needs cmake; see "Opus".
Building
Building needs Rust 1.89+ and a C compiler; the window, playr-gui, needs Rust 1.95+, as egui does. SQLite is vendored and compiled from source, which is what the C compiler is for; no SQLite package has to be installed. On Linux it also needs the ALSA headers, and the window needs the X11 and Wayland development headers. On Debian and Ubuntu:
Opus
Opus is on by default. It needs libopus, which is vendored and built with cmake -- the only part of playr that needs it. To build without it, and without cmake:
Without it, Opus files are reported as undecodable and skipped, the same as WMA or DSD. playr formats says which build you have.
First session
In the library view, j and k move, enter plays from the row, and / searches as you type. space pauses, n and p skip, and - and = change the volume. a adds a row to the selection, which s saves as a playlist. b marks a moment, and 5 opens the sampler on the playing track. q quits. playr-gui opens the same library in a window.
Documentation
- docs/manual.md: every feature, key, command and setting
- docs/cheatsheet.md: every command on one page
- Guides: library, sampler, tape, DJ, server
- CHANGELOG.md and TODO.md
License
MIT. See LICENSE.