Gaffe - A portable animation tool

H. Opstaele

Gaffe is an command-line tool for creating 2D animated movies. It is intended for spicing up video presentations, slideshows and electronic postcards.


Table of Contents
1. Introduction to Gaffe
1.1. How does Gaffe work?
1.2. History of Gaffe
1.3. Comparing Gaffe to other tools
2. Obtaining and Installing Gaffe
2.1. Availability and location of Gaffe
2.2. Installing and testing Gaffe
3. Gaffe Concepts
3.1. Introducing concepts using examples
3.1.1. Camera movements on the scenery
3.2. File Type Overview
3.3. Region definition files
4. Function Reference
4.1. Compounds
Anime — Indicates the start of the script.
Cycle — Queue that simulates forward motion until the middle and then reverses the motion. Operations are handled one after the other (cyclic , spreading).
Hold — Mixing queue that prevents a thread to split up its sub-compounds.
Loop — Queue that simulates forward motion until the middle and then reverses the motion. Operations are mixed so it appers they are executed uniformly in time (cyclic , non-spreading).
Pipe — Queue that simulates forward motion. Chunks are spread so they are completed one after the other (non-cyclic , spreading).
Repeat — Queue that simulates forward motion. Operations are mixed so it appers they are executed uniformly in time (non-cyclic , non-spreading).
Thread — Weaves a new queue from its sub-compounds, thus simulating concurrent motion.
4.2. Operations
Blit — Draws a graphic overlay (an image or imagelist) onto the scenery.
Fade — Fades a region to another image or another colour.
Freeze — Freeze repeats the previous operation.
Move — Moves all points of a region.
Nop — No OPeration. Do nothing during a certain amount of time.
Paint — Paints a region on the scenery. The painting can be a solid colour or the border of the region. It can also morphe a region to its transformed coordinates (by operations like rotate, move,...).
Pan — Takes a shot of the scenery at a certain camera position.
Persist — Make transformations persistent.
Rotate — Rotates a region by an angle, hereby moving all but the first and last vertix
Stretch — Stretches or shrinks a region, hereby moving all but the first and last vertix
4.3. Variables
4.3.1. Global variables
4.3.2. Local variables
4.3.3. Changing variables from the command-line
5. User manual
5.1. Compiler errors
5.2. Advanced Topics
5.2.1. Using Makefiles
5.2.2. Speeding up compilation using multiple computers
5.3. MPEG Encoding
List of Figures
3-1. A sample region file
4-1. The evaluation phase
4-2. The processing phase
List of Examples
2-1. Testing the installation
3-1. Sample1.g: Simple camera movements
3-2. Sample colour definition
4-1. Description of the 'pipe' motion compounds
4-2. Sample ranges
4-3. Example use of local variables
4-4. Producing a variable number of output frames
4-5. Setting variables from the command-line
5-1. Working with makefiles