a web based MPD (Music Player Daemon) client for small screens
Thanks to the MPD creators:
GNOME Icons from gnome-icon-theme-2.22.0.tar.bz2.
GPLv2 or later.
Web1.0MPC is a web based MPD (Music Player Daemon) client for small screens.
As the name implies, Web1.0MPC is lightweight and tries to keep requirements as low as possible. This way, it should also work on rather ancient devices with simple mobile phone browsers lacking modern features, e.g. old Windows Mobile devices.
Old versions of Web1.0MPC were based on an updated version of the original
mpd.class.php by B. Carlisle. Plans to extend and
support this class were canceled. Instead a new PHP interface to MPD is being
created along with Web1.0MPC 0.4. It has now been extracted as a
separate project for general use.
This software is intended to be installed on a server in your local private network. It is work in progress and might contain bugs, do not install it on a public server.
Features:
- manage playback (play, pause, stop, seek, skip)
- volume control (optional)
- display song info
- resize, cache and display cover art
- list all songs in playlist
- clear playlist
- remove single song from playlist
- jump to any song
- load/save/delete stored playlists
- browse the music database by tags or folders
- add all albums by an artist, one album or a single song to the playlist
- compilation albums ("Various Artists") have their own category
- hide "compilation only artists" from the normal artist list (optional)
- support "ArtistSort" tag
- select browse mode (tags, folders)
- toggle playlist repeat
- set seek interval
- toggle album sort mode (by date, by name)
- select layout
- 360x640 (e.g. Symbian S60/5th and S^3)
- 240x320 (e.g. Windows Mobile)
- trigger database update
- print server statistics
- plain HTML 4.01 and PHP
- absolute minimum of JavaScript (works without)
- basic CSS rules
- evil deprecated table layouts
- no AJAX
- no CSS extravagance
- no annoying JavaScript bling-bling
- no transparent images
- no "my" in its name
Keep your old device, Web1.0MPC will work on it – go green! 🐸
Development system:
- Debian Jessie
- MPD 0.19.1
- lighttpd 1.4.35
- PHP 5.6.2 with php5-cgi, php5-gd and
short_open_tag = On
MPD >= 0.19 is a requirement because of the new grouping feature of MPD's "list" command which Web1.0MPC makes use of.
As for the web server and PHP, it should work with less, but is not tested.
Tested browsers:
- Iceweasel 31 ESR on Debian
- Opera Mobile 12 on Symbian S60/5th
- IE on emulated Windows Mobile 2003 SE
- Extract the files to a directory on your webserver.
- Check and adjust file and directory permissions:
- the ./cache directory needs to be writable by the webserver, and
- if you want to display cover art, your music directory needs to be readable by the webserver.
- Edit ./class/Web10Mpc/Config.php.
Setting USE_ARTISTSORT_TAG = TRUE
in Config.php will sort artists like
this:
Pearl Jam --> Tom Petty --> Pink Floyd --> The Police --> Porcupine Tree.
Please note the following before you enable this:
- Add "ArtistSort" tags to all songs. Create a consistent mapping, i.e. avoid something like this:
Song | Artist | ArtistSort |
---|---|---|
1 | Bob Marley & The Wailers | Marley, Bob & The Wailers |
2 | Bob Marley & The Wailers | Marley, Bob & Wailers, The |
This does not make sense, and Web1.0MPC will throw an MpdDatabaseException.
- MPD must read the "artistsort" tag, by default it does not. Add it to the
line starting with
metadata_to_use
in your mpd.conf file. - Restart MPD.
- Update the MPD database.
- Web1.0MPC will scan the complete database to create the mapping of artist names to sort keys. This may take some time (~3.9s on an Atom N270 @ 1600 MHz for a database with ~650 artists and ~10,400 songs, MPD and Web1.0MPC running on the same machine (no network transfer)). It will do this only once and cache the results in a file. The cache file will be deleted (and recreated on the next request) when you press "Update database" on "Setup" page.
e-mail: web10mpc [at] geuecke [dot] org