Slideshow

A simple program for displaying JPEG files as a slideshow. Originally created in 2002, it remains one of the very few slideshow programs available with special features for multi-monitor systems.

Download

Download Slideshow by clicking on the filename below.

Slideshow.zip (273 KB)
Version: 1.3.3a
Last updated: 06/07/04

Checksums:
MD5: 5cd3e5329b6db5b70f85ed507237e0e6
SHA-1: f5560bcd506e477c439af18e19eb81dea5f5b79b

Please ensure you have read the conditions for downloading and using this program.

Note regarding virus detection: please see this page regarding the occasional false virus detections that continue to irritate me.

 

Key features

  • Displays all JPEG and Bitmap files in a given directory as an automatic, full-screen, slideshow
  • Images displayed in random order, by date order, or by filename
  • Slideshow can be limited to only the newest files on disk
  • Control the slideshow with either the keyboard or the mouse
  • Split screen mode allows you to show up to 4 images per monitor

Features for systems with multiple monitors attached

  • Use either all of the monitors on the system, or a selection of them
  • Displays a different image on each monitor
  • Easily switch an image between monitors while slideshow is paused

Development on Slideshow has ceased

As noted above, the last update to this program was made in 2004, while I was still an undergraduate. I now work full-time with a perpetually busy schedule, and no longer have the time to devote to keep updating the software. In addition, the development environment used to create the program (Delphi 7) is no longer freely available, so further modifications are not feasible at present.

The version here, which has no serious bugs that I am aware of, will remain online for the foreseeable future.

About

I started writing this program way back in 2000, and have been working on it periodically ever since; since 2002 it’s been in a state where I’m happy to unleash it on other people.

Anyway, back to 2000. At the time, I’d just bought a new video card for my computer that allowed 2 monitors to be attached at the same time (the Matrox Millenium G400). In case you’ve never seen this feature, it means you effectively double the space of the desktop. Each monitor displays a different part of the desktop, not the same part, so you can run different programs on each monitor. There’s a nice page which explains this on the Microsoft website.

“This is cool,” I thought, and then tried to find something that it was useful for. After exhausting the obvious ‘Ooh I can have Word open on this screen and the Internet on the other!’, I thought, “Wouldn’t it be nice if I could run a slideshow with a different picture on each monitor?”

I searched around on the Internet for a while but couldn’t find anything that would do it. So I started writing my own. Here it is. To my knowledge, this is still the only free slideshow program that allows for multiple monitors.

These days, multiple-monitor support is becoming quite commonplace, even if only in the form of TV-out on your graphics card. Many recent nVidia and ATI cards now come with it built in.

Slideshow will theoretically support as many monitors as you have on your system. A word on OS support: multiple monitor support was introduced in Windows 98, and this program has been tested as working on pretty much every PC version of Windows from 98 onwards (except RT).

So far I’ve only had the chance to thoroughly test this program on systems with two monitors installed. My thanks to Douglas Cohn of Photogra.com, who has recently tested the program with a 5 monitor system, and provided me with a picture of the setup (below). If you’ve got it working with something similar, I’d be interested to hear how you got on, so please leave a comment at the bottom of the page with your experiences.

5-Up

Installation

Slideshow is designed to run with the minimum of footprint on your computer. The only file required for the program to run is the .exe file itself. Of course, some pictures would be useful.

Place the Slideshow program anywhere and run it to begin.

Use

Basic

The simplest way to start the program is to just double-click it in Explorer. This will start a slideshow using whatever files it can find (see below) and using all the available monitors on the system.

When the program is first run, it will check to see if it has been passed a pathname (see above) and check that directory for JPEG files. If it find none, it will then check the directory in which the program resides. If it still finds nothing, it will present a dialogue box asking the user to select a directory.

Advanced

Advanced options can be specified using command line switches when launching the program. The syntax is as follows:

Slideshow /B /DEBUG /F /P /Mx,y,z /N /O /Rn /S /T /Un /V pathname

To use these, you need to type them at a command prompt, or create a shortcut to the program and add them to the target box as demonstrated here. All switches are optional and most can be specified in any order. The various functions are explained below:

Switch Description
/B Changes the background colour from Black to White.
/DEBUG When specified, the program will create a debug.txtfile either in the same directory as the program, or, if that directory is read-only (i.e. on a CD), in the temporary directory as specified by Windows. This file gives some clues as to what the program does when it runs, and logs details of any errors.The temporary directory is usually C:\Windows\Temp on Windows 98/Me machines, or C:\Documents and Settings\Administrator\Local Settings\Temp on Windows 2000/XP. Also, when the slideshow is running, bringing up the status (see below) will tell you where the debug file is.
/F Automatically shrinks images that are bigger than the screen so that they fit on the screen.
/Pn Multi-monitor mode only: Changes the ‘primary’ monitor to the monitor number specified by n. The default value for n is 1.You can find out which monitor has which number by looking at the Display control panel.
/Lx Tells the program to only show the x least recent images. For example, the switch /L30 tells the program to only display the oldest 30 images from the directory chosen. Note that if used with /S, the slideshow will pick the newest 30 out of every image it finds.
/Mx,y,z Multi-monitor mode only: Tells the program only to use the extra monitors listed in x,y,z. For example, the switch /M2,4 tells the program to only use monitors 2 and 4. Note that monitor 1 will always be used unless the primary monitor is changed using /P. Default is to use all monitors on the system.You can find out which monitor has which number by looking at the Display control panel.
/Nx Tells the program to only show the x most recent images. For example, the switch /N30 tells the program to only display the newest 30 images from the directory chosen. Note that if used with /S, the slideshow will pick the newest 30 out of every image it finds.If used with /O, images will be displayed in date order, oldest file first. If you want to order by date but not filter to the newest x files, specify 0 for x, or leave it out completely (i.e. just specify /N).
/O Program displays the images in alphabetical order by pathname instead of in random order.
/Rn Tells the program how many seconds to leave each image on the screen for before changing to the next image. Default is 5 seconds. Maximum is 4294967.295 seconds (no, really).
/S Tells the program to also search for images in all sub-directories of the search directory.
/Tn Enables the display of each image’s filename in large type. n determines where the title is shown. If nis not specified, the default is 1

  1. Bottom edge of screen
  2. Top edge of screen
  3. Left edge of screen
  4. Right edge of screen

Note that the text always faces outwards, so the left and right edge titles are rotated 90° CW and 90° CCW respectively, and the top edge title is upside down.

/Un Tells the program to use ‘split-screen’ mode, which allows the display of either 2 or 4 images per secondary monitor. Valid values of n are 2 and 4 only. To split the primary monitor as well, see option /V below.
/V Tells the program to also split the primary monitor. Only valid when used with /U above. Note that when this is used, all the special functions normally associated with the primary monitor (e.g. image swapping, status text) will apply only to the left split (in 2-up mode) or the top left split (4-up mode).
pathname Tells the program which directory to look for JPEG files in. If you use a directory with a space in its name, be sure to enclose the pathname in double quotes, e.g. “C:\My Folder”

Controlling the slideshow while it is running

While the slideshow is running, you can pause the slideshow by either pressing the P button, the space bar, or by clicking the right mouse button. Pressing any other key, or clicking the mouse, will instantly quit the slideshow.

Once paused,the following commands are available:

Keyboard Mouse Description
P or Space bar Right mouse button Resume the slideshow (de-pause).
Left mouse button Clicking an image will swap that image with the one on the primary display, so that the clicked image is displayed on the primary monitor. Obviously, only useful if you have more than one monitor.
B Changes the background colour from Black to White or vice-versa.
F Toggles automatically shrinking images that are bigger than the screen so that they fit on the screen.
O Toggles displaying the images in alphabetical order by pathname instead of in random order.
S Toggles display of the programs status, i.e. status of the switches described above, and also displays on each screen the pathname of the current image being displayed.
T Toggles the display of each image’s filename in large type at the bottom centre of each screen.
1 – 9 Sets the number of seconds that the program leaves each image on the screen for before changing to the next image..
+ or – Scroll wheel up or down Increases or decreases by 1 second the time the program leaves each image on the screen for before changing to the next image.

Known issues

This is a list of the current known issues with the Slideshow program. You can expect these to be fixed with the next release.

  • Specifying /P1 on the command line produces a spurious error message about monitor 1 being invalid. This can be ignored since monitor 1 is the default monitor anyway.

Updates

Version Date Changes
1.3.3a 06/07/04
  • Fixed a bug with secondary monitors not being displayed caused by the new Delphi compiler taking notice of a setting it ignored before.
1.3.3 29/06/04
  • Changed the way the timer works. All images are now on a single timer instead of there being an independent timer for each screen. This means that the images should now always switch simultaneously, which they were supposed to before, but sometimes there was a slight lag. The altered program logic also removes the dumb restriction that meant you were only guaranteed a unique image on each monitor if there were at least twice as many images available as there were screens. Now you only need at least the same number, for reasons that should be obvious.
  • Fixed the /P switch so that when you set the primary screen to not be on monitor 1, the slideshow actually positions all the secondary screen correctly (oops). Since 1.3.0 the secondary screen that was being replaced by the primary would in fact stay in its normal position, with the primary screen obscuring it. This meant that the slideshow appeared not to be using all the available images.
  • Fixed a minor aesthetic issue where a blank primary screen would be displayed while the first image was loading – it looked ugly in split-screen mode.
  • Fixed a problem where the first image transition would happen almost straight away instead of being timed.
1.3.2 04/06/04
  • Enhanced the /T switch so that image titles are rotatable.
  • Fixed a problem where images were being repeated and the slideshow was locking up sometimes.
1.3.1 05/05/04
  • NEW: Added the /T switch to display each image’s filename in large type at the bottom centre of each screen.
  • Fixed a problem where secondary screens might be obscured by other programs.
  • Fixed a long-overlooked problem where command keys worked during the slideshow even when it was not paused.
1.3.0 28/03/04
  • NEW: Added the /L switch to limit the slideshow to only the least recent files in a directory, i.e. only show the oldest 30 images.
  • NEW: Split screen mode! Added the /U and /V options to allow you to show more than 1 image per monitor.
  • Fixed a problem where pausing the slideshow when the program was very busy loading images would not pause immediately.
  • Fixed a problem with the mouse becoming invisible even when moved if it only moved over secondary monitors.
  • Debug mode now prevents the mouse from becoming invisible and will not force the Slideshow to appear on top of other windows.
1.2.5a 01/09/03
  • Fixed a single bug that would in rare circumstances cause the icons in Windows to disappear after quitting the Slideshow (i.e. Desktop icons, Taskbar icon, Quicklaunch icons). Thanks to Jürgen Holtkamp for providing the flash of inspiration that finally helped me solve this problem.
1.2.5 28/08/03
  • NEW: Added the /N switch to limit the slideshow to only the most recent files in a directory, i.e. only show the newest 30 images.
  • NEW: Added the /DEBUG switch so if it all goes horribly wrong we can try and find out why.
  • Fixed a bug where if a directory was passed with a trailing space inside double quotes, the slideshow would not find any images.
1.2.4 20/08/03
  • Fixed a problem where having the same number of images as screens would cause the program not to run. (thanks to Andrew Cahill for alerting me to this problem.)
  • Fixed the secondary image cache. Previously, all secondary monitors would display the same image when the program was under moderate or heavy load. (Thanks to Douglas Cohn for alerting me to this problem and for testing the fixed program.)
  • Removed an unnecessary global variable.
1.2.3 16/04/03
  • NEW: Added the /S switch to search all sub-directories for images.
  • Fixed the UI font so that ClearType works properly under Windows XP.
  • Removed the pointless restrictions on which monitors could be specified on the command line, and how long a refresh time could be specified on the command line.
1.2.2 17/03/03
  • NEW: Added support for Bitmap images. Also restructured some code to make it easier to add further file type support in the future.
  • Solved a problem where the slideshow would get stuck on the same image.
  • Repaired some missing error messages.
  • Fixed a bug where if some parameters were passed but no images were found, the slideshow would just show a black screen instead of exiting.
  • Restructured the image decoding to improve the speed with which large images are displayed on screen.
  • Got rid of that annoying quirk where if no images were found at startup, a black screen would appear on the screen momentarily before the program quits. Yes, I know it took too long to work that one out.
  • Fixed a few small memory leaks.
1.2.1 30/04/02
  • NEW: Added the ability to browse for a folder at startup.
  • Removed a lot of redundant code by linking the secondary screens more closely with the primary screen.
1.2 ? First public release.
1.0-1.1 Internal releases.

11 thoughts on “Slideshow

  1. Rob Fisher

    Annoyingly, ESET Smart Security thinks this is “probably a variant of Win32/Spy.Agent trojan”. That seems unlikely to me, it certainly doesn’t seem to open any network connections. And it works well on Windows 7. Thanks for the handy program.

  2. James Post author

    A have had a report once before of false positives by F-Prot, which was corrected about 18 months ago. Having now checked the file a second time with VirusTotal, I am slightly irritated to find the identical download that was checked last time is now being picked up again by several different engines, most of which detect it as a different threat.

    The .zip download has not been modified from it’s original form since 2004, long before most of the reported viruses even existed. It it also an exact match for the original file on my hard disk. I can say with almost utter certainty that there is no virus contained within the download at the time of writing. I have updated the page to include the MD5 and SHA-1 checksums of the original .zip file for comparison purposes.

  3. sva

    Hello, I’m using your program Slideshow 1.3.3a.
    When I use the key / O for sequential display images correctly displayed only the first cycle. The following cycles are displayed in a strange sequence.
    ===
    Debug started 19.07.2010 11:38:06
    c:\slideshow\slideshow.exe /O /R1 /DEBUG C:\slideshow\pic
    5 image(s) loaded from Fixed drive C:\slideshow\pic\
    Monitor 1: C:\slideshow\pic\a.jpg
    Monitor 1: C:\slideshow\pic\b.jpg
    Monitor 1: C:\slideshow\pic\c.jpg
    Monitor 1: C:\slideshow\pic\d.jpg
    Monitor 1: C:\slideshow\pic\e.jpg
    5 image(s) loaded from Fixed drive C:\slideshow\pic\
    Monitor 1: C:\slideshow\pic\a.jpg
    Monitor 1: C:\slideshow\pic\b.jpg
    Monitor 1: C:\slideshow\pic\c.jpg
    Monitor 1: C:\slideshow\pic\d.jpg
    5 image(s) loaded from Fixed drive C:\slideshow\pic\
    Monitor 1: C:\slideshow\pic\a.jpg
    Monitor 1: C:\slideshow\pic\b.jpg
    Monitor 1: C:\slideshow\pic\c.jpg
    Monitor 1: C:\slideshow\pic\e.jpg
    5 image(s) loaded from Fixed drive C:\slideshow\pic\
    Monitor 1: C:\slideshow\pic\a.jpg
    Monitor 1: C:\slideshow\pic\b.jpg
    Monitor 1: C:\slideshow\pic\c.jpg
    Monitor 1: C:\slideshow\pic\d.jpg
    5 image(s) loaded from Fixed drive C:\slideshow\pic\
    Monitor 1: C:\slideshow\pic\a.jpg
    Monitor 1: C:\slideshow\pic\b.jpg
    Monitor 1: C:\slideshow\pic\c.jpg
    Monitor 1: C:\slideshow\pic\e.jpg
    5 image(s) loaded from Fixed drive C:\slideshow\pic\
    Monitor 1: C:\slideshow\pic\a.jpg
    Monitor 1: C:\slideshow\pic\b.jpg
    Monitor 1: C:\slideshow\pic\c.jpg
    Monitor 1: C:\slideshow\pic\d.jpg
    5 image(s) loaded from Fixed drive C:\slideshow\pic\
    Monitor 1: C:\slideshow\pic\a.jpg
    Monitor 1: C:\slideshow\pic\b.jpg
    Monitor 1: C:\slideshow\pic\c.jpg
    Monitor 1: C:\slideshow\pic\e.jpg
    5 image(s) loaded from Fixed drive C:\slideshow\pic\
    Monitor 1: C:\slideshow\pic\a.jpg
    Monitor 1: C:\slideshow\pic\b.jpg
    Monitor 1: C:\slideshow\pic\c.jpg
    Monitor 1: C:\slideshow\pic\d.jpg
    User pressed key #27 while slideshow running, causing program exit.
    Debug ended 19.07.2010 11:38:39
    ===

  4. James Post author

    This is odd, and I’ve not heard of it happening before. Unfortunately I don’t know if or when I’ll have time to look at it, but if I do post an update, it will be available here.

  5. steve lynch

    Hello! Awesome app, and i do understand that it’s a dead project.. however, I was wondering if you could simply tell me how to use the switches.. I have read every inch of your site, and cannot figure out how to exclude onitors, change the way it displays, or any of that.. I can do the things in the “p” pause menu, but not the switches which seem to be where all the meat is.

    thanks!

  6. James Post author

    You have to specify them when you run the program. I’ve added some more detail about this to the advanced use section above, since people seem far less familiar these days with how to use command line switches (10 years ago it was more common!)

  7. Alan

    James,

    Same as above. I am aware this is a dead project but I am curious. Would this work with a hot folder where photos are added from a tethered camera would they also appear in the slideshow even once it has started?

    Cheers
    Alan

  8. James Post author

    Alan: new images added to the folder should appear in the rotation, but only once the current queue of images has been exhausted, at which point the folder is re-read to build up a new queue. So, if your folder had 100 images when the slideshow started, and you added 5 more immediately after starting the slideshow, those 5 would only become part of the slideshow after the original 100 had all been shown.

  9. prlaba

    I just tried your SlideShow program on Windows 8.1. It fails with an Access Violation attempting to read address 00000140.
    The program flashes the Access Violation error pop-up, then displays the first image in full screen mode. Nothing happens after that. Pressing Enter switches out of full screen mode, where the error pop-up is visible. The mouse cursor disappears if you attempt to move the cursor inside the error pop-up. Hitting Enter closes the error pop-up, revealing a small window with the text “Loading initial images…” and the title ‘Please Wait…”. Again, the mouse cursor disappears if you attempt to move the cursor inside this window. Pressing OK closes the window.

    I tried running the program again with the /DEBUG switch, but no log seemed to be generated.I also tried selecting different folders to see if that mattered. It didn’t.

    Finally, I tried running the program in Windows 7 compatibility mode. hat also had no effect.

  10. prlaba

    Just to clarify my previous comment…

    Slideshow works great in my Windows 7 Ultimate SP1 system. It’s failing on Windows 8 with the Access Violation error I described in my last comment.

    To be clear, the error occurs immediately after I select the folder to be displayed.

    Also, if my last comment seemed to be missing some text, it’s because I stupidly used the word ‘Enter’ enclosed in angle brackets to indicate the Enter key; HTML ate the text as a tag.

    Your program is great! Its split screen feature is unique. Surprisingly, I’ve found only one slide show program with that feature and it’s more expensive than yours (i.e., not free :-).

    I only wish each half of the split screen could have its own source of photos. In my case, I’m planning a birthday party slide show with photos of my two sons; I want to show one son’s photos on the left and the other son’s photos on the right. I can still make this work by some creating naming of the photos, so that the two sons’ photos alternate (son1, son2, son1, son 2, …). Hopefully I’ll avoid an ‘off by one’ error!

    Thanks again for sharing your good work with the world!

  11. Alby

    this is way better than power show – 6 Tvs all running different pics and
    it doesn’t use much system resources
    awesome work thanks

Leave a Reply

Your email address will not be published. Required fields are marked *