Archive for March, 2010

Just Playlists 2.2.0—Skip Missing Tracks Preference, Small Fixes and Improvements

Friday, March 26th, 2010

I haven’t finished gesture-based control yet, but in the meantime I’ve fixed or improved a few things and added one new feature.

The new feature is a “Skip missing tracks” preference.  It’s off by default, which is how the program has behaved in the past.  That is, if there is a track listed in a playlist that doesn’t exist on the microSD card, Just Playlists will stop play and display an error message when it encounters the track.  The nice thing about this is that it tells you which track is the problem so that you can fix it.  The downside is that you have to manually advance to the next track to restart play of the playlist.  This isn’t good if you’re doing something where you can’t easily get to your phone.  For instance, I use Just Playlists when I run and have the phone in a belt case.  If playback stops, it’s a real nuisance to get at the phone.  In this case, I’d rather that the bad track is skipped.  That’s what the new preference setting does.  When you load a playlist, it is scanned to make sure each track can be found on your microSD card.  If it can’t be found, it isn’t included in the playlist as loaded.  The downside here is that you could have a bunch of misspelled tracks in your playlist that will never get played.  Also, if you’re loading a really long playlist with hundreds or thousands of tracks, the load will take noticeably longer, since Just Playlists has to do the extra checking.  So, I’d suggest only enabling “Skip missing tracks” when you load a new playlist likely to have errors and you don’t want playback to stop.  This should never be a problem with playlists you create using the program, since you can’t add a bad track name.

Note that the program is only checking for missing tracks.  I originally also verified that the tracks were playable.  This worked but was unacceptably slow.  So a corrupted or unplayable track will still stop playback with an error message.  If I come up with a way of speeding up verification, I’ll add it in the future.

The other small improvement I made is in the “Show database” functionality.  If you display your database and delete an entry, the entry listing no longer refreshes to the top of the list.  It will remain at the position where you deleted the entry.  This makes it a lot easier to clean up old entries.

As to fixes, there was a case where the name of a previously-loaded playlist could have been displayed on the main screen after returning from the preferences screen.  This no longer happens.  Also, if you had used the playlist chooser or playlist creator screens to go into a directory that you then deleted from outside the program—such as using a file explorer program—going back to the chooser or creator would have shown a blank screen that you’d have been unable to navigate away from.  I’ve fixed this, such that you’ll end up at a reasonable location on your microSD card.

I’ll be working on the gesture-based controls and hopefully have this ready for the next release.  I’ve also found the need for something I hope to add in a future release.  This is a filtering capability for the “Now playing” screen, so a string can be entered and only matching tracks in the currently-loaded playlist will show.  That way, you can find a specific track in a playlist without having to manually scroll through the entire list.

Just Playlists 2.1.0—Filename Color Coding, Playlist Creation Ordering Options

Friday, March 19th, 2010

I’ve added a few small things to the program that are fairly helpful.  The most obvious is color coding for filename types.  Playlist files are now colored a shade of magenta in the playlist chooser and music files are colored blue in the playlist creation screens.  This helps to distinguish them from directories if they are mixed in with them, such as if you are saving playlists to the top-level of your microSD card.  I’ve also changed the color of selected directories and tracks to gold in the playlist creation screens, since this is more consistent with Android highlight colors and stands out better, especially with the blue music file coloring.

There is a new preference category under “Preferences” titled “Playlist creation options.”  The only option there now is “Sort alphabetically,” which is the default.  That is, unless you uncheck this option, when you create a playlist, all tracks will be sorted in ascending alphabetical order of filename in the resulting playlist.  In this case, I’m using “filename” to mean the complete filename with path.  Thus, the track with the name of “/sdcard/artist/album 01/01 – trackname.mp3” will come before “/sdcard/artist/album 02/01 – trackname.mp3”.  Now, if you uncheck the “Sort alphabetically” option, tracks will be listed in your new playlist in the order you selected them.  Thus, if you selected the second example track above before the first one, they would be ordered with the second track coming before the first in the resulting playlist.  This is handy if you want to explicitly order your music tracks in a playlist.

Things aren’t quite as obvious if you are selecting entire directories of tracks by long-pressing on album directories and choosing the “Select contents” item from the pop-up menu.  The results are what I think you’d expect.  If you select a bunch of single tracks from different albums and then select all the tracks for another album with a long-press on its directory, the album’s tracks will come after those selected before, with the album tracks ordered alphabetically.  I’m expecting that most people are naming their music files with track numbers as the first thing in the names, so alphabetical ordering will result in tracks ordered properly for albums.

Just to beat this into the ground, when ordering as selected is in effect and you long-press on an artist directory to select multiple albums, the albums will occur in alphabetical order in your playlist.  If you selected other tracks from other albums beforehand and select more after, they will come before and after the artist’s albums, respectively.

If the above is confusing, go ahead and give it a try and you’ll figure out how it works.  The reason I first decided to add the new option is that I was creating a playlist for an artist with several albums and wanted the albums ordered as they were released, from oldest to most recent.  Since the names of the albums didn’t happen to be alphabetized this way, I couldn’t make it work.  With this new option, it’s just a matter of selecting the albums from oldest to newest.

Finally, I added track tag info to the context (pop-up) menu headers for music files in the playlist creation screens.  This is just like what you see when long-pressing on a track name in the “Now playing” screen.

Rather than work next on the playlist editor, I’m going to be adding gesture-based control to the program.  That is, I want to be able to tap the artwork screen area to toggle playback and swipe there for next and previous track.  I tend to have problems hitting the right play control button when I have the phone hooked up to my car’s sound system and sitting on the dashboard, so I want a bigger target to aim my finger at!

Just Playlists 2.0.5—Playlist Creation, Screen Position Memory, Bug Fixes

Monday, March 15th, 2010

I’ve finally finished adding the ability to create M3U playlist files from within Just Playlists.  The item “Create Playlist” can be found in the main screen’s menu.  You will be presented with a directory listing of your microSD card—the /sdcard/Music folder if you have one or /sdcard if you don’t.  Here, you can select music tracks that you want to save in a new playlist.  You can tap on any directory to dive into it or, with a long press, you can choose to select the contents of the directory.  This will tell the program to probe all the sub-directories down the tree under this directory and select all music tracks found.  When music tracks are selected, they are colored light purple, as are all directories containing selected tracks.  You can also go into directories that have tracks and select them individually by tapping them or long-pressing and choosing the appropriate pop-up menu item.  Tapping a selected track a second time will unselect it.  You can also unselect all tracks in a directory by long-pressing it and selecting the corresponding item from its pop-up menu.

Once you’ve selected all the music you want to put in your new playlist, use the “Menu” button on your phone to bring up the menu at the bottom of your screen.  You can clear all your selections by tapping “Clear selections” or save your selections by tapping “Save to playlist”.  Doing this will bring up a dialog box into which you can enter the name of your new playlist.  If you try to save a playlist with the same name as an existing one, you’ll be told this and given the choice to either overwrite the existing playlist or cancel the save.  The name you use for your playlist will end up being the name of the M3U playlist file that is saved to your microSD card.  The entire name will include the .m3u extension.  Just Playlists will save the playlist file to the last directory from which you loaded a playlist file or the /sdcard top-level directory, if you’ve never opened a playlist file.  Once you’ve saved a playlist, to load it, just use the playlist load button on the main screen to list the contents of your microSD card and browse to where it was saved.

Saving your selections to a playlist file doesn’t clear your selections.  The idea here is that you can save a playlist, go back and change the selections, and then save a slightly different playlist without re-selecting everything.  If you don’t want to do this, just make sure to use the “Clear selections” menu item before selecting files for your next playlist.

If you want to delete an existing playlist, you can either overwrite it as described above or go to the playlist loading screen, long-press the filename, and choose the pop-up “Delete file” item.

Along with the ability to create playlists, I also gave the program the ability to keep track of where you last were in any directory, in both the playlist creator and playlist loader screens.  This keeps you from having to scroll around as much.  Another help with reducing scrolling is the added ability to go up one level by tapping on the current directory name at the bottom of the screen.  It will briefly flash blue as it takes you up to the next directory above the one you’re in.  Thus, you don’t need to scroll to the top of the screen and tap the “..”, which will also pop you up by one level as it has done in the past.

Those are the major changes to the program.  I fixed a few bugs that could have resulted in the spontaneous reloading of playlists, as well as having tweaked display line widths, menu capitalizations, etc.

For the next version of the program, I’d like to pretty up the interface a bit.  I’m also considering adding the ability to edit existing playlist files.  First priority will be any bugs found, as always.