DVD slideshows under Linux

Philip Newborough notes that in the last LugRadio episode I said that I planned to release more odd bits of software. (He also illustrated this with a snippet of audio from the show; since we’re trying to relax our licence to allow this sort of thing, it’s great that people are taking advantage of that!) The problem I outlined on the show itself is that I write lots of little bits of software for me, but I don’t release them. They’re not generally applicable or easy to install: they’re not designed to be polished, public-friendly software in any way. Now, I’m a huge opponent of this. There’s a pervasive myth among non-Linux users that all the software on the free desktop is complicated and thorny and command-line driven, and it requires you to edit configuration files and compile it yourself. It’s not like that, not at all, if you don’t want it to be. However, these little bits of software I write purely for myself are like that; they’re not for general distribution. So, I don’t release them, because I don’t want to add more fuel to the fire for the sneering hordes who say that Linux is hard to use. Over pizza earlier this year, it was brought home to me that that might not be the best idea; even though these little hacks aren’t useful to the general population, they might be useful to someone. So, my resolution, if I have one for this year, is to get more of this stuff out there. Update: Greg Grossmeier is doing the same thing after I talked about releasing scripts on LugRadio. That’s really cool; it’s lovely to hear when people go with a suggestion! The first one is a thing to create DVD slideshows under Linux. My dad said to me over Christmas that a friend of his would, on return from holiday, give out DVDs with all the photos from the holiday on in a nice little slideshow that you could watch in your DVD player. Was it possible, he asked, for him to do the same thing on his (Ubuntu) desktop? Of course, said I, and then started looking into how to do it. The base way that everyone does this on Linux is with the dvd-slideshow shell script, which uses tools like mplayer and so forth to do the work. There are GUI clients for it but they’re all really complicated; what you want ideally is something where you just drag photos into it, select transitions if you want to, and click the “go” button. There’s also an extension for F-Spot, but it’s not actually distributed with F-Spot yet and my dad doesn’t use F-Spot anyway. (There isn’t an extension that does this in a sane way for digikam, as far as I can tell.) I at first sat down to my keyboard thinking that I’d write a nice PyGTK + GStreamer application that would do this right, before discovering that you can’t really take a load of photos and make a nice slideshow out of them with GStreamer. (You sort of can, with multifilesrc, but not really; you can’t feed it arbitrary files, it doesn’t do transitions, etc.) Then I thought: I’ll do a nice application that wraps dvd-slideshow, and then I couldn’t be arsed. So instead, I wrote a script for my dad: make-dvd-slideshow. The way this script works is that you hardcode the name of a folder into it. It looks in that folder, makes all the images in that folder into a slideshow, adds an mp3 as a soundtrack if it finds one in the folder, and then drops the resulting .iso file onto your desktop ready for burning. You’ll need to change at least FOL="/home/aquarius/Desktop/Olivia Party 2" to be the location of the magic folder (I put one on my dad’s desktop, called “DVD Slideshow”, and hardcoded it into the script) and then run the script (I put a launcher on his desktop, in that folder, which launches the script in an xterm). Enjoy this: if you think it sucks then I’d love to see someone write something better, and tell me about it when you do; if you want to write something better but aren’t sure how to do it then I’ll happily write you a spec of how I think it should work :-)

I'm currently available for hire, to help you plan, architect, and build new systems, and for technical writing and articles. You can take a look at some projects I've worked on and some of my writing. If you'd like to talk about your upcoming project, do get in touch.

More in the discussion (powered by webmentions)

  • (no mentions, yet.)