montypc is a Pythonesque mpd client using the Qt4 application framework.
It's not in active development anymore. My love now goes to sleek!
What about it?
One afternoon, during the exams, when I had nothing better to do, I started to look for the perfect music player. Amarok did quite a good job, except for some little annoyances (sloooow, sucky lyrics plugins ...), and so I decided to program my own player using mpd providing exactly everything what I need. At the time, I was learning python, so I thought "hey, this could be a good moment to expand my python knowledge and Qt at the same moment!".
The main goal is to produce a very customizable music player (plugins! draggable frames!), though one that is very usable out of the box, performing fast, even for large libraries (still working on that one).
As for now, several important features have been implemented. Pretty all functionality is provided by plugins, so here is a list of all the plugins, and their purpose:
- PlayControl: control flow (play, stop, volume etc), repeat, random song and - woot - random album, and very basic queueing;
- Library and Playlist: view and search through the library/playlist with several viewmodes;
- Listing: another implementation of a playlist with better performance than Playlist plugin. It features collapsable albums and such, and advanced querying mechanism;
- Lyrics: fetch lyrics from internet (using google or any other SE), or from a directory for the current song. The killer feature, in my humble opinion, distantiating it from other lyrics plugins of other music players, is that it scrolls according to the time passed. As such, you'll never haver to scroll manually :-);
- Tabs: fetch tabs from internet (using google or another SE), or from a directory for the current song;
- AlbumCover: fetch album covers from internet (using Amazon WS), or look them up in a customisable directory;
- Notify: show important events in a floating, always-on-top window;
- SongStatus: show basic user-formattable information about the current song;
- Systray: keep montypc in the system tray;
- Scrobbler: simple scrobbler client, submitting tracks to last.fm;
- Logger: useful to debug stuff, and see what happens internally;
- Shortcuts-kde4: a shortcuts plugin, unfortunately only tested on KDE4 (I have no clue if it works with any other WM as it uses pykde4);
- WebInfo: looks up information about the current playing artist, album or song on various sites (like wikipedia, last.fm, allmusic, or any other user definable site ...).
As montypc is made in python with the Qt4 libraries, and developed for a KDE system, I think of following drum roll:
- python (<3k)
- python-qt4 (QtCore, QtGui, QtSvg, and if you wish to enable to WebInfo plugin, QtWebKit should be available too)
- python-kde4. If there is no python-kde4 available, montypc will happily load, but will however show a harmless exception, and will not load the KDE4Shortcuts plugin.
What the future holds[TOC]
Currently, montypc has the most basic functionality I expect from a decent music player. Furthermore, I now switched to sleek which is quite faster, and without mpd dependency, and has some cool features like a transcriber plugin.
If anyone sends in patches, I'll be happy to merge them, but my time spent on it will be limited.
A couple of screenshots have been uploaded, showing some configurations with different playlist plugins. All elements you see on the screen, can be moved around, so there's endless of combinations and joy and fun!
montypc is kept in a git repository writable only by me.
- Download the latest version: the HEAD of the repository and should be a working version.
- Browse the source code: browse the whole repository
There is no direct write access to this repository, but you can send patches and then I'll import them :)
Last log entries[TOC]
and many more!
If you think "I think montypc looks nice, but ... meh ... still sucks", then you might want to check out Anton Khirnov's fork of montypc, containing some other views and bug fixes.