h1. CoverGrid

CoverGrid (mcg) is a client for the "Music Player Daemon":http://www.musicpd.org (MPD), focusing on albums instead of single tracks. It is not intended to be a replacement for your favorite MPD client but an addition to get a better album-experience.

Website: https://www.coderkun.de/codes/mcg

License: "GPL":http://www.gnu.org/licenses/gpl.html v3

Dependencies:

* "Python":http://www.python.org 3
* "GTK":http://www.gtk.org 3 ("python-gobject":https://live.gnome.org/PyGObject)
* "Avahi":http://www.avahi.org (optional)
* "python-keyring":http://pypi.python.org/pypi/keyring (optional)
* "python-setuptools":https://pypi.python.org/pypi/setuptools (building)


h2. Building

Build the application with _setuptools_:

bc. $ python3 setup.py build


h2. Running/Testing

For testing the application and running it without (system-wide) installation, donwload/clone the code, build it as described above and then use _setuptools_ to install it for the current user:

bc. $ python3 setup.py develop --user

After that you can run it with

bc. $ ~/.local/bin/mcg

or if _~/.local/bin/_ is on your PATH

bc. $ mcg


h2. Installing

Install the application system-wide with _setuptools_:

bc. # python3 setup.py install

Note: _On Linux using the distribution’s package manager is the preferred way of installing applications system-wide._


h2. Packaging

Create a distribution package with _setuptools_:

bc. $ python3 setup.py sdist


h2. Cover/image configuration

Since MPD itself does not provide the cover/image/album art binaries, yet, _mcg_ has to look for them itself. In order to find the images a base folder has to be configured on the Connection tab as “Image Directory”. This value can either be a local (absolute) folder (e. g. /home/user/music/) or an http URL (e. g. http://localhost/music/). _mcg_ then adds the (relative) folder of the audio file to this paths and tries different names for the actual file:

# the album name
# “cover”
# “folder”

The following file extensions are used:

# png
# jpg

The first combination that results in an existing file is used as cover image. If no matching file exists, _mcg_ will try to traverse the directory for any image file as fallback—this is done for local paths only though, not for http URLs.


h2. Screenshots

!https://www.coderkun.de/images/mcg-cover.png(Cover)!

!https://www.coderkun.de/images/mcg-playlist.png(Playlist)!

!https://www.coderkun.de/images/mcg-library-m.png(Library (middle-sized))!

!https://www.coderkun.de/images/mcg-library-s.png(Library (small-sized))!
