https://github.com/toncherami/mpdweb
Web client for the Music Player Daemon.
https://github.com/toncherami/mpdweb
mpd mpd-client
Last synced: 5 months ago
JSON representation
Web client for the Music Player Daemon.
- Host: GitHub
- URL: https://github.com/toncherami/mpdweb
- Owner: TonCherAmi
- Created: 2022-05-07T08:47:27.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2025-02-18T10:12:06.000Z (over 1 year ago)
- Last Synced: 2025-04-09T04:44:54.269Z (about 1 year ago)
- Topics: mpd, mpd-client
- Language: Makefile
- Homepage:
- Size: 18.6 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README

# MPDWeb
Web client for the Music Player Daemon
:construction: This project is still under active development and some features may be missing. :construction:
## Table of contents
1. [What is this?](#what-is-this)
2. [Features](#features)
3. [Screenshots](#screenshots)
4. [Keybindings](#keybindings)
5. [Installation](#installation)
6. [Configuration](#configuration)
7. [Compatability](#compatability)
8. [Development](#development)
9. [License](#license)
## What is this?
MPDWeb is a web application that serves as a frontend for [MPD](https://musicpd.org) - a powerful server-side audio
player.
## Features
- Music database browsing
- Stored playlist support
- Global search
- Cover art
- Vi-inspired keybindings
- Volume control
- Playback options: random, repeat, single, consume
## Screenshots




## Keybindings
| Action | Keybindings |
|-------------------------------------------------------------------------------|-------------------------------|
| Navigate down | j ↓ |
| Navigate up | k ↑ |
| Navigate left | h ← |
| Navigate right | l → |
| First item | gg Home |
| Last item | G End |
| Add item | a |
| Clear queue and play item | p |
| Show item in files view | gi |
| Show current song in files view | gI |
| Remove item | x dd |
| Search | / |
| Global search | s |
| Play/pause | Space |
| Stop playback | S |
| Play next song | N |
| Play previous song | P |
| Toggle random state | Or |
| Toggle repeat state | Op |
| Toggle consume state | Oc |
| Cycle single state: off/oneshot/on | Os |
| Volume up | + |
| Volume down | - |
| Update database | U |
| Update database at point | u |
| Clear queue | Qc |
| Focus queue sidebar | q |
| Toggle focused partition between up next/history when queue sidebar has focus | h |
| Enlarge cover art of currently playing song | c |
## Installation
You will need `make`, `yarn`, and `rust 1.65+` in order to build MPDWeb.
1. Clone this repository (make sure the submodules get populated):
```shell
git clone --recurse-submodules https://github.com/toncherami/mpdweb
```
2. Build
```shell
make
```
3. The binary can be found at `backend/target/release/mpdweb`.
## Configuration
To configure MPDWeb create a config file at `$XDG_CONFIG_HOME/mpdweb/config.toml`. `XDG_CONFIG_HOME` defaults to `$HOME/.config` if not set.
Default configuration:
```toml
[mpd]
host = "localhost"
port = 6600
[server]
bind = "127.0.0.1"
port = 8989
[logging]
level = "info"
```
## Compatability
MPDWeb works best in combination with MPD 0.23.13+ and latest Firefox/Chromium.
## Development
The codebase is split into two separate repositories - one for the [backend](https://github.com/toncherami/mpdweb.backend) and one for the [frontend](https://github.com/toncherami/mpdweb.frontend).
## License
MPDWeb is licensed under the [MIT License](http://opensource.org/licenses/MIT).