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.

App_Store_Badge_EN.png

 

PayPal - The safer, easier way to pay online.


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:

Cover Art

Control and Seek

Volume Control

Full Playlist

Playlist with control buttons

Artists

Albums.png

Songs.png

Playlists.png

Search.png

Multiple Connections

Shake.png

715 Comments

  1. Jaywax says:

    Hello,

    Anybody has tried to connect to a mpd server via an ssh tunel/3G (e.g : 127.0.0.1:6600). I can connect to my icecast server with this method (mplayer to listen) but i can’t do the same with mpod…
    Any ideas ?

    Thanks.

  2. Neil Hooey says:

    I have a general iPod Touch question:

    Does anyone know how to disable the “Slide to Unlock” feature?

    I mean in such a way so when you click the power button, the iPod is already unlocked. I hate having to slide all the time when I realistically never hit the power button accidentally. This would also make MPoD much more useful, with even less time to restore the state after a suspend.

  3. imposechaos says:

    great utility! inspired me to install mpd so i can run a sweet music server at home. love the shake to random feature; really wows the crowd at a party. a couple of things though:
    - any way to ‘scrub’ through a song to jump around?
    - can there be an option to start navigation of library at genre?
    - clicking twice on a song causes a crash of the app on my iphone; single-click highlights the song (starts it playing if it isnt already) and the second click crashes mpod.

    thanks!

    • Berrie says:

      The crash is fixed in the next update (v1.2.1) which is already posted to the AppStore.

      Scrubbing through a song is on the to-do list.

      Genres I haven’t considered so far, I never use that.

  4. Neil Hooey says:

    More Suggestions…

    When the program is updating the song list, the user should still be able to issue commands instead of having to wait. So when I start the program, I get a spinning progress thing saying it’s updating, I should still be able to pause and play during this update.

    Bug: When the iPod suspends with MPoD open, when you turn it back on and slide to unlock, the program says it’s not connected to a server. Once the Wifi link is re-established, MPoD still sits there without trying to reconnect. The user has to exit and restart MPoD to get it to work again.

    • Berrie says:

      Bug: this one will be improved in the next update (v1.2.1) which is already posted to the AppStore.

      Issue commands while the song list is updating: allowing actions while the data is being updated is quite tricky and can easily lead to crashes. I’ve opted for the easy way which is to block access during this action. I don’t think it’s too big of a problem now that startup performance is so much better.

      • Neil Hooey says:

        Sometimes when I turn on my iPod, I get an estimated time of 37 seconds to update the cache.

        It’s crucial to the iPod being a remote to be able to issue commands immediately, even if the iPod is receiving data.

        You could open up a separate connection to the mpd server to issue commands. How about that?

        • Berrie says:

          I agree it is annoying if you have to wait at startup. But loading entirely in the background isn’t easy to add.

          As work-arounds, you can either set ‘Use local cache’ to No for the connection to prevent loading of the cache all together (and only use the browse screen), or set ‘Auto refresh cache’ to No to prevent that MPoD starts refreshing the cache when it detects changes in the mpd database.

  5. Neil Hooey says:

    I have a suggestion. The volume adjustment is pretty clunky right now, as the client does not update the volume position until the adjustment has been confirmed by the server.

    You should instead have the volume slider update in real-time, but have a phantom slider appear partially transparent that indicates the last confirmed volume setting. Once the mpd server confirms the new volume, the phantom slider will disappear. You could also have the same effect by just changing the colour of the entire slider bar to red until it syncs.

    This way the user doesn’t have this awkward experience with changing the volume.

    • Berrie says:

      I’m currently working on the now playing screen, part of that is the implementation of vertical swipes to adjust the volume and horizontal swipes to go to the previous/next song. This will be accompanied by visual feedback on the selected volume. This has some similarities to the solution that you’re proposing, allthough not quite the same.

      I’m quite pleased with how this is coming along.

  6. Berrie says:

    @Strom: I’m not sure if this is possible (the link from Safari into MPoD is not possible, perhaps if I would include a browser in the application).

    But already there is a way to enjoy streams from using MPoD, allthough less fancy it works well for your favourite stations: start the stream once using some other mpd client, and then save it as a playlist. The playlist will now be accessible from MPoD and when selected will start the stream. This is how I’m using it currently.

    • Strom says:

      It seems that will work. I just recently got my first iPhone and did not realize Safari would not open a link with another app. Loving the device, not too crazy about the access Apple allows us to have to it. The browser in the app sounds bloated, and I really like the simplicity of the app as it is.

      Saving playlists should be a fine solution. I can’t imagine the radio stations change hosts very often. Thanks for the quick response!

  7. Strom says:

    Would like the ability to play ShoutCast streams on my MPD server by selecting them with the iPhone. Would go something like this:

    1. Open MPoD or Safari and browse the ShoutCast.com directory of stations.

    2. Press Tune In and have impdclient parse the .pls file and pass the stream path to the MPD server

    3. Enjoy streamed music!

    I have a shell script that does this on my Unbuntu system. I had to associate .pls files with it in Firefox, but I’m now able to click the Tune In and have my music start. Here are the contents of my shell script:

    #!/usr/bin/env sh
    export MPD_PORT=6600
    export MPD_HOST=192.168.0.1
    echo parameter: file.pls
    mpc clear
    grep ‘^File[0-9]*’ $1 | sed -e ‘s/^File[0-9]*=//’ | mpc add
    mpc play

    Thanks for the awesome player, even if this does not get accepted!

  8. Berrie says:

    A new version 1.2.1 that fixes the crashes is posted to the AppStore. Last time it took about 7 days before being available for download.

  9. Berrie says:

    Thanks, I’ve been able to reproduce the crashing problem (actually only on firmware 2.2, on my iPod touch which is on firmware 2.0 this problem doesn’t occur), and create a fix for it.

    On the reconnect issue, the previous version would try to connect forever which is not a good idea, in v1.2 I changed it so that it will only try once. That is problematic because connecting to wlan is pretty slow (again this seems to be mostly happening with the latest firmware), and yesterday I made some further changes so that MPoD will try to connect 3 times before giving up.
    Until this is released, when this problem occurs you can go into the preferences screen and click on ‘Connect failed (click to connect)’ after wlan is active, then you don’t have to leave the application.

  10. anonymous says:

    Last note: I’m only sure for 98%, but 1.1 reconnects to mpd even if I stay longer in standby (iPhone switch Wlan automatically off on a longer standby period) and let MPod open.

Leave a Reply