updateThumbnails

A tool to keep local thumbnails in large trees of photos and other images up to date.

Purpose

After years of digital photography a huge collection of pictures has grown. And, over the years I use different tools for browsing and sorting these photos. In addition the photos are shared via NFS and SAMBA over my private network.

In this case I thought of thumbnails which are part of my directories where the photos itself are placed. To manage these thumbnails, I wrote updateThumbnails.

updateThumbnails is running on Linux, and should also work on other UNIX platforms as long as the packages are available which updateThumbnails depends on.

Features

updateThumbnails

  • stores the thumbnails of photos in a dot directory
  • stores thumbnails for different applications and sizes
  • supports XV thumbnails
  • supports generation of GNOME local thumbnails as used by GQview
  • only generates thumbnails if the original image has changed
  • removes thumbnails where the original file no longer exists

What do I need to get it runnning?

updateThumbnails depends on some other software packages:

Download

Installation

Download the tar ball, extract it and start the installation as root:

tar xvzf updateThumbnails-1.1.tgz

updateThumbnails-1.1/INSTALL

Usage

Before the first use of updateThumbnails you have to create a dot file in your home directory named .updateThumbnails.rc which could look like this:

#

# updateThumbs rc file

#

 

THUMBNAILS="SCREEN THUMBS THUMBLOCAL XVPICS"

 

#

# screen resolution file dimensions

#

SCREEN_WIDTH=800

SCREEN_HEIGHT=400

 

#

# thumbs resolution file dimensions

#

THUMBS_WIDTH=128

THUMBS_HEIGHT=128

 

#

# thumblocal resolution file dimensions

#

THUMBLOCAL_WIDTH=128

THUMBLOCAL_HEIGHT=128

 

#

# xvpics resolution file dimensions

#

XVPICS_WIDTH=80

XVPICS_HEIGHT=60

 

#

# JPG quality for JPG files

#

JPG_QUALITY=80

 

#

# file extensions to scan

#

EXTENSIONS="jpg png"

 

#

# directories to scan

#

DIRECTORIES=" \

/home/gromeck/remote/Photos/Incoming \

/home/gromeck/remote/Photos/PrintService \

/home/gromeck/remote/Photos/Sorted \

/home/gromeck/remote/Photos/Unsorted \

/home/gromeck/remote/Photos/Photoart \

"

But what does this all mean? So, let's have a look:

THUMBNAILS holds a list of names which updateThumbnails should process. For each of these names, a subdirectory will be created (where the directory name is this name in lower case, preceeded by a dot). In the example: the directories .screen, .thumbs, .thumblocal, and .xvpics will be generated in each directory updateThumbnail is going to process.

NOTE: the processing of THUMBLOCAL and XVPICS will trigger a special handling in updateThumbnails.

For each of the named thumbnails in THUMBNAILS, a definition of the with and height should be done, so that updateThumbnails will know the dimensions of the thumbnails.

NOTE: the thumbnails in THUMBNAILS should be arragned from largest to smallest thumbnail dimensions, because updateThumbnails will generate a thumbnail from the next larger thumbnail before the original image will be used. This gives a dramatic speed-up of the thumbnail processing.

The JPG_QUALITY can be used to fine tune the compression rate of JPEG images.

EXTENSIONS holds the extensions of images updateThumbnails will search.

DIRECTORIES is a list of directories updateThumbnails should process if no directory is given on the command line.