Rockbox – audiobooks, podcasts and sorting


Since I moved to Rockbox, I’ve had two issues that have been bugging me:
1. Keeping my podcasts and audiobooks separate
2. Sorting my podcasts (reverse chronological order and separating the ones I’ve listened to already)

I finally got tired of ignoring the issue and decided to give it a serious shot today. And it goes on to prove to me that with sufficient motivation, you need not fear doing things you’re unfamiliar with. In this case it was editing some config files in Rockbox.

For those not interested in the story, but just the job, here’s the file:

#! rockbox/tagbrowser/2.0
# ^ Version header must be the first line of every file

# Tag Browser configuration file, do not edit as changes will be lost!
# Instead, you can modify “/.rockbox/tagnavi_custom.config” which will never
# get overwritten automatically.
# Basic format declarations
%format “fmt_podcast_album” “%s” album ? genre == “podcast”
%format “fmt_podcast_title” “%s %s – %02d:%02d” basename title Lm Ls %sort = “inverse” %strip = “15” ? genre == “podcast”
%format “fmt_podcast_alphanum_title” “%s – %02d:%02d (%s)” basename Lm Ls filename ? title == “” & genre == “podcast”
%format “fmt_podcast_alphanum_title” “%s – %02d:%02d” title Lm Ls & genre == “podcast”

%menu_start “podcasts” “Podcasts”
“New podcasts” -> album ? genre == “podcast” -> title = “fmt_podcast_title” ? playcount == “0” & genre == “podcast”
“Old podcasts” -> album ? genre == “podcast” -> title = “fmt_podcast_title” ? playcount != “0” & genre == “podcast”

%menu_start “main2” “Database”
“Artist” -> artist ? genre != “podcast” & genre != “audiobook” -> album -> title = “fmt_title” ? genre != “podcast”
“Album Artist” -> albumartist ? genre != “podcast” & genre != “audiobook” -> album -> title = “fmt_title” ? genre != “podcast”
“Album” -> album ? genre != “podcast” & genre != “audiobook” -> title = “fmt_title” ? genre != “podcast”
“Audiobooks” -> album ? genre == “audiobook” -> title = “fmt_title” ? genre == “audiobook”
“Podcasts” ==> “podcasts”
“Genre” -> genre -> artist -> album -> title = “fmt_title” ? genre != “podcast”
“Composer” -> composer -> album -> title = “fmt_title” ? genre != “podcast”
“Track” -> title = “fmt_alphanum_title” ? genre != “podcast”
“Year” -> year ? year > “0” -> artist -> album -> title = “fmt_title” ? genre != “podcast”
“User Rating” -> rating -> title = “fmt_title” ? genre != “podcast”
“Recently Added” -> album ? entryage < “4” & commitid > “0” -> title = “fmt_title” ? genre != “podcast”
“A to Z…” ==> “a2z”
“History…” ==> “runtime”
“Same as current…” ==> “same”
“Search…” ==> “search”
“Custom view…” ==> “custom”

# And finally set main menu as our root menu
%root_menu “main2”

To solve this issue I had to approach the problem from two ends:
1. The files – correct tagging (podcast/audiobook) and in the case of podcasts, I had to ensure that the podcast filename was just the date the podcast was produced.
2. Rockbox – making the menus and the filtering

The files were relatively easy in terms of tagging. For podcasts, I use gPodder. I upgraded to the latest version on the debian repository (in Testing) and changed the config settings in gPodder to set the synchronized filename as just the “sortdate” as gPodder puts it.

In Rockbox, I had to pore over this page: http://www.rockbox.org/wiki/DataBase, and then experiment with the things listed until I finally got to the desired result. My key challenge was to understand how filters worked in the menus!

For example, initially, I had added the podcast menu as follows:
%menu_start “podcasts” “Podcasts”
“New podcasts” -> album -> title = “fmt_podcast_title” ? playcount == “0” & genre == “podcast”

This resulted in me seeing all the albums on my player, not just the podcasts! So after poring over the Database wiki some more, I realized that I needed to add the conditional inside the menu!

“New podcasts” -> album? genre == “podcast”

Once I’d figured this out, the rest was a matter of tuning the gPodder output and figuring out what works!

Hope this helps.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s