MCPcopy Index your code
hub / github.com/SofusA/qobine

github.com/SofusA/qobine @v0.10.3-fix-5

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.10.3-fix-5 ↗ · + Follow
924 symbols 2,288 edges 90 files 19 documented · 2%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

qobuz-player

High resolution audio player backed by Qobuz

Powered by Qobuz. Requires a paid subscription. This does not allow you to listen for free.

This is a mono repo for multiple third party apps for Qobuz.

This includes a terminal app, a web server and web-ui, a RFID player, and a minimal Qobuz Connect player.

The web interface is ideal for a setup with a single board computer, e.g. Raspberry Pi, connected to the speaker system and controlled with a smartphone or tablet.

Terminal UI

TUI Screenshot

Keyboard Shortcuts

Press ? for an overview of all available keyboard shortcuts

Linux client

Web UI

RFID player

RFID player

Read more in the wiki

Player Features

  • High resolution audio: Supports up to 24bit/192Khz (max quality Qobuz offers)
  • MPRIS support (control via playerctl or other D-Bus client)
  • Gap-less playback
  • Web UI
  • Terminal UI
  • Experimental Qobuz Connect. Enabled with --connect flag

Installation

Fonts

The terminal ui needs a nerdfont to display icons for explicit and hi-resolution.

Download Release

Download the tar.gz file for your supported OS from the releases page, extract the file and execute qobuz-player or copy it to your $PATH.

Installation with cargo

Terminal app:

cargo install --git https://github.com/SofusA/qobuz-player --bin qobuz-player

Web server app:

cargo install --git https://github.com/SofusA/qobuz-player --bin qobuz-player-web

Installation from the aur (unofficial)

Users on arch-linux (based) systems can install it from the aur as qobuz-player (-git)

Nix

qobuz-player is available in 25.11 and later nixpkgs.

Build from source

Linux dependencies: alsa-sys-devel, just.

cargo build

Development

  1. Setup sqlx: just create-env-file. Only needed once.
  2. Init sqlite database: init-database.
  3. For webui development in qobuz-player-web:
  4. npm i. Install npm dependencies.
  5. npm run watch. Watch for style changes.

Get started

Install your favorites app.

Run qobuz-player --help or qobuz-player <subcommand> --help to see all available options.

Web UI

The player can start an embedded web interface. This is disabled by default and must be started with the --web argument. It also listens on 0.0.0.0:9888 by default. Change port with --port argument.

Go to http://localhost:9888 to view the UI.

Contribution

Feature requests, issues and contributions are very welcome.

Credits

Qobuz-player started as a fork of hifi.rs but has since diverged.

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Method 423
Function 282
Class 176
Enum 42
Interface 1

Languages

Rust99%
TypeScript1%

Modules by API surface

qobuz-player-client/src/client.rs66 symbols
qobuz-player-mpris/src/lib.rs43 symbols
qobuz-player-controls/src/player.rs39 symbols
qobuz-player-controls/src/client.rs37 symbols
qobuz-player-web/src/routes/api.rs32 symbols
qobuz-player-web/src/routes/playlist.rs31 symbols
qobuz-player-controls/src/tracklist.rs28 symbols
qobuz-player-controls/src/database.rs28 symbols
qobuz-player-tui/src/app.rs27 symbols
qobuz-player-client/src/stream/flac_source_stream.rs26 symbols
qobuz-player-controls/src/controls.rs25 symbols
qobuz-player-tui/src/popup.rs23 symbols

For agents

$ claude mcp add qobine \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page