Emacs Movie Browser

See Emacs. See Emacs play movie

In the continuing story of Emacs@Home (don’t worry, I think there’s only one part left now), we’ve now come to the part where I watch TV.  I know, it’s something most people manage quite perfectly without resorting to Emacs, but why would you?

Well, actually, I think that the interfaces I’ve seen have been somewhat lacking.  Mostly mouse-based and not very practical.  I just want to sort by name or by recording date, and I don’t want to use an HTPC pointer device.  So:

User story: Keyboard-based and snappy.

Emacs is ready for its close up

Solution: Emacs.

I think this Emacs movie browsing interface demonstrates how little code you need to get a satisfactory result.  Emacs does all the difficult stuff for you, and presto! You have the interface as shown at the top there, displayed in blurrovision.  I just couldn’t get my camera to focus.  What if I take a the picture closer?  Yeah, that’s a bit better.

Anyway, I’ve got a little wireless keyboard next to me, and viewing a program just requires paging up and down a bit and hitting RET, which suits me fine.

Oh, and it just forks mplayer to actually play the movie.  Sorry, I didn’t implement H.234 decoding in Emacs Lisp.

Olde Stylee

So, not much code this time…  but it’s a bit interesting how writing about stuff like this changes the stuff itself.  Before starting to write this, the interface was even more minimal.  It didn’t have thumbnails and wasn’t in Futura.

The last picture there is how it used to look.  Just as functional (if you squint), but I thought “hang on, an Emacs interface without any pictures would be just to stereotypical”, so I added the thumbnails.

When writing software that I’m just going to use myself, it gets a lot more basic.  I get to embarrassed about the code quality, and I start cleaning it up, and before you know it, it has all these…  frills.  I’m not actually sure it’s a positive effect.  It might be.  Hm.

Anyway!

One thought on “Emacs Movie Browser”

  1. This seems really cool, but some install & instructions for the dummies among us would be helpful. Installing the “standard” way — i.e. (require 'movie) just results in “Required feature 'movie' was not provided” — even though one can subsequently invoke M-x RET movie-browse, for instance. Also, thumbnails aren't being generated, and I'm not exactly sure where that Perl code needs to go.

    As I said, I'm a dummy :p

Leave a Reply