ymuse icon indicating copy to clipboard operation
ymuse copied to clipboard

GTK client for Music Player Daemon (MPD) written in Go

Latest release Releases License Go Go Report Card

Ymuse icon Ymuse

Ymuse is an easy, functional, and snappy GTK front-end (client) for Music Player Daemon written in Go. It supports both light and dark desktop theme.

Ymuse screenshot

It supports library browsing and search, playlists, streams etc.

Ymuse Library screenshot Ymuse Streams screenshot

Watch Ymuse feature tour video:

Feature tour video

Installing

Building from source

Requirements

  • Go 1.19+
  • GTK 3.22+

Getting started

  1. Install Go
  2. Make sure you have the following build dependencies installed:
    • build-essential
    • libc6
    • libgtk-3-dev
    • libgdk-pixbuf2.0-dev
    • libglib2.0-dev
    • gettext
  3. Clone the source and compile:
git clone https://github.com/yktoo/ymuse.git
cd ymuse
go generate
go build
  1. Copy over the icons and localisations:
sudo cp -r resources/icons/* /usr/share/icons/
sudo cp -r resources/i18n/generated/* /usr/share/locale/
sudo update-icon-caches /usr/share/icons/hicolor/*

This will create the application executable ymuse in the project root directory, which you can run straight away.

Packaging

DEB and RPM

Requires goreleaser installed.

goreleaser release --rm-dist --skip-publish [--snapshot]

Flatpak

  1. Install flatpak and flatpack-builder
  2. flatpak remote-add flathub https://flathub.org/repo/flathub.flatpakrepo
  3. flatpak-builder dist /path/to/com.yktoo.ymuse.yml --force-clean --install-deps-from=flathub --repo=/path/to/repository
  4. Optional: make a .flatpak bundle: flatpak build-bundle /path/to/repository ymuse.flatpak com.yktoo.ymuse

License

See COPYING.

Credits

TODO

  • Automated UI testing.
  • Drag’n’drop in the play queue.
  • More settings.
  • Multiple MPD connections support.