Short: Datatype for animated GIFs Author: Mike Steed Uploader: 72207 463 compuserve com (Mike Steed) Type: util/dtype Version: 54.0 Architecture: ppc-amigaos >= 4.1 FE 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.