yktoo / ymuse

GTK client for Music Player Daemon (MPD) written in Go
https://yktoo.com/en/software/ymuse/
Apache License 2.0
256 stars 14 forks source link
go gtk3 linux mpd mpd-client

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

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
  4. 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 --clean --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

Snap

Install and run snapcraft (it will also ask to install Multipass, which you'll have to confirm):

snap install snapcraft
snapcraft clean # Optional, when rebuilding the snap
snapcraft

License

See COPYING.

Credits

TODO