Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/toncherami/mpdweb
Web client for the Music Player Daemon.
https://github.com/toncherami/mpdweb
mpd mpd-client
Last synced: 14 days 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 (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-07-24T23:30:37.000Z (5 months ago)
- Last Synced: 2024-11-05T12:29:04.523Z (2 months ago)
- Topics: mpd, mpd-client
- Language: Makefile
- Homepage:
- Size: 32.2 KB
- Stars: 2
- Watchers: 2
- 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
![image](https://user-images.githubusercontent.com/13941584/179988308-567c0ebf-0f77-4363-b143-a4b98723b493.png)
![image](https://user-images.githubusercontent.com/13941584/179988487-ba594e21-504c-42cb-b9c2-31c7b7d6ba64.png)
![image](https://user-images.githubusercontent.com/13941584/187583493-f06eb125-a3c2-4f8f-a693-de34f1a08efa.png)
![image](https://user-images.githubusercontent.com/13941584/179988635-2bd73245-ba46-4a96-8b66-01bbc7bcbb7a.png)
## 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).