Introduction
============
The GifAnim v. 54 datatype is a subclass of (a helper for) the standard Amiga
OS4 animation datatype, which adds the ability to read and write animated GIF
files. When used with a program like MultiView or MultiViewer, it allows
animated GIFs to be played and optionally saved. When used with a program
like DTConvert (version 1.2 or newer), it allows other animation formats such
as ANIM and CDXL to be converted to GIF animations. And like any datatype it
allows objects, in this case GIF animations, to be embedded into a program,
giving any program the ability to display GIF animations with little effort
by the programmer.
The GifAnim v. 54 datatype was inspired by the 68K GifAnim datatype v. 2.5
written by Roland Mainz, which was ported to OS4 by Fredrik Wikstrom. But
while it was inspired by Roland Mainz' work -- which served as an invaluable
reference as to how to write an animation datatype, something that is not
well documented otherwise -- it was written from scratch, and does not use
any of Roland's code. Along the way, it fixed many problems with the older
datatype.
The v. 54 datatype replaces the GIF file reading and writing code of the v.
2.5 datatype with that of GIFLIB, a widely used and well-debugged open-
source GIF file handling library. This maximizes the datatype's ability to
handle all the varieties of GIFs in the wild, and eliminates some of the
crashiness of the older datatype. The v. 54 datatype also fixes a number of
bugs in the compositing of the frames of a GIF file into a playable
animation, which caused the older datatype to play many GIF animations
incorrectly. Finally, by targeting only OS 4.1 FE (graphics.library v. 54) it
disposes of all of the ancient-compatibility kludges of the older datatype,
including the need for Cybergraphics when displaying truecolor animations.
Features
========
o Loads animated GIF files (those with two or more frames), which are then
played by the animation datatype; single-frame GIFs are still handled by
the regular OS4 GIF datatype
o Fixes many bugs in the v. 2.5 GifAnim datatype, eliminating crashes and
allowing animations to play correctly
o LOOP option overrides the REPEAT setting of MultiView/MultiViewer,
allowing GIF animations to loop without causing all other file types
(such as sounds) to loop as well
o TRUECOLOR option converts GIF animations (which are always colormapped)
into truecolor format for display; some GIF animations require this in
order to display correctly
o Can save GIF animations to a new file, with optional optimization to
reduce the size of the file
o When used with a utility like DTConvert, can convert any other
(compatible) type of animation into a GIF animation
o Includes an installer that can also set the datatype's preferences
One feature of the v. 2.5 datatype that the v. 54 datatype does not support
is the ability to attach a sound file to a GIF animation. GIF files do not
allow for sound, so adding the ability to play sound was non-standard. The v.
54 datatype sticks to the GIF standard by not supporting sound.
Requirements
============
As the version number suggests, the GifAnim v. 54 datatype requires Amiga OS
4.1 FE (version 54) or newer. That's mainly because it makes use of version
54 of graphics.library, which moves truecolor graphics support into the
library, eliminating the need for Cybergraphics and P96.
Source Code
===========
The GifAnim v. 54 datatype is open source; the source code is included.
|