mpd-notification ================ **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](screenshots/sound.png) This now even supports album artwork: ![Notification with Artwork](screenshots/artwork.png) Read below for the details. Requirements ------------ To compile and run `mpd-notification` you need: * [systemd](https://www.github.com/systemd/systemd) * [file](https://www.darwinsys.com/file/) for `libmagic` * [iniparser](https://github.com/ndevilla/iniparser) * [libav](https://libav.org/) or [ffmpeg](https://www.ffmpeg.org/) * [libnotify](https://developer.gnome.org/notification-spec/) * [libmpdclient](https://www.musicpd.org/libs/libmpdclient/) * [markdown](https://daringfireball.net/projects/markdown/) (HTML documentation) * `gnome-icon-theme` or `adwaita-icon-theme` (or anything else that includes an icon named `audio-x-generic`) To use `mpd-notification` you probably want `mpd`, the [music player daemon](http://www.musicpd.org/) 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 %t\nby %a\nfrom %A text-pause = Paused %t\nby %a\nfrom %A 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](COPYING.md) for more details. ### Upstream URL: [GitHub.com](https://github.com/eworm-de/mpd-notification#mpd-notification) Mirror: [eworm.de](https://git.eworm.de/cgit.cgi/mpd-notification/) [GitLab.com](https://gitlab.com/eworm-de/mpd-notification#mpd-notification)