Loud ramblings of a Software Artisan

Monday 25 December 2006

libgphoto2 2.3.1

btw, a quick note: libgphoto2 2.3.1 and al. got released yesterday. It just fixes some bugs.


Sunday 3 December 2006

gphoto 2.3.0

gphoto2 and libgphoto2 2.3.0 are out.

Thanks to all the contributors for the excellent work.

Wednesday 9 August 2006

RAW processing on Linux

linux.com has an article on Processing RAW image files on Linux. They cover shortly the various aspects (including gphoto). I find it quite informative, even if it misses digiKam.

Friday 4 August 2006

Tech Support

mxpxpod: if your Nikon camera makes f-spot crash when you download the pictures, you might have better to switch the camera back to USB Mass Storage. f-spot will bypass libgphoto2 and directly import by copying.

Off course, reporting the bug will help the f-spot team to get it fixed.

Digital Camera support experience

Tim Bray recently decided to switch to Ubuntu.

Today he writes:

Well, I was going to have to do it sometime. I got out the USB cable and plugged the camera into the Ubuntu box, not expecting much.

What a pleasant surprise; some little program popped up, told me I’d plugged in a Canon S70 and wondered where I’d like to download the pictures to. Had a nice little slide-show thingie too for quick review.

Thanks Tim for the feedback, the gphoto team is happy to have provided you a good surprise. (and also kudos to the applications writers and system packagers for providing the user experience).

Wednesday 28 June 2006

Quote of the day:

Mark Pilgrim commenting on his own post about his switch to Linux:

Yes, as I noted a few weeks ago, I bought the Canon PowerShot SD450. When I plugged the camera into my shiny new install, Ubuntu immediately recognized it and offered to import the photos, which I did, and it worked. I believe this is the work of libgphoto2, which is one of those amazing little libraries that does one incredibly useful thing incredibly well and just keeps getting better for free. Someone out there *really* cares about interfacing with digital cameras, in much the same way that I *really* care about parsing RSS and Atom feeds.

Thanks Mark, you made my day with this user testimonial. I know switching is not easy, and I'm really happy that the libgphoto developers made your life easy for that part.

Tuesday 20 June 2006

libgphoto2 2.2.1

I release libgphoto2 2.2.1 yesterday after getting some report of breakage on non-Linux platforms. Nothing else has been added.


Thanks to everybody for the feedback and help.

I expect to release what is in TRUNK within a month as it improve largely the support of digital audio players and as there is a huge patch to support capture with Canon 5D and 20D.

Sunday 18 June 2006

libgphoto2 2.2.0

I finally took myself from a huge slacking, and I released libgphoto2 and gphoto2 2.2.0. It was long overdue.

News from 2.1.6 incude:

  • support for USB Mass Storage cameras (one API for all)
  • support PTP over IP
  • support MTP devices (Digital Audio Players, yes)
  • support lot of new cameras
  • fix several outstanding bugs


Monday 24 April 2006

Talking about digital photography and Linux

I spend my week-end reading online and on dead-tree, as well as tranlating my slides from GUADEC 2005 to French so that I can talk about digital photography at the meeting of Club Linux Outaouais in Gatineau, QC, Tuesday. Talk will be in French, that goes without saying. I'm not just simply translating, I'm updating a few items and add some new stuff about KDE programs.

I must note that OpenOffice 2.0 did crash at least 5 times during the process. The good news is that their recovery mechanism seems to work pretty well.

Slides will be posted as usual (Update) are here. Enjoy!

Saturday 7 January 2006

Digital media devices access

If you want to access your digital camera, you use a program that use libgphoto2. Now, with version 2.1.99 (upcoming 2.2) we even handle the camera that are mounted as a disk. It took us time to implement that because we didn't see the interest until we realized that people wanted to use their camera with a digital photo application, be it f-spot, gtkam, digikam, gthumb, and that the developer of said application shouldn't have to figure out the details. So now, we provide a single API for all the cameras that we know how to communicate with.

But what if you want to access your digital audio player (iPod, iRiver, Nomad Jukebox, etc)?

Some devices work as USB Mass Storage, like the small flash based players, hence do not require anything special driver.

For the iPods, there is libgpod that developers use to access the iPod private and proprietary database, there is ipod-sharp and its companion libipoddevice for those who write in C#, ipodslave of KDE developers (it is a kio-slave module) and gnupod, the Perl version.

For the Nomad Jukebox, there is libnjb, that implements the DPE protocol.

For the new iRiver and other MTP devices, there is experimental support in.... libgphoto2. Yes, you read correctly, a digital camera driver can be used. The MTP protocol is a variation of PTP (Picture Transfer Protocol, used for still image cameras), mostly pushed by Microsoft who provide a standard driver in the latest Windows XP updates. It is some sort of corruption of PTP and I think that the idea behind is to be able to control what files can put on the device, like implementing DRM. A bit like Apple does with iPod preventing iTunes users to download from the iPod the music, requiring that the music be on both the iPod and the computer, and having implemented a hackish crippling of iTunes to prevent loading some third-party plugins that allowed users to download the music off the iPod.

And I probably miss a lot.

How confusing is that ? Confusing for the developer that has to write at least four different version of code to access most of the device, and to the user that may not be able to use the application XyZ with the ACME player.

The solution it to create a library for digital audio player access the same way we have libgphoto2. One API for all the devices. That would involve a few changes in libgphoto2 to extract the PTP protocol, and give libgphoto2_port is own life, because the PTP implementation uses it. That would give the following architecture (admire the ASCII art):

libgphoto2 ---> ptp2camlib -> libptp2 <---- libaudioplayer
 \                   |            /           /    \
  \                  v           /           /      \
   \->      libgphoto2_port   <-/ <---------/        --> other drivers

Sunday 1 January 2006

gphoto2 2.1.99 "Happy New Year" released

I just released gphoto2 2.1.99. This release is required to build with libgphoto2 2.1.99 that has been released previously. One of the reason is that gphoto2 relied on some libgphoto2_port API that has changed.

gphoto2 is the command line front-end to libgphoto2.

Friday 30 December 2005

gtkam 0.13.1 "It is still ex-Mas"

gtkam 0.13.1 "It is still ex-Mas" has been released today.

Gtkam is a GTK frontend for libgphoto2.

This release brings various bug fixes. I really hope somebody would give this program more love.

Thursday 29 December 2005

gphotofs or the reverse use case.

We have had users complain that they couldn't use their "USB Mass Storage" camera using a libgphoto2 client, and we finally implemented support of these using the disk: driver. Philip Langdale have been having the opposite use case: using a non Mass Storage camera using a file manager.

This is how gphotofs is born. gphotofs is a FUSE file system, ie a user space filesystem using libgphoto2. The code has reached gphoto CVS.

More about this later.

Monday 26 December 2005

Boxing Day Sales: libgphoto2 2.1.99

libgphoto2 2.1.99 has been release today on Boxing Day. It is the first pre-release of the upcoming 2.2.

This release is for testing purpose.

Beside the numerous bug fixes and new camera support, the major feature is the support of cameras mounted as filesystems (works better if you have libhal) that I have already described, as well as better handling of the in memory caching (by Marcus).

The tarballs are available on Sourceforge as usual.

Wednesday 31 August 2005

libgphoto2 bindings

I committed as is 2 sets of bindings for libgphoto2. One for Java, done with SWIG, the other is for Python done with Pyrex.

I haven't tested them, but they are here, provided by some external contributor.

Now I have C# waiting. I extracted the code from f-spot 0.1.1.