I know this is not film related per say, but I think it's a nice thing to have on hand.
I don't know if you're anything like me but I just love those small 4x6 index prints I get from the photofinisher. They're a handy way to keep track of the pictures on a roll and take very little place. But one of the problems is that if you do your own film developing and scanning, you don't get them.
I did try a few other programs to do index prints but they're all too complicated to use. I just wanted something that's a no brainer. Drop a folder on the program and pop it saves an index print in the folder you just dropped. Sounds simple but it's not really.
Since I wanted performance, I decided to stick with Imagemagick (imagemagick.org) as it's a very fast command line processing that doesn't require a lot of coding from scratch. Little did I know it would give me such a hassle! I've been slaving over this for 4 days now and the thought of modifying it more just makes me sick to my stomach... this thing is a pain until you finally figure out that you have to count pixels until your brain hurts.
So, here are my results. Just copy the script and save it in a text file named ContactPrint.cmd on your desktop.
@echo off
rem Make Contact sheet script
rem by François Laverdure
rem To use, simply copy to a folder that has a path to it
rem and call from the desired folder. It will generate
rem a contact sheet from this folder's content.
rem it supports JPG
echo Contact Print Creator for JPG files
echo.
echo Please wait for index print to be created.
rem Go to drag and drop folder
cd "%~1"
rem Get current dir name
for %%* in (.) do set CurrDirName=%%~n*
rem Count number of files in folder
for /f %%A in ('dir /a-d-s-h /b ^| find /v /c ""') do set cnt=%%A
rem check if less than
if %cnt% lss 20 goto Mini
rem check if less or equal
if %cnt% leq 30 goto Normal
rem check if greater than
if %cnt% gtr 30 goto Big
:Mini
montage -units PixelsPerInch -density 300 ^
-tile 5x4 -label %%f -font Arial -pointsize 6 -background "white" ^
-fill "black" -define jpeg:size=356x228 -geometry 356x228+2+2 ^
-auto-orient *.JPG -title %CurrDirName% contact.jpg
convert contact.jpg -gravity north -background white -extent 1800x1200 contact.jpg
goto end
:Normal
montage -units PixelsPerInch -density 300 ^
-tile 6x5 -label %%f -font Arial -pointsize 6 -background "white" ^
-fill "black" -define jpeg:size=296x186 -geometry 296x186+2+2 ^
-auto-orient *.JPG -title %CurrDirName% contact.jpg
convert contact.jpg -gravity north -background white -extent 1800x1200 contact.jpg
goto end
:Big
montage -units PixelsPerInch -density 300 ^
-tile 7x6 -label %%f -font Arial -pointsize 6 -background "white" ^
-fill "black" -define jpeg:size=253x154 -geometry 253x154+2+2 ^
-auto-orient *.JPG -title %CurrDirName% contact.jpg
convert contact.jpg -gravity north -background white -extent 1800x1200 contact.jpg
goto end
:End
echo print created
Here's what the index files it creates look like.
I'll write more on it when my head stops hurting