Archive for the ‘Just Playlists’ Category

Just Playlists 3.5.0—Album Artwork for Radio Paradise, and No External Media Required

Wednesday, September 1st, 2010

This release doesn’t have any major new features and all changes are in both JP and JPP.  The most visible change is that, if you are a fan of the awesome streaming station called Radio Paradise, you will now see album artwork displayed when you play their 128Kbps MP3 SHOUTcast stream.  Though it might sound like I’m favoring RP with a special feature, it’s really their ingenuity that allows for the artwork.  They attach a URL pointing to the album artwork hosted on their website for the current song within the “StreamUrl” metadata tag for their 128Kbps stream.  Most SHOUTcast streams either don’t use the StreamURL tag or just have a URL for their main website.  So, though Radio Paradise is the only stream I know of that uses the tag in this fashion, any stream doing something similar will end up with the image showing up in Just Playlists as album art.  I wish many more streamers did this.

If you want to listen to Radio Paradise and see/hear for yourself, a direct link to their 128Kbps MP3 SHOUTcast stream is http://www.radioparadise.com/musiclinks/rp_128.m3u.  You can tap this URL on your Android phone and choose to open it with Just Playlists.  That’s all there is to it.  To save this as a permanent playlist on your phone, choose the “Create playlist” item from the main display menu after you’ve loaded up the stream as described above and, once there, choose “Save hosted playlist” from the menu and give the playlist a name and save it.

The main website for Radio Paradise is http://www.radioparadise.com, if you’re interested in finding out what’s playing, looking up information on the songs they’re playing, or giving them a donation—their broadcast is listener-supported.  If you access their website from your phone, you’ll be directed to a mobile website.  Choose the “Listen” link to access their stream links.  Make sure you scroll down to their MP3 links if you want to use Just Playlists to listen to the stream.

The other useful change I’ve made to JP/JPP is that you no longer need to have an SD card installed in your phone to use the program.  Since I first wrote Just Playlists, many phones have started to come with an “internal SD card”—that is, there is storage built into the phone that acts like an SD card and on which you can store music and playlists.  How this is implemented seems to differ between phones, and I’ve never worked with a phone that has such a storage space.   But if you do store music in this space, you can also create playlists there and play them via Just Playlists.

One other thing you may notice if you are running Android 2.2/Froyo on your phone.  I’m no longer hard-coding the SD card’s top-level directory in as “/sdcard.”  I’m letting Android tell the program what this directory is called.  Under 2.2, it’s called “/mnt/sdcard.”  There is still a “/sdcard” directory, but I believe it’s actually what is called a symbolic link in Unix parlance.  You can navigate to either location to access the SD card but, by default, you’ll be placed in the “/mnt/sdcard” location, since that is the mount point for the SD card file system, from what I can tell (more Unix talk there).

Just Playlists 3.4.3—Direct Track Time Entry, Quick-skip, Bug Fixes

Sunday, August 1st, 2010

I’ve added a long-press context menu to the song info on the main screen.  This has a “Go to time” item that brings up a dialog box that allows for entry of the minute and second point to go to in the currently-loaded track.  This is particularly handy for podcasts that might have certain content at certain times in the file.  For the Plus version of the program, I’ve added the ability to change the Previous/Next track functionality of the program to a quick-skip 7 seconds backward and 30 seconds forward.  This can be used in a podcast to skip through commercials, initial into content, etc.  Note that both of these features only work for local music files; streams are being continuously loaded, so skipping around like this isn’t possible.

Speaking of the Plus version, I’ve renamed the “Just Playlists for Donators” donate version of the program to “Just Playlists Plus.”  Most major upgraded functionality will only be in the pay version, though I will continue to improve the free version and add some new features.

Along with the above improvements, I fixed small bugs and crashes.  The two most noticeable are the proper display of non-square artwork and removal of progress bar lag.  Previously, album artwork that wasn’t square was being stretched.  It now displays with the proper aspect ratio.  Second, the progress bar wasn’t being reset to 0 at the same time as a new track’s artwork was loaded.  There was a bit of lag.  This has been removed, so that transitioning to a new track should look much “crisper.”

Just Playlists 3.3.6—Bug Fix: Last Track in Playlists Being Skipped

Sunday, July 11th, 2010

I introduced a bug with version 3.3.5 of “Just Playlists” in the process of fixing some problems with track indexing.  At the end of the playback of the second to last track in a playlist, play would continue with the first track in the playlist, skipping the last track.  I’ve fixed this.  Though this is the only change in 3.3.6, I figured this is a pretty annoying bug that should be fixed now rather than rolling the fix out as part of a larger upgrade later.

Just Playlists 3.3.5—Fixing Things: Headset Buttons under FroYo, Streaming, Import Restart

Thursday, July 8th, 2010

As usual, after releasing a major upgrade, the next week consists of fixing bugs that appear.  This time, part of the blame goes to upgrading my phone from Android 2.1 (Éclair) to 2.2 (FroYo).  This exposed bugs from small changes in the OS that affected Just Playlists.

First, headset buttons stopped working after upgrading to FroYo.  This seems to be due to a change in how Android handles broadcasts that happen when the headset buttons are pressed.  I found a way around the problem that is better than my original implementation.  Another FroYo issue was streaming audio being dropped with an error -1001 issued by Android’s MediaPlayer handler.  Once the stream was dropped, only a program restart would allow streams to be loaded once again without getting the -1001 error.  Though I can’t really fix what seems to be a bug in FroYo, I was able to detect this error and do an exit/restart of Just Playlists–restarting the audio stream, as well.

Having learned how to do the exit/restart cycle, I also now do this after a data import.  Previously, the user had to restart the program.  Now, it restarts immediately on its own.  I’d wanted to do this with the initial release of the import/export functionality but hadn’t figured out how.

I found a couple other small glitches unrelated to FroYo.  The bottom loop of the lower-case letter “g” was being clipped in song titles in portrait mode on 800×480 displays.  Interestingly, this only appeared on physical hardware; the Android SDK emulator didn’t show it.  Also, a spurious single-quote was appearing after the stream title display for some streams under certain circumstances.  This has been fixed.

Just Playlists 3.2.3—Donation Version, Import/Export, Other Fixes and Improvements

Monday, June 28th, 2010

With this version of the program, I’ve decided to publish both the usual free version of “Just Playlists” (JP for short) and a donation version called “Just Playlists for Donators” (JPD for short).  The programs are functionally identical.  As a thank you to those who purchase the donation version, I’ve included a couple extra display options.  The first allows you to hide the notification bar at the top of the screen.  This is nice for anyone concerned with burn-in on AMOLED screens like the one used by the Nexus One.  It also allows the artwork to be larger when in landscape mode for most screen sizes.  The second option keeps the screen on and undimmed when the phone is plugged into a power source.

I’ve also changed the color scheme for the donation version’s icon, so that it looks different than the free version; this avoids confusion if both are installed at the same time.

If you’d like to upgrade to the donation version, you can search for it in the Android Market or use the “Donate” option at the top of the program preferences, which will take you right to JPD’s Market entry.

When upgrading from the free version, the new import/export feature comes in handy.  You can now export your settings and saved playlist positions to your microSD card.  They are saved in a folder called “justplaylists.”  So, to upgrade and transfer all your settings and positions to JPD, just export out of JP, exit, install and start up JPD, and then import.  The program will exit after the import, so just re-launch it and you should be right where you were in JP.  I’d also suggest uninstalling JP when you’re done.  You can keep both around, but it can be confusing even with the differently-colored icon for JPD.

Note that the import and export don’t affect your actual playlists on your microSD card and they aren’t a part of the export.  It just saves the settings and database information.  So, if you move to another phone and microSD card and want to retain the same playlists and settings, make sure you copy the playlist files as well as the “justplaylists” export folder, then do an import into JP/JPD.

Here’s a quick list of other fixes and updates I’ve made to the program:

  • Larger progress bar for the landscape view on phones with larger screens.
  • Various small changes to layouts for different screen sizes.
  • Better grouping of preference options under sub-categories.
  • Playback pauses when headphones are unplugged from the headphone jack.
  • Playback controls on hard-wired headphones now work.
  • A message box will pop up and disappear when a new playlist is saved successfully.
  • A crash was resulting from using the “Previous track” button on headphones when at the beginning of a playlist, rather than wrapping properly to the last track.  This was fixed.

What’s next?  I’ve received great suggestions and hope to implement some of them soon.  I also want to display artwork for streamed audio tracks.  It shouldn’t be too hard to do this if a streamed track also exists on the microSD card, in which case the phone’s media database has the artwork.  I’m going to research on-line artwork repositories that I might be able to tap into.  I’m a big fan of album cover art and will see what I can come up with.

Just Playlists 3.1.1—Save Hosted Playlists, Bug Fix for Long Track Positions

Wednesday, June 2nd, 2010

I’m doing another release fairly soon after the last due to another bug fix.  I also took the opportunity to add a new feature.

The new feature is the ability to save a hosted playlist that you’ve loaded via a web page.  If you go to a website like http://www.shoutcast.com and click on one of the “Tune In!” links and load a playlist for streaming to Just Playlists, you can now go to “Create playlist” and you’ll find a new menu item called “Save hosted playlist.”  This will let you name and save the contents of the playlist that you loaded from the Web.  The menu item won’t show up unless the last playlist you loaded was a hosted playlist.

The bug I fixed showed itself if you happened to play a track longer than around 35 minutes in duration (thanks to Scott for finding this).  The progress bar would reset to the beginning.  Also, if you tried to use the progress bar to move past about the 35 minute point, the progress bar and the current time into the track would reset.

Scott also had a couple of neat suggestions for features to add to Just Playlists that I hope to implement in the near future.  The features are the ability to skip forward or backward in a track by one minute and to go to an exact time position within the track.  Both features would be particularly useful for podcasts.

Just Playlists 3.0.2—Fix for Crash When Program is Idle

Sunday, May 30th, 2010

I’ve had a crash occur using Just Playlists 3.0.1, as well as receiving a report of the same crash from someone using the program.  It seemed to occur when Just Playlists was running but idle in the background.  I found the underlying cause and have fixed it in this version of the program.  The reason I know someone else had the crash is that developers now receive crash reports via the Android Market if someone using the program indicates they want to report the crash by responding appropriately via the dialog box that comes up after the crash.  This is extremely helpful and I encourage anyone having a crash in any Android program to report it thus.

Just Playlists 3.0.1—Audio Streaming, PLS Files, Prevention of System Playlist Deletion, and More

Saturday, May 29th, 2010

Just Playlists now supports the streaming of audio files and SHOUTcast/Icecast streams over the network.  If you place an HTTP-based URL into a playlist that links to either an audio file or a streaming server, Just Playlists will attempt to connect to and play it.  You can have mixed local audio files and URL’s or just a list of URL’s in a playlist.  For SHOUTcast and Icecast streams, if there is stream and song information embedded in the received stream, it will be displayed on the main screen.  And, if you go to the “Now Playing” screen, you will also see information about streams in the playlist entry listings and can hold-click to bring up a bit more info, including the stream bitrate.

Being that streaming audio comes over the network, a lot of things can make streams not play or stop playing.  I’ve tried to work around most of these and give good error messages when I can’t.  In rare cases, you may not be able to get any of your streams to play once one fails.  In that case, restarting the program should fix things up.

The program will now display and load playlist files from your microSD card ending in .pls that are in the PLS format.  It doesn’t actually use any of the extended information from the PLS file except for the track or stream data.  And, you can load both PLS and M3U playlists that are linked into web pages.  For instance, you can go to http://www.shoutcast.com and click on the “Tune In” links to play a stream in Just Playlists.  The “Tune In” links are just URL’s pointing to PLS files with stream URL’s in them.

Another new feature that anyone saving playlists with URL’s in them should know about is system playlist deletion prevention.  It turns out that as Android scans your microSD card when you first boot your phone or re-insert the card, if it finds any playlist files containing tracks that it cannot locate on the microSD card, it will delete the playlist files.  That means if you have just URL’s in your playlist file, Android thinks it contains no useful information and deletes the file.  You can prevent Android from doing this by going to the playlist chooser screen in Just Playlists, navigating to your playlist directory, and choosing “Create .nomedia File” from the menu.  This creates an empty file called “.nomedia” in your directory.  When Android sees this, it won’t scan this directory or any below it and thus won’t delete your playlist files if they just contain URL’s.  It will also stop Android from scanning in the ID3 tag information for any song files in this directory or below it, so it’s a good idea to keep your playlists in a separate directory from your music files if you’re using the .nomedia file.

Lastly, I have tested Just Playlists with Android version 2.2—also known as Froyo—and it is working well.  You may have heard that Froyo allows you to move applications to your microSD card as long as the applications allow for it.  I’ve set up Just Playlists so it will let you move it to your card.

I had to do a lot of re-engineering of the program to allow for streaming audio, so if you find any bugs that have cropped up, please let me know.

I hope to do more work on streaming, making it more reliable.  A feature I hope to add will allow you to save playlists that you load from websites.  So, if you go to SHOUTcast.com and load up a stream that you like, you’ll be able to permanently save it to your microSD card for later use, with a name of your choosing.

Just Playlists 2.4.5—Open M3U Playlists from File Managers, Better Album Art Handling

Saturday, April 24th, 2010

The changes to this version of the program aren’t readily visible but are useful.  First, Just Playlists will be offered up as a program for opening M3U playlist files from Android file manager programs, such as the ASTRO and AndroZip file manager apps.  This means you can use these and other such apps to browse the contents of your microSD card for playlists.  When you find one and select it, you should be offered Just Playlists as an app that can open it.  The default music player is often offered as well, but if you choose it, you’ll be told that it can’t actually open playlist files.  This is a quirk in the way the default music player presents itself to Android as a player for all audio files, even if it can’t handle opening them.

The second update to Just Playlists is that it will now ask Android to scan new music files into the Android media database.  In the past, if you loaded a bunch of new music onto your microSD card and used Just Playlists to play them, you may not have seen the album art and tag information for the tracks displayed during playback.  That’s because it takes Android a while to find new music files and scan them for this information.  With the change to Just Playlists, if it is used to play a new file, it will ask Android to immediately scan the information and, once done, the album artwork and tag information will be refreshed to the Just Playlists main screen.  Thus, a new track may not have this information when it is first loaded, but the screen should refresh to show the information within a short time—the more new tracks you’ve put on your phone, the longer it’ll take.

As a handy side effect of this update, some of your tracks that never had their tag information properly displayed may now display correctly.  I had one track like this.  I believe the name of the track contains characters that confuse the default media scan by Android but that are not a problem for the scan when requested by Just Playlists.  Kind of cool.

I’m going off on a slightly different tack for the next feature addition to Just Playlists.  I’d really like to have the app handle audio streamed from the Internet.  The idea is that if you have a URL for an audio stream in an M3U playlist file, Just Playlists will open the URL and stream the audio from the website.  This would allow for you to create playlists of your favorite SHOUTcast streams, for instance.  Implementing audio streaming will probably be a bit complicated and will take some time.  So the next update beyond any bug fixes will probably be a while coming and will probably justify revving the program version to 3.x.x.  We’ll see what happens!

Just Playlists 2.3.1—Gestures for Playback Control, Layout Tweaks for High Resolution Screens

Tuesday, April 13th, 2010

I’ve added gesture control to Just Playlists.  It can be turned on by going to “Preferences” and checking “Enable gestures.”  To use the gestures, just tap or swipe the main program screen within the album artwork area.  A tap will toggle playback—pausing playback if music is playing and starting playback if the music is paused.  A horizontal swipe across the screen from right to left will advance playback to the next track.  A horizontal swipe from left to right will take you back to the previous track in the playlist.  Swiping vertically up from bottom to top will open the “Choose a playlist…” screen and swiping vertically down from top to bottom will open the “Now playing” screen .  Note that these functions were available previously by using either on-screen buttons or the menu.  With gestures, you have a larger target area and don’t have to go into the menu.

Whenever you touch the screen to start a gesture, the artwork will flash gold until you finish the gesture by lifting your finger.  This is an indicator that the device has detected your gesture.

Note that Just Playlists will allow for swipes that don’t lie along precisely horizontal or vertical lines.  Up to 45 degrees away from the horizontal, a swipe is considered a horizontal gesture.  Beyond this, it is considered to be a vertical gesture.

The other change to the program was to better position the playlist name and song information on the main screen when in portrait orientation on devices with resolutions greater than 320×480.

For the next release, I hope to set things up such that Just Playlists will be offered up to open M3U playlist files if they are selected from within apps that allow for browsing the contents of the microSD card.  Also, when new music is loaded to the microSD card, the track tag information takes a while to be loaded by Android and may not show up in Just Playlists.  And, occasionally, the artwork may not show until the track is accessed by Just Playlists once and the program is restarted.  I should be able to adjust the program to detect this and add the tag information to the Android database of media information.