SuperShow, a slideshow creator

Current version: 2.3

What is it?

SuperShow is a program that allows you to create a slideshow (in Adobe Flash format) from a PDF and an audio file.

Imagine this scenario: you do a conference with a set of slides created with Impress, PowerPoint or other tool. Someone (maybe you) recorded it as only audio, to make it available in the net. Unfortunately it lacks the slides, so people who download the audio will have to get them separately and try to imagine when to change to the next picture.

With a video recording there's the problem that, usually, the slides are quite unreadable, unless high bitrates are used and the camera set near the screen.

Here is where SuperShow comes. With it you can take your slides (exported to PDF) and your audio/video recording, and mix them in a single, small size, Adobe Flash file, which can be played from the net or downloaded to be seen locally. SuperShow allows you to easily sincronize the audio and the slide transitions and insulates you from the complexity of creating Flash files from Linux with SWFtools (ok, it's not so complex, but requires you to use the keyboard :) .

Using SuperShow

When you launch SuperShow, it will show the main window. Here is where you will do all the work.

The first thing you have to do is start a new project. When you click the button, SuperShow will show the File selection window:

Here you can choose the files with the presentation itself (remember: exported as PDF) and the audio or video. The last one is played using GSTreamer, so it must be in a format that it understand. If you can play it with Totem, it will work in SuperShow.

You have to choose the output directory and the filename you want for the output file too. SuperShow will create a folder in that output directory, to store some temporary files, and finally will create the final SWF file with the slideshow.

After choosing all the files, folder and filename, SuperShow will pre-generate the slides to show during the sinchronization process, and finally will show again the main window, but now you have two new possible buttons to press: Load timeline and Next slide.

To create the slideshow, you just have to press Next slide and SuperShow will start playing the audio (and possible video) and show the first slide.

And now is easy: just click the Next slide button in the right moments to change to the next slide, and SuperShow will store the timeline. If the slides are too small, just maximize the window.

When you reach the last slide, you must press the button once again to set the point where you want the sound to stop. This allows you to maintain the last slide as many time as you want (for example, if there's a part with questions after the presentation, and you want to maintain it).

When you end, you will be able to save the timeline list with the Save timeline (to use them in a future using the Load timeline button), or create the presentation itself just by clicking in Create slideshow. If you use this last option, SuperShow will show the Properties dialog, where you will be able to choose the backend to transform the PDF to SWF:

The best backend is PDF2SWF because the final quality is perfect, but has a little drawback: it's limited to 65.535 elements. This means that it can fail with (very) complex presentations (PDFs with a lot of text, pictures...). In this case, you can choose GhostScript. This backend generates a JPEG with each slide, and paste them in the final SWF. It can manage very, very complex presentations, but the final quality is poor. The Picture resolution field allows you to choose the final size for the JPEGs (but be carefull: very big pictures can result in a sinchronization loss, due to the extra work needed to uncompress such big JPEG).

The JPEG quality slider allows you to choose the quality for the pictures stored in the SWF (bigger quality means bigger filesize). The Audio delay value allows you to adjust the precise instant for the transitions in the case there's a delay: if the slides change too late, put a negative value (like -400), and if the change too soon, put a positive value (like 250). Remember that the value is in milliseconds (1 second = 1000 milliseconds).

Finally, the checkbutton Add control buttons (Play, Pause...) allows to create slideshows without the control buttons. The Hide control buttons while the slideshow is playing makes the control buttons to slowly hide, allowing to fully watch the slides. Finally, the Add button for "Play again", which allows to create slideshows without a button to play it again when it ends.

After pressing the Forward button, SuperShow will generate the slideshow in the specified directory, and then will return to the main window (in case you want to save the timeline). If there's an error (because the disk is full, or because the PDF is too complex) you can try again as many times as you need.

This is a presentation running in Firefox. At bottom left you can see the menu to rewind 5 seconds, jump to the previous slide, play/pause, jump to the next slide, and forward 5 seconds. At bottom center is the slide counter, and at bottom right is the time counter. This menu is shown when the mouse cursor is moved to the bottom part of the presentation, and hides itself when the mouse cursor leaves it.

File format for timeline

The files with the timelines are very simple, and are human-readable, so is possible to fine-tune them if needed, or even create them directly with a text editor.

The filename must end in .supershow, or SuperShow won't show it in the file list.

The first line must contain the string supershow, to identify the file and ensure it's a valid timeline file.

Next comes one or more lines with commands. Currently only two commands are recognized:

File format for ActionScript template

The template with the ActionScript code is stored at /usr/local/share/supershow/script.base or at /usr/share/supershow/script.base. It's a pure ActionScript code, except for the fact that SuperShow parses it to replace some tags with specific data. The tags has this format:

{PREFIX:SUFIX}

The PREFIX part contains the tag type, and the SUFIX part contains the subtype. These are the currently recognized tags:

The tags can't contain into them blank spaces, carriage returns or semicolons, to avoid being confused with code blocks.

Command-line utility

Is possible to use the utility supershow-converter to import or export between this format and a simple list of times in format hour:minute:second.millisecond. This way, if you have a list like this one:

0:0:8.12
0:0:45.3
0:1:2.018
...

You can convert it to the format used in SuperShow with the command:

supershow-converter import input-file output-file

And you can reverse the conversion just using export instead of import.

FAQ

Contacting the author

This program has been created by Sergio Costas (Raster Software Vigo).
http://www.rastersoft.com
e-mail: raster@rastersoft.com