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 :-)
DVD slideshows under Linux
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.