MPoD
Music Player Daemon (MPD) allows remote access for playing music (MP3, Ogg Vorbis, FLAC, AAC, Mod, and wave files) and managing playlists. MPD is designed for integrating a computer into a stereo system that provides control for music playback over a local network. It’s a great solution to link a headless computer system to your audio installation.
The iPhone or iPod Touch makes for an ideal companion to MPD with the introduction of MPoD. An intuitive and great looking interface makes it very easy to browse through a large collection of songs (my own is 10.000+), and find the album or song that you want to hear.
In the spirit of MPD and open source software, MPoD is available free of charge from the AppStore. That said, I put a lot of time into building and supporting it, and I have to pay for hardware, software and developer licenses. Therefor I’ll be happy to receive any donations, small or big, into my Paypal account to support me in my software development. Clicking on the Donate button will take you to the secure Paypal donation site.
The following features are available from MPoD:
- Connects to your MPD server over TCP/IP.
- Automatically find MPD servers that make themselves know via Bonjour/Zeroconf.
- Supports the use of a password for making a connection to the server.
- Store multiple connection profiles.
- Fast application startup.
- Now playing screen shows active playlist and playing song.
- Cover art from Amazon or local http server.
- Volume control.
- Move to previous, next song.
- Move to any song in active playlist.
- Seek in song.
- Toggle random, repeat.
- Stream mp3 directly to iPhone via icecast server or mpd (v0.15 or above).
- Play random album or random songs by shaking your iPhone.
- List of artists with drilldown to albums and songs.
- Option to hide artists that only appear on compilation albums.
- List of albums with drilldown to songs.
- Option to group songs into albums based on server directory.
- List of songs, which also displays artist and album for each song.
- All lists are searchable.
- List of all playlists.
- Save the active playlist into a saved playlist.
- Choice between ‘add to active playlist’ or ‘replace active playlist’.
- Support for last.fm.
- Full iOS4 compatibility including background operation, remote control functions, retina display.
- Works well with Mopidy (mpd like Spotify player).
MPoD version 1.5.1 is available now from the AppStore. Here are some screenshots from this version:













Working like a charm with a wifi, but i can’t make it connect with 3G. Don’t know why ?
There used to be a limitation that you only connect over Wifi, but that limitation is removed. I don’t remember if that was done in version 1.2 or in version 1.3 which is currently in the review process for release into the AppStore.
now I’ll stay tuned..
Hi, recently started to use MPoD and I like it!
But I have not been able to play internet radio streams:
1. Created a radio.m3u containing:
#EXTINF:-1,SR-P2
http://wm-live.sr.se/SR-P2-High
2. Tried to play that file (via Playlist button in the MPoD gui)
But all I get is “Nothing to play”, reverting back to existing playlist.
I have confirmed that the stream works and I’ve seen among the posts here that the stream becomes listed as “Unknown Song – Unknown Artist”.
Is there something missing with my setup or perhaps it’s not supported (yet)?
Cheers
Daniel
I’ve tried this stream, and it appears to be a WMA stream that can’t be played by mpd (so it’s related to the server, not the MPoD client). I believe mpd only does mp3 streams.
Use the latest MPD (v0.15 Beta, not stable version yet) for wma/mms support
[...] $0.00 from Katoemba [...]
[...] MPoD $0.00 from Katoemba [...]
I am having serious issues that the client does not handle databases or playlists with say 20.000 items in them.
It says “loading songs from MPD” and after a few seconds it gives a connection problem.
Wouldn’t it be wise to avoid loading the whole db at once?
Loading the entire database at startup is the only way to make the application workable. I’ve put a lot of effort into optimizing (internal sqlite database, lazy loading) the startup performance which is now pretty good, but imposes a limit of somewhere around 20K songs, above that the app runs out of memory. Going beyond that will take me a disproportional amount of time (because I don’t have a clue how to do that), which I’m currently not able or willing to spend.
That is a shame, as the app does nothing for me.
Ideas:
* Loading the playlist: You know how long it is, so you can build the view. When a row gets visible that does not have the data loaded, load it including the surrounding X rows. (mpd supports a command to fetch a range of the playlist in the latest version, otherwise use command list). When rows are invisible, you can free this again to avoid increasing memory usage. This should allow arbitrary size playlists, withouth memory issues. (You probably already do this)
* Playlist search: You can do this mpd side. (it has a playlist search command, so no need to keep everything in memory to search).
* Artist list/Album list: You can get a list directly from mpd using the list command. only negative thing is you don’t get artist album link.
* This is partially a problem. Searching can be done mpd side, so that isn’t a problem (you can easily limit loading more then say 200 results).
Listing is more tricky.
Bandwidth for these queries cannot be a concern, because loading the whole db at startup can easily require a 10mbyte or more transfer and seems to be acceptable.
I have ran gmpc on hardware a lot worse then the ipod touch/iphone withouth issues.
One of my primary goals with MPoD is to have properly sorted lists of artists, albums and songs with useful information and drilldown. This requires that either the entire song collection is in memory (the way the first MPoD version was implemented) or having a local, denormalized database from which items can be lazy-loaded (the current implementation which uses sqlite3). Lazy-loading data from mpd will result in unacceptable hickups in scrolling.
My playlist is generally small (I play a single CD at a time), and therefor the not much optimization effort has gone into the playlist implementation (Now Playing).
The main memory issue comes from the initial loading, when all mpd data is loaded into memory, denormalized and stored in the sqlite3 database. Once that database file is created memory requirements drops because of the lazy loading that is used from then onwards, but the initial database file creation is currently only possible with all song data loaded. There may be more intelligent ways to do this initial creation, but it’s unlikely that any of this find their way into MPoD any time soon because I don’t have the time for it currently.
the large library restriction is a problem for me as well. even when I only have say 400 songs in my playlist, MPoD seems to be unusable, always stuck at “loading songs from MPD… — Are you suggesting if I tough it out through this initial db creation, I can use MPoD somewhat? My Library is around 45k songs, but I use playlists a lot; does this make me SOL?
@anomlay (can’t reply directly to your post somehow): MPoD isn’t able to deal with a 45K library. You can set the option to not load your library in the settings, then MPoD should startup quickly and show you your active playlist. It’s a fairly crippled mode, but may give you some of the functionality you’re looking for.
MPoD is great software but it would be very helpful if it supported multiple servers.
Thanks
It would be awesome if it supported multiple servers since I run a couple
The next version will have support for multiple servers.
Thanks for the great app! I wasn’t an MPD user before and now there’s no way I’m going back. The only thing I’m missing with this app is the ability to open internet radio streams, something I’ve just figured out how to do with Sonata on my laptop.
If I knew anything about programming for the iPhone I’d take a stab at adding this, but I haven’t the faintest idea where to begin.
Anyway, thanks again!
You can use internet streams through a work-around: use an MPD client on your laptop, play the internet stream there and then create a playlist for it. Then the playlist will appear in MPoD, and you can play it from you iPhone / iPod Touch.
Berrie,
Thanks for that, it works perfectly. I wish I had thought of that myself!
I’ve been looking for an MPD client that’s a native iPhone app (ie not a web client, not that they’re bad) for a while now but could find anything when searching for “mpd”. Somehow I was able to google it this time and so far it’s been working great.
Thanks for creating the app!