Just Playlists—Android Music Player for M3U Playlists

There are quite a few nice general-purpose music players for the Android operating system.  But I couldn’t find one that was lightweight and implemented playlist shuffling the way I wanted it to.  A “proper” playlist shuffle for me is shuffling the list of tracks as found in the playlist and then playing the shuffled list from first track to last track.  This means that no track will be played again until all tracks in the shuffled list have been played.  Most the Android players I’ve tried simply do random play—that is, they randomly pick tracks from the playlist and thus will end up with repeats before all tracks are played.

That’s why I ended up writing the “Just Playlists” music player for Android.  It’s not meant to be a replacement for the other music players and doesn’t have the sophisticated features they do.  But it does shuffle playlists as described above.  Here’s a complete list of the important features of the program:

  • User choice of loading the playlists in given order or as randomly shuffled.
  • A shuffled playlist is read from first to last track and thus doesn’t repeat any tracks before all tracks have been played.  Upon getting to the end of the playlist, play continues at the beginning of the list.
  • The current track, current position in the track, and track order are saved for each loaded playlist.  Thus, the user can switch between playlists and always return to the same spot in each playlist.
  • The music player interface is very simple, with maximal space being given to the album artwork.
  • Android’s media database is queried for tag and artwork information.  Thus, any media that Android can scan and store data for will return information for the program to display.
  • The user can use the “Touch” menu option to for the currently-loaded playlist, which causes it to be reloaded from the microSD card, with the choice of a new shuffle or unshuffled.
  • If a playlist file is changed by the user, the program detects this and reloads it as if it’s a new playlist.
  • The user creates playlists outside of the program in M3U format and then loads them to the microSD card.  An M3U playlist is a text file with one track file name per line.  Track file names can be complete Unix-style file paths to the location of music files anywhere on the microSD card.
  • If a phone call comes in, the player will pause during the call and then resume afterward.

    This program is not for everyone.  To use it, you’ll need to be comfortable with creating M3U playlists on your computer and then loading them and your music files to your phone’s microSD card.   I do this using Perl and DOS scripts to create the playlists from iTunes playlist exports, copying both the music and the playlists to my microSD card from my PC.  I hope to make these suitable for public consumption and make them available at some point.

    Here’s a list of improvements I hope to make to “Just Playlists” in the future:

    • Better use of higher screen resolutions.  The program should work fine at all resolutions, but it looks best under 320×480 and doesn’t take full advantage of higher resolutions and their increased screen areas—such as the 854×480 screen of the Motorola Droid.
    • Bluetooth headset control.
    • Ability to view and manipulate playlists from within the program.
    • Ability to specify either repeat play when the end of a playlist is reached or that the playback should just stop.

      If you try the program out and find that it has any problems, feel free to leave a comment here and I’ll see if I can fix it.  Please include information on your phone, including its screen resolution and the version of Android its running.  I own a T-Mobile G1 and thus have only used it on this physical hardware, which is running Cyanogen’s modded version of Android Donut (v. 1.6r2) at 320×480.  I have tested it via emulators under most screen resolutions and on Android v. 1.5r3 through 2.0.1.

      Comments are closed.