Skip to content

Latest commit

 

History

History
130 lines (94 loc) · 5.93 KB

README.md

File metadata and controls

130 lines (94 loc) · 5.93 KB

MPDWeb logo

MPDWeb

Web client for the Music Player Daemon



🚧 This project is still under active development and some features may be missing. 🚧

Table of contents

  1. What is this?
  2. Features
  3. Screenshots
  4. Keybindings
  5. Installation
  6. Configuration
  7. Compatability
  8. Development
  9. License

What is this?

MPDWeb is a web application that serves as a frontend for MPD - 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

image

image

image

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):

    git clone --recurse-submodules https://github.com/toncherami/mpdweb
  2. Build

    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:

[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 and one for the frontend.

License

MPDWeb is licensed under the MIT License.