84355 packages online


No screenshot available
Short:Datatype for animated GIFs
Author:Mike Steed
Uploader:72207 463 compuserve com (Mike Steed)
Architecture:ppc-amigaos >= 4.1 FE
Download: - View contents


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

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.


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.


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.

Contents of util/dtype/GifAnimDT.lha
---------- ----------- ------- ------- ------ ---------- ------------ ----------
[unknown]                 9569   11420  83.8% -lh5- 450c Jul 22 17:58
[unknown]                 9635   26521  36.3% -lh5- 965f Jun  5  2021 GifAnimDTv54/COPYING-LGPL
[unknown]                  892    4978  17.9% -lh5- 46a6 Aug 24 22:21 GifAnimDTv54/GIFANIM
[unknown]                14522   41328  35.1% -lh5- 8081 Aug 24 22:24 GifAnimDTv54/GifAnim
[unknown]                 8424    9870  85.3% -lh5- 9b00 Jul 21 18:13 GifAnimDTv54/GifAnim
[unknown]                20733   45404  45.7% -lh5- cdd8 Aug 24 22:21 GifAnimDTv54/gifanim.datatype
[unknown]                14163   15261  92.8% -lh5- 900e Jul 21 18:13 GifAnimDTv54/
[unknown]                 1945    5425  35.9% -lh5- 949d May 29 17:26 GifAnimDTv54/Install + Config
[unknown]                13130   18251  71.9% -lh5- e272 Jul 21 18:13 GifAnimDTv54/Install +
[unknown]                 9577   11420  83.9% -lh5- 5fbe Jul 22 16:15 GifAnimDTv54/
[unknown]                 7046   27974  25.2% -lh5- 43f6 Apr 27 18:22 GifAnimDTv54/Source/DataType.c
[unknown]                 1995    5952  33.5% -lh5- cdae Aug 24 22:20 GifAnimDTv54/Source/DataType.h
[unknown]                12134   42557  28.5% -lh5- 2df8 May  9 17:45 GifAnimDTv54/Source/GifAnim.c
[unknown]                  121     142  85.2% -lh5- e294 May 16 19:49 GifAnimDTv54/Source/GIFANIM.dt
[unknown]                 1771    5192  34.1% -lh5- 2088 Apr 27 18:21 GifAnimDTv54/Source/GifAnim.h
[unknown]                  762    1940  39.3% -lh5- 9d7e May 10 16:32 GifAnimDTv54/Source/gifanimclass.h
[unknown]                14041   49540  28.3% -lh5- fd52 Jul 11 22:34 GifAnimDTv54/Source/LoadGifAnim.c
[unknown]                  767    2918  26.3% -lh5- 3b9e Apr 27 18:20 GifAnimDTv54/Source/LoadGifAnim.h
[unknown]                  836    2550  32.8% -lh5- 3486 Aug 24 22:19 GifAnimDTv54/Source/Makefile
[unknown]                 4156   14915  27.9% -lh5- 65bb Jan  4  2023 GifAnimDTv54/Source/Recognizer.c
[unknown]                17629   62633  28.1% -lh5- 0d4d May  8 19:45 GifAnimDTv54/Source/SaveGifAnim.c
[unknown]                  754    2824  26.7% -lh5- 0922 Apr 27 18:20 GifAnimDTv54/Source/SaveGifAnim.h
[unknown]                 1384    2885  48.0% -lh5- 0eb2 Aug 24 22:46 GifAnimDTv54/Source/Source.doc
---------- ----------- ------- ------- ------ ---------- ------------ ----------
 Total        23 files  165986  411900  40.3%            Sep 21 02:06

Aminet © 1992-2023 Urban Müller and the Aminet team. Aminet contact address: <aminetaminet net>