aboutsummaryrefslogtreecommitdiffstats

mpd-notification

GitHub stars GitHub forks GitHub watchers

Notify about tracks played by mpd

This runs in background and produces notifications whenever mpd produces an event, that is new track is played or playback is paused or stopped. Notifications look like this:

Notification

This now even supports album artwork:

Notification with Artwork

Read below for the details.

Use at your own risk, pay attention to license and warranty, and disclaimer on external links!

Requirements

To compile and run mpd-notification you need:

To use mpd-notification you probably want mpd, the music player daemon ↗️ itself. ;)

Some systems may require additional development packages for the libraries. Look for libnotify-devel, libmpdclient-devel or similar.

Build and install

Building and installing is very easy. Just run:

make

followed by:

make install

This will place an executable at /usr/bin/mpd-notification, documentation can be found in /usr/share/doc/mpd-notification/. Additionally a systemd unit file is installed to /usr/lib/systemd/user/.

Usage

Just run mpd-notification to run it once. A systemd user service can be started and/or enabled with systemctl --user start mpd-notification or systemctl --user enable mpd-notification.

mpd-notification accepts some arguments:

  • -h: show help
  • -H HOST: connect to HOST
  • -m MUSIC-DIR: use MUSIC-DIR for artwork lookup
  • --notification-file-workaround: write artwork to file for notification daemons that do required it
  • -p PORT: connect to PORT
  • -s PIXELS: scale image to a maximum size PIXELS x PIXELS pixels, keeping ratio
  • -t TIMEOUT: notification timeout, TIMEOUT in seconds
  • -v: verbose output
  • -V: print version information

Configuration

Configuration options can be read from a configuration file. mpd tries to read ${XDG_CONFIG_HOME}/mpd-notification.conf, then ~/.config/mpd-notification.conf, which is expected to look like this:

host = localhost
port = 6600
music-dir = /srv/media/music/
scale = 200
text-topic = MPD Notification
text-play = Playing <b>%t</b>\nby <i>%a</i>\nfrom <i>%A</i>
text-pause = Paused <b>%t</b>\nby <i>%a</i>\nfrom <i>%A</i>
text-stop = Stopped playback
timeout = 20

Unused options can be commented or removed completely.

The options text-play and text-pause support custom formatting with these specifiers:

  • %t: title
  • %a: artist
  • %A: album
  • %d: duration

Artwork

mpd does not provide any information where it finds its music files. To make mpd-notification display album artwork you need to tell it where to look for artwork. You can do that by exporting XDG_MUSIC_DIR to your environment, by specifying -m or --music-dir on the command line or by setting music-dir in configuration file. mpd-notification reads album artwork from mp3 files, otherwise an image file containing the artwork needs to be placed in the same directory as the media file and named cover.jpg, cover.png, folder.jpg or folder.png.

License and warranty

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

Our website contains links to the websites of third parties ("external links"). As the content of these websites is not under our control, we cannot assume any liability for such external content. In all cases, the provider of information of the linked websites is liable for the content and accuracy of the information provided. At the point in time when the links were placed, no infringements of the law were recognisable to us. As soon as an infringement of the law becomes known to us, we will immediately remove the link in question.

💡️ Hint: All external links are marked with an arrow pointing diagonally in an up-right (or north-east) direction (↗️).

Upstream

URL: GitHub.com

Mirror: eworm.de GitLab.com


⬆️ Go back to top