((lambda (x) (x x)) (lambda (x) (x x)))

Sunday, September 7, 2008

LPT72 Lab #00 - Two useful applications to get your podcasts.

LPT730 Lab #00 - Two Applications

The two applications I am going to talk about today are ones that may interest students interested a client they can use to acquire the podcasts mentioned in my blog entry here. These two applications are Rhythmbox and bashpodder.

Both of these applications are podcasting clients ('podcatchers'), but they differ in their approach, so some people might prefer one over the other. The biggest difference between these two applications is that Rhythmbox is a graphical (GUI) application while Bashpodder is a non-graphical (CLI) application. The installation examples provided for Bashpodder assume you are running Ubuntu Linux, but will likely not require much alteration for other distributions.



Rhythmbox is not only a podcatcher, but a full fledged audio player capable of playing audio in any format for which a gstreamer codec exists, including popular formats like WAV, AAC, MP3, FLAC, OGG and WMV. Rhythmbox presents the user with a typical 4 pane interface that will be familiar to users of other clients such as iTunes.

To subscribe to a podcast from within Rhythmbox, simply right click on the 'Podcasts' item in the leftmost pane and click 'New Podcast Feed' in the context menu that appears. This will present you with a dialog in which you can enter the address of the RSS feed for the podcast you which to subscribe to. Once you have done this, new episodes will be periodically downloaded automatically, or you can initiate a check for new episodes manually by accessing the same context menu on the 'Podcasts' item in the leftmost pane and selecting 'Update All Feeds'.



The second client, Bashpodder, is a command line application: in fact, it is a simple bash script taking up less than a page of printed space. It provides no visible output whatsoever, and so the screenshot provided is of the program's actual code. Nevertheless, it is a fully functional, lightweight and elegant solution for updating your podcast selection. This one is a little trickier to get going since there probably isn't a package for your distribution, but by the standards of command like applications it's on the easier end: simply download two files from their website (bashpodder.shell and parse_enclosure.xsl), place them in the directory you'd like to store them in (like, for instance '~/bin/'), and link the main file somewhere in your path, using a command like: 'sudo ln -s ~/bin/bashpodder.shell /usr/local/bin/bashposser'. Now, create a file named 'bp.conf' in the folder you put bashpodder.shell in and place the addresses of the RSS feeds for the podcasts you wish to keep up to date on in this file, one per line.

Now, typing 'bashpodder' will download any episodes from these feeds you have not downloaded before into folders labelled by date. By default these folders are created in the same folder bashpodder is run from, but you can easily modify a single line in the bashpodder.shell file to specify a specific destination directory.

The one disadvantage is that by default, Bashpodder, provides no way to automatically update the podcasts you have subscribed to. This is quite easy to fix, however: simply run the command 'ln -s ~/bin/bashpodder.shell /etc/cron.hourly/bashpodder' and the crond scheduling daemon will automatically run the program once an hour, easily solving the problem of keeping your podcasts up to date.

No comments: