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’ll be happy to receive any donations 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.

PayPal - The safer, easier way to pay online.

The following features are available from MPoD:

  • Connects to your MPD server over tcp/ip.
  • Supports the use of a password for making a connection to the server.
  • Now playing screens available within 2 seconds of startup.
  • Now playing screen shows active playlist and playing song.
  • Volume control.
  • Move to previous, next song.
  • Move to any song in active playlist.
  • Play random album.
  • 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’.

MPoD version 1.1 is available now from the AppStore. Here are some screenshots from this version:

NowPlaying.png

Artists.png

Albums.png

Songs.png

Playlists.png

Search.png

Settings.png

About.png

71 Comments

  1. nick:

    It’s good to know you are working on on MPD client for the iPod. I would love to use one as a remote for my high end system. I am currently setting up silent MPD server on a PC Engines ALIX single board computer.

  2. nick:

    Keep us updated on the status of the MPD client! I would love to help with testing.

    I have MPD setup on the the PC Engines Alix 3c2 (http://www.pcengines.ch/alix3c2.htm) with Voyage Linux setup up on a 512MB compact flash. Voyage is stripped down Debian Etch for embedded devices. It keeps apt for easy installation of packages.

    The desktop computer, in another room, has NFS running. The Alix is pulling FLAC files via NFS; also keeps all the MPD files (playlists, log files, etc.) there as well so that there is no need to keep writing to the compact flash.

    Output is via USB (snd-usb-audio ALSA module) which connects to a USB digital to analog converter.

    By the way, any plans for a very simple random shuffle MPD app??

  3. Berrie:

    Right now it’s not possible to do testing: 2 weeks ago I was let into the iPhone developer program so now I’m able to put the software on my iPod Touch for testing purposes, but the program rules don’t let me distribute the software in any way yet.

    Currently I’m using MPD in combination with FS20, a wireless home automation system. I have a USB module that takes commands from my remote, and runs unix scripts for the various buttons through fhem.pl. That way I can increase/decrease the volume, play a random CD (i.e. list of mp3’s), play the latest CD’s or favourite radiostations. My amplifier is also behind an FS20 switch, so when I play music the amp is automatically switched on.

    Is it not possible to use the MPC client to choose random music to play?

  4. nick:

    I hope the rules change so that you can start distributing your software soon.

    I use GMPC from a Thinkpad over WiFi. It does have a random play list plugin. I usually listen to music in a dedicated room with the lights dimmed low. Even with the LCD set to it’s lowest it is distracting. That’s why I’m really looking forward to you application.

  5. Matt:

    Sounds good. Cant wait for it to be finished. This better get in the App Store

  6. Fx:

    Hello,
    looks like a really interesting client for MPD. Two questions: Would it be possible to set the font size a little smaller (especially at the artists side). What i am really missing is the sorting Artists->Albums
    Best regards
    Fx

  7. My new 3 watt dead-silent USB Linux music server. - Page 5 - Head-Fi: Covering Headphones, Earphones and Portable Audio:

    [...] via the Apple store. It’s basically an iPhone or iPod touch MPD client: all wireless of course:Makes No Sense At All

  8. Martin:

    Would love to have an app store MPD client for the iphone …

  9. Berrie:

    There are significant delays in the submission process to the AppStore. Version 1.0 of MPoD was submitted 3 weeks ago and is still in review. In the meantime I continued working on the next release, but have to wait until the initial version gets through.

  10. Dwaalspoor98:

    It’s finally in the store :), installing now! Can’t wait for the update ;)

  11. Tim:

    Hi, great app - would be even better if it let me opt to append Songs to a playlist instead of replacing the latter, or am I missing something?

    Tim

  12. Tim:

    What a great all. Is there a way to append Songs to a playlist instead of replacing it?

  13. seferino:

    Would like to have a app store mod client for the iPhone

  14. Berrie:

    @seferino: it’s in the store since yesterday.

    @tim: currently this is not possible. It may be added to v1.1.

  15. Torben:

    Hi,

    finally an MPD frontend in the App store. Thank you very much.

    I have a very large mp3 collection and I would really like to have some hierarchical views like genre -> artist -> album. Or a files system view.

    torben

  16. jrf:

    Thanks so much for this wonderful app!

  17. Berrie:

    @Torben: the blue buttons in the album and artist views allow you to drill down, i.e. all albums for an artists, all songs on an album.

    Version 1.1 will also include a search functionality for artists, albums and songs.

  18. AndyMcM:

    Hi there, I think MoPD is great, been using it non stop since I got it!!

    Just a quick question are you going to implement pause in the interface? A lot of times I will be listening to long mixes and would be great to pause as I do in the web interface.

    Keep up the good work!!!

  19. Berrie:

    Version 1.1 will include a pause button.

  20. Steve:

    Does mpod work over 3g/edge or does it require a wifi connection?

  21. Berrie:

    I haven’t tested this, in theory it should work. It requires that your MPD server is accessible from the Internet, and for large databases performance may be insufficient.

  22. Jeppe:

    Great app! Thanks much! I have almost 80,000 songs, and I’ve noticed that everytime I open the app, it takes about 45 seconds to load. You mentioned performance upgrades in the next update, but will that include some sort of mechanism to speed up that start time? I may be SOL with this big of a collection (500GB), but one can hope!

  23. Berrie:

    80.000 songs, I’m surprised it works at all.

    In v1.1 the ‘Now Playing’ screen loads almost immediately and you can change the volume, go to another song in the playlist, etc. The loading of the artists/albums/songs then occurs in the background, and that still takes the same amount of time. So far I’ve not been able to make further speed-ups with the loading process.

    I’ve been thinking of replicating the song data into a local SQLLite database, that will be a significant change to the program structure and I have no idea if it will actually be any faster. Certainly not something I can do in v1.1, but perhaps later.

  24. Jeppe:

    :) It actually works perfectly after the initial load (except for the Songs tab, but that’s to be expected :)). I was really impressed with it. Showing the Now Playing screen first and loading second will actually be an immense help.

    I understand my size of library is in the minority, so I certainly don’t expect anything catered to my needs, but perhaps a cacheing of the loaded data (in the SQLLite db like you said) and having an optional setting to do manual loads? That way, if I change something in my collection, I can refresh it, otherwise, it’ll be snappy all the time!

    Thanks again for your time on this. This really promises to be the finishing touch on the IDEAL setup for playing music on my enormous collection. No other tool (besides MPD) has been able to handle indexing it all in a timely and non-crashing manner.

  25. Mez:

    Hi,
    great idea… but I can’t seem to access my ampache server with your app?
    I CAN access it with Safari from my iPhone though. I’m using MAMP apache server on my Mac (with ampache sitting in a directory with the same name). Basically, I can access my installation thus: http://myipaddress:8888/ampache/ (please try to access it - as you’ll have my IP with this comment). Please tell me how to enter this info into the MPoD settings.
    Thanks, Mez

  26. Berrie:

    MPoD doesn’t work in any way with ampache, it only works directly with mpd.

    If you’re combining ampache and mpd in some way (I see on some forums that this is possible), you must setup MPoD to connect directly to your mpd server. I presume this means you have to open and forward a port on your router (normally 6600) so that access is passed on to the mpd server. And then you still won’t hear any music on your iPhone through MPoD, you would then have to use a separate client to hear the stream that is running.

    I think that using MPoD over the internet will be very slow, it is not really intended to be used like that but rather as a remote control for your home.

  27. Dusty35:

    Hi,
    Nice apps! I listen and remote my music on my server from my garden. Very nice job. Can you tell us when the V1.1 will be on apps store? I know I’m crazy but do you think if it’s possible to “install” an interface like coverflow with album’s front view? Sincerely, with a coverflow like interface, your application will be amazing. I’m ready to buy it $$ if you can do that. (Sorry 4 my English, I’m french)
    See ya!

  28. Berrie:

    I’ve been thinking about album art, but it’s a lot of work to implement because it’s not natively implemented by the mpd server. Right now it’s low on the priority list.

  29. Goodbye Amarok – welcome mpd at Some people call me Fredrik:

    [...] change volume etc graphically, I still need my laptop as a remote control. Today I discovered MDPod, an mpd client for iPhone or iPod Touch. Since my girlfriend has an iTouch, I decided to try it [...]

  30. Darren:

    Just wanted to say how much this app rocks.

    Controlling my headless PC under the TV without going upstairs or using the laptop is the best.

  31. Berrie:

    Thanks, I always appreciate comments like this.

  32. Benjamin:

    This works great! I love it! Especially the new version 1.1 is a major improvement. Now I control my media library easily. Is there a way to donate for this app? I think you deserve it!

  33. Berrie:

    As always, your requests are taken seriously. So I’ve added a donate button to this page for those who feel an urge to support me.

  34. Dedicated mini-itx music PC? - Page 2 - Head-Fi: Covering Headphones, Earphones and Portable Audio:

    [...] you end up with for remote control. Scott MPoD has been released for the iPhone and iPod Touch. Makes No Sense At All

  35. nick:

    I just got my iPod Touch 2G with OS ver 2.1. MPod seems very sluggish compared to MMPC running on my Nokia N800 tablet. Anyone else having these issues?

    The random album question mark button sometimes does not respond until I’ve pressed it repeatedly. Some of the other buttons seem sluggish to respond as well.

  36. jfk:

    I love the app. Big thanks! One problem I have is bugginess with scrolling the now playing list. I have lots of stuff there and when I scroll it keeps lagging back. Don’t really know how to describe the problem. =) One thing I would love to see is the artist name besides the song name. Anyway thanks for the app! =) (got iphone 3g 2.1)

  37. Berrie:

    @nick & @jfk: I will have a look at the performance of the now playing screen. It is connecting very frequently to the MPD server, which I believe is causing the sluggishness. It should be possible to do this in a more optimized way, which should improve the responsiveness of the main screen.

  38. nick:

    Hey dude! How do I send you money, that is donate for MPod?? Your donate button is in another language!

    Thanks for the application! It’s great! Looking forward to updates!

  39. Berrie:

    I’ve changed the donate page to use English as default. Funny how few people understand Dutch ;-).

  40. nick:

    Thanks! Donation sent!

  41. Jeppe:

    Thanks for all your work Berrie. This is a standout among apps.

    Any more ideas on caching the mpd database locally on the iPhone? Does Apple even support that? I’m so, so, so, so close to getting my wife to let me buy some hardware for the living room to run mpd and XBMC and some other stuff, but her last quote to me was “MPod still takes a minute and a half to load the library, and I have a hard time wanting to use it”. (I’m the guy with 80,000 songs). If I get this working and can start using MPod (hopefully!), I’ll be more than happy to generously donate! I’d pay a fair bit for something that makes my setup so nice.

    Thanks again! Your work is much appreciated and fills a niche very unfilled.

  42. Berrie:

    The caching is possible: you can use sqlite on the iPhone, allthough I don’t know how much faster that is going to be in practice. I’ve been toying with that a little bit, but I’m really short on time the last weeks so no real progress. And I’m not sure how much better that is going to be in the coming time, so in all honesty I don’t expect a new version with significant changes to be available in the next 1-2 months. I’ll keep everyone posted.

  43. Jeppe:

    Thanks for the response, your time and work are much appreciated!

  44. sergio:

    This app is a total gem! I have a few requests for the next release. We need a way to “update library” like you can with other MPD clients so it picks up on changes. Also a way to clear songs from the “now playing” window for when your list starts getting too long. Also a way to toggle repeat on the “now playing window” so it cycles back up when you reach the bottom. Are any of these possible?

    Thanks again for a great app.

  45. Dario:

    can you describe me how to setup my ubuntu 8.04 distro to use mpod with mpd?????? I can’t find all the information i need to setup this app, and configure mpd server. Please help!!

  46. Dario:

    ok now i jest set up my iphone mpc with ubuntu and mpd

    you have only to change

    bind_to_address “localhost”

    to

    #bind_to_address “localhost”

    in

    /etc/mpd.conf

    so when you have installed mpd server and mpc you have to do:

    sudo gedit /etc/mpd.conf

    setup your music directory at top

    change
    bind_to_address “localhost”

    to

    #bind_to_address “localhost”

    then change
    #mixer_type “software”

    to
    mixer_type “software”

    then restart mpd

    sudo killall mpd
    and
    sudo /etc/init.d/mpd start

    after build database of mpd (don’t remember the command)

    and then refresh database mpc

    sudo mpc update

    Now you have only to set the ip address on the iphone

  47. Control MPD from your iPhone/iPod Touch | Compl33t:

    [...] comes MPoD from Katoemba Software, available now in the AppStore, for free! It gives you full control of MPD, [...]

  48. mg:

    Hi,
    this app, combined with mpd, is exactly what I’ve been looking for, thanks.
    Unfortunately it seems that MPoD gets confused over my library, which is arranged in an Artist/Album/Song-type file structure (wave files only). All artists, albums, and songs show up as “Unknown Artist”, “Unknown Album”, and “Unknown Song”. What might be the problem?
    When I connect to mpd with the curses based client, all artists, albums, and songs show up just fine. (With both clients connected, I can control mpd with MPoD, and see what I’m actually doing through ncmpc–not an ideal setup, but at least it shows that MPoD and mpd communicates.)

    Any ideas?

  49. Berrie:

    @mg: I haven’t done any testing with .wav files, my collection (as for most people) is entirely mp3 based. Wav files have no id3 tags of themselves, I don’t know how mpd deals with this. I will run some tests to see what data is passed to the application for wav files, to see if anything useful is coming back that can be displayed.

  50. mg:

    …as I mentioned the curses based client, ncmpc, I see Artist/Album/Song just fine–that is, in ncmpc I sed the directory/file names presented as Artist/Album/Song, so at least these must be provided by mpd…

  51. nick:

    To mg:

    There really is no reason to keep an audio collection in .WAV files. FLAC files afford you the convenience of not only saving disk space, but of its extensive tagging facilities.

    You should consider encoding your .WAV to FLAC.

    You can learn more at the http://www.head-fi.org forums.

  52. mg:

    Yeah Nick, I know, now. At the time I ripped the CDs I didn’t know of FLAC. I just wanted a lossless format that didn’t require too much CPU overhead because my server was supposed to be a low-power (slow, but busy;^) unit. Any idea what FLAC’s CPU load is compared to WAV? I imagine it’s comparable to (g)zip, but I really have no idea…

  53. nick:

    mg,

    FLAC decoding load is very minimal. I’m running MPD on a 500Mhz Geode single board computer and the load never goes above %8 when playing any FLAC files. I think you’ll do just fine even with an old pentium II.

  54. bTo:

    Any chance you release the source code to the public? I think it would be a great way of getting programming contributions to this great piece of software. I’m more than willing to collaborate!

  55. Janko-N:

    Ahojte, Viete Mi niekto poradiť ake je spravna IP adresqa aby mi fungoval spravne MPoD ? čo mám robiť
    ďakujem
    Janko-N

  56. Berrie:

    @bTo: thanks for the offer, but that way I would have to spend part of my time coordinating the work and integrating it, which I’m not interested in right now. If someone is interested I can provide him/her with the source code on an individual basis for their own use.

    @Janko-N: if you want to get an answer you’ll have to post your comment in English (or Dutch).

  57. dave:

    Great app! Thanks!

    Is the ‘?’ button for random album or shuffle - I thought it was random album, but now it doesn’t seem to do anything. A random album button would be great.

    About performance: I’m not sure exactly what you’re doing, but from writing an MPD client myself, the protocol is very much set up around not storing much on the client and having all the searching etc. done on the server, which should make it quite fast. With MPoD I’m finding it taking about 20 seconds to get a list of albums from 20000 songs, but then the display for artists updates immediately. For my application I ended up reading all the songs off the server at startup so that I could do more advanced searching etc. - is that the route you’ve taken? I’ve used other clients that load the information on demand, which are quicker to start with, but then you tend to have a pause for each operation. Eventually, I’m going to move to a local database, mostly to store more information than MPD will let me (e.g. ratings and last played dates).

    Dank je wel!

  58. Berrie:

    The ? button is for random album, but in v1.1.1 it only works once all data is loaded. That then also tells you how MPoD works: it loads all data at startup from the MPD server.

    In the iPhone simulator that runs on my Macbook this is very fast (startup in about 1 second for my 10.000 song library), but the processor inside the iPhone is much less powerful, and thus the processing of the incoming data takes much, much longer.

    Right now I’m testing with loading the data once from the MPD server, and then storing it in a local sqlite3 database. This improves the startup performance to some degree, but not as much as I would have liked. And it has the disadvantage that updates to the MPD library are not automatically picked up.
    With the sqlite3 database I have also attempted lazy loading, but this makes the scrolling performance in the artist, album and song lists unacceptable.

  59. My new 3 watt dead-silent USB Linux music server. - Page 6 - Head-Fi: Covering Headphones, Earphones and Portable Audio:

    [...] via WiFi, like I do with the Nokia 800. The Nokia is a touch screen device. Or the iPod touch: Makes No Sense At All

  60. Uwe:

    Is there any possibility to get your cool looking app to work with an “old fashioned” iPhone 1.1.4 (yes, it is jailbroken etc…)? I really don’t want to update to a newer firmware because of my beloved fill-ipod-over-wlan feature. Right now i’m using impdclient.app - great application but yours look even better ;) Is there maybe an old version of Mpod anywhere around here that would not depend on an firmware update?
    Would be great if someone could help me out - thank in advance Uwe

  61. Berrie:

    Uwe, thanks for your positive response, but I have to disappoint you. I have no clue how to write an application for a jailbroken iPhone and no means to test it. There never was an old version, I only started developing once it was officially possible.

  62. mightyOhm » Blog Archive » Building a Wifi Radio - Part 5, Let’s Make Some Noise!:

    [...] Theramin, you can control the router remotely from your desktop computer.  There is an excellent client for the iPhone [...]

  63. Nicolas:

    Thanks for writing and providing that application. It’s almost perfekt; fast enough and quite enough features while very handy to use. Anyway I have some suggestions to improve it:
    - How about adding Bonjour support to find the mpd server? Is that difficult to develop?
    - The playlist for “now playing” is not very helpful when playing album compilations. Some artist info in brackets after the songtitle would be nice.
    - Shortcut for replace or append playlist would be nice
    - Buttons for mpd “repeat” or “random” mode would be nice as well
    Some comments on that I would appreciate! Thanks.

  64. Nadeem:

    Hey, I’ve been having some problems with MPoD on my ipod touch. Everytime I try to connect to my computer, I would test the connection and it would say “Failed.”

    Is there a FAQ anywhere?

  65. Berrie:

    @Nicolas:

    - Bonjour support is possible, but I don’t see this adding too much value so it goes to the bottom of the list.
    - Adding artist info I’ll take into account.
    - Shortcut for replace / append, can you describe how you envision that? The screen is already pretty full.
    - Buttons for repeat / random, those would have been there already if I had decent icons for them.

  66. Nicolas:

    The expected benefit of the bonjour support would be that you don’t need a static ip-address (for music server’s that have their ip-adresses from a DHCP for less configuration). Anyway, I’d appreciate it.

    Cool that you think of the artist info in the playlist. Probably the line get’s to long; Maybe the there’s a way apple suggests to solve that (tooltips?)… Or it could be on two lines like in the song selection.

    Shortcut for replace/append: I’d suggest to put a button, that could be in a ‘pressed’ state or ‘not pressed’ state and put it on the right side of the title bar (where you find ‘artist’, ‘album’ and ’songs’ and the search-button). The search-button could be moved to the left side.

    Repeat/Random: For me it would be o.k. to put that even into the settings screen with a slider.

  67. Berrie:

    I like your suggestion for replace/append, unfortunately that space has just been taken by a ‘refresh’ button that is introduced in the new version (because data gets cached locally for performance reasons).

    I’ve gotten some new ideas on creating space on the ‘now playing window’ that I’m going to look into in the coming days. That would allow to put in some of the requested functions.

  68. bTo:

    Thanks for your reply, Berrie. In that case, would it be possible to obtain the current source code so that I can make some additions to it (and modifications for my own taste). I would really appreciate it and could contribute with patches if ever you’re interested in including any enhancements that I make to your great program.

    Thanks

  69. Anders:

    Thank you very much for a great app. However I seem to have some slight problems with the repsonse of a touch. I have to press the buttons many times (play, pause, volume up/down etc.) before the app picks up the touch and sends the command. Am I the only one experiencing this?
    A little feature request: Could you enumerate the configured “outputs” from MPD and make a function to enable/disable each output from within MPOD? I have speakers in different rooms, and ir would be nice to be able to control from which room(s) the sound comes. Thanks in advance.

  70. Berrie:

    @Anders: touches are not always recognized smoothly, this has to do with the frequent checking with the server that MPoD does. I’ll have a look at improving the responsiveness in a future version.

    The output request is added to the list.

  71. Linux and iPhone application solutions:

    [...] different user specifics. Some of the most widely and successfully used multimedia applications are MPoD (Music Player Daemon), Myth TV (personal video recorder), XBMC (media center application) [...]

Leave a comment