@database loaders.guide

@node Main "PPT I/O Modules"

    This documentation is a short  description  of  the  different  file
    types PPT recognizes. Click on the name below to get to the point.

    [ (*) = Documention not yet complete ]

        @{" C-code          " link C-code}
        @{" IFF ILBM        " link ILBM}
        @{" Targa           " link Targa}
        @{" JFIF/JPEG       " link JPEG}
        @{" Compuserve GIF  " link GIF}
        @{" PNG             " link PNG}
        @{" PNM/PGM/PPM/PBM " link PNM}
        @{" Datatypes       " link Datatypes}
        @{" YUVN            " link YUVN}

    PPT saves the I/O modules in the PROGDIR:modules subdirectory.  Any
    modules ending with ".iomod" taken to be an I/O module.

    NB: V2 used a completely another style of I/O module that  ended  in
    ".loader".  If you happen to have these around, delete them. They're
    no use to anyone anymore and PPT wouldn't even load them even if you
    tried.

@endnode

@node Datatypes "datatypes.iomod"

@{b}REXX TEMPLATE@{ub}
    LOAD:
    SAVE: N/A

@{b}LOAD FORMATS SUPPORTED@{ub}
    All picture datatypes you've cobbled your hard drive with.

@{b}SAVE FORMATS SUPPORTED@{ub}
    None.

@{b}@{"EXTENSIONS" link PPT.guide/Extensions} SUPPORTED@{ub}
    None.

@{b}DESCRIPTION@{ub}
    This IO module will use the new OS3.0 datatypes.library in order  to
    load  images.  You  can  find  new datatypes in Aminet, in directory
    util/dtype.

    Note that the current version of picture datatype is not equipped to
    handle more than 256 color images and thus all images you get have a
    maximum of 256 colors, even if the original image had  more  colors.
    This  shortcoming has been corrected with CyberGfx picture.datatype,
    but so far PPT does not understand it.

@{b}NOTES@{ub}
    The priority of this IO module is -100, so that it  won't  be  tried
    until  all  other  image loaders have failed to recognize the image.
    That way your own JPEG datatypes, for example, won't come into  play
    before PPT's internal JPEG IO module.

@{b}BUGS@{ub}
    Does not support the DTM_WRITE method.  Is there really a need?

@{b}SEE ALSO{@ub}
    Any good PD archive for a plethora of useful and useless datatypes.

@endnode


@node GIF "Compuserve GIF"

@{b}REXX TEMPLATE@{ub}
    LOAD:
    SAVE: INTERLACED/S,TRANSPARENT/N

    INTERLACED - saves an interlaced file.
    TRANSPARENT - set the given color to be transparent. Color 0 is
        always the background color.

@{b}LOAD FORMATS SUPPORTED@{ub}
    GIF87, GIF89a.  Interlaced images are supported.  Transparent GIFs
    are supported from v1.1 onwards.

@{b}SAVE FORMATS SUPPORTED@{ub}
    GIF87, GIF89a.  Interlaced images are supported.
    Transparent GIFs are supported.

@{b}@{"EXTENSIONS" link PPT.guide/Extensions} SUPPORTED@{ub}
    None.

@{b}DESCRIPTION@{ub}
    GIF is a very popular format in the PC environment and since it  has
    been adopted as the standard for WWW, it has become extremely widely
    known. Unfortunately, UNISYS owns the patent for the  LZW  algorithm
    used in packing the image in the GIF file and decided that they wish
    their piece of the action and now you must pay money if you use  GIF
    in a commercial or shareware program.

    GIF will hopefully be superseded by @{"PNG" link PNG} in the near future.

@{b}NOTES@{ub}
    This module can be spread freely in any case.
    GIF animations will produce a warning, but you can load the first
    image in, though.  This will have to do until I finish the animation
    support... ;->

@{b}BUGS@{ub}

@{b}SEE ALSO{@ub}
    @{"PNG" link PNG}, @{"PNG" link PNG}, @{"PNG" link PNG}, ...

@endnode


@node ILBM "Amiga IFF ILBM"

@{b}REXX TEMPLATE@{ub}
    LOAD:
    SAVE:

@{b}LOAD FORMATS SUPPORTED@{ub}
    Color: 1-8 bitplanes, 24 bitplanes.
    HAM6, HAM8, Extra Half-Brite.
    Both compressed and uncompressed images.

@{b}SAVE FORMATS SUPPORTED@{ub}
    Color: 1-8 bitplanes, 24 bitplanes.
    HAM6, HAM8, Extra Half-Brite.
    Only compressed images are supported.

@{b}@{"EXTENSIONS" link PPT.guide/Extensions} SUPPORTED@{ub}
    Save: Annotation,Author.
    Load: Annotation,Author.

@{b}DESCRIPTION@{ub}
    The IFF ILBM format has been the most popular format  in  the  Amiga
    community.  Every  graphics  package  supports it and it is the only
    format that can save Amiga-specific images like Extra-Halfbrite, HAM
    and  HAM8  (short  for  Hold  And Modify). Also, the OS gives a good
    support  for  reading  and  writing  IFF  file  formats,  since  the
    iffparse.library has been standard from version 2.0 onwards.

    However, the compression used by the  ILBM  algorithm  is  not  very
    efficient and thus it looses in any competition for image size.  For
    a much better compression algorithm, use @{"PNG" link PNG}.

    Of course, if you must save a HAM/HAM8 or ExtraHalfBrite image, only
    ILBM gives you the possibility to save Amiga viewmodes.

@{b}NOTES@{ub}

@{b}BUGS@{ub}

@{b}SEE ALSO{@ub}

@endnode


@node JPEG "Joint Photographic Experts Group"

@{b}REXX TEMPLATE@{ub}
    LOAD:
    SAVE: COMPRESSIONLEVEL/N,PROGRESSIVE/S

    COMPRESSIONLEVEL - JPEG compression level. Must be between 0 and
        100, the default is 75.

    PROGRESSIVE - When this switch is on, a progressive JPEG file will
        be saved.

@{b}LOAD FORMATS SUPPORTED@{ub}
    8 bit and 24 bit JFIF files.  Progressive files are supported.

@{b}SAVE FORMATS SUPPORTED@{ub}
    8 bit and 24 bit JFIF files.  Progressive files are supported.

@{b}@{"EXTENSIONS" link PPT.guide/Extensions} SUPPORTED@{ub}
    None.

@{b}DESCRIPTION@{ub}
    JPEG is a @{"lossy" link lossy} image format, which is intended for real-world
    images.  It is a very popular format since it produces very small
    files with no visible degradation.

    However, I do not recommend that you use JPEG for computer-generated
    files, because the result may be quite bad.

@{b}NOTES@{ub}
    This loader needs to have a JPEGTMP: assign set up before using.  If
    the  JPEG  file  proves  to  be  too large (for example, progressive
    JPEGs) to be written or read in one go,  a  temporary  file  may  be
    created.

@{b}BUGS@{ub}

@{b}SEE ALSO{@ub}
    @{"PNG" link PNG}

@endnode


@node PNG "Portable Network Graphics"

@{b}REXX TEMPLATE@{ub}
    LOAD:
    SAVE:

@{b}LOAD FORMATS SUPPORTED@{ub}
    8, 24 and 32 bit images.  Interlacing is not supported at the moment.

@{b}SAVE FORMATS SUPPORTED@{ub}
    8 and 24 bit images.

@{b}@{"EXTENSIONS" link PPT.guide/Extensions} SUPPORTED@{ub}
    None.

@{b}DESCRIPTION@{ub}
    PNG is the new standard, designed to replace @{"GIF" link GIF} by the folks on
    the 'Net.  It offers a very good compression using the patent-free
    GZIP algorithm and it supports a variety of data formats.  Also,
    the compression is NOT @{"lossy" link lossy}, so no information is lost in this
    format.

    I heartily recommend using this format unless you have real-world
    images and wish to use @{"JPEG" link JPEG} for them.

@{b}NOTES@{ub}

@{b}BUGS@{ub}

@{b}SEE ALSO{@ub}
    @{"JPEG" link JPEG}

@endnode


@node PPM "Portable Bitmap Format"

@{b}REXX TEMPLATE@{ub}
    LOAD:
    SAVE:

@{b}LOAD FORMATS SUPPORTED@{ub}
    P2,P3,P5 and P6

@{b}SAVE FORMATS SUPPORTED@{ub}
    P5 and P6

@{b}DESCRIPTION@{ub}
    PPM is a format used by the NetPBM package. It  features  a  simple,
    non-compressed   format  that  can  handle  bitmaps,  grayscale  and
    truecolor images alike, both in ASCII and binary formats.

@{b}NOTES@{ub}

@{b}BUGS@{ub}

@{b}SEE ALSO{@ub}

@endnode


@node Targa "TrueVision Targa"

@{b}REXX TEMPLATE@{ub}
    LOAD:
    SAVE: COMPRESS/S

    COMPRESS - if this option is specified, the Targa file is compressed
        using a simple run-length encoding.

@{b}LOAD FORMATS SUPPORTED@{ub}
    8, 15, 16, 24 and 32 bit, colormapped and non-colormapped formats.
    Interleaved images are supported when loading.

@{b}SAVE FORMATS SUPPORTED@{ub}
    8 and 24 bit non-colormapped.

@{b}@{"EXTENSIONS" link PPT.guide/Extensions} SUPPORTED@{ub}
    None.

@{b}DESCRIPTION@{ub}
    Targa is an old image format which is usually quite portable  across
    machines. It is quite popular among PC-folks and is used by programs
    that do not wish to support very many image formats, as Targa is  an
    extremely simple format.

@{b}NOTES@{ub}

@{b}BUGS@{ub}

@{b}SEE ALSO{@ub}

@endnode

@node C-code "C-code"

@{b}REXX TEMPLATE@{ub}
    LOAD: <NA>
    SAVE:

@{b}LOAD FORMATS SUPPORTED@{ub}
    None.

@{b}SAVE FORMATS SUPPORTED@{ub}
    8 and 24 bit, with optional alpha channel.

@{b}@{"EXTENSIONS" link PPT.guide/Extensions} SUPPORTED@{ub}
    ANNO.

@{b}DESCRIPTION@{ub}
    This simple saver module writes out the image  in  a  simple  format
    that can be compiled and included in a C-program.

    The image file consists of several variables:

    UWORD XX_height : height of the image
    UWORD XX_width  : width  of the image
    UWORD XX_components : # of components in the image

    UBYTE XX_data[] : an array containing the image data.

    If the image is a colormapped image, the following variables also
    exist:

    UWORD XX_colors : # of colors in the image
    UBYTE XX_alpha  : 0, if there is no alpha channel information
    UBYTE XX_cmap[] : An array containing the color map.  If
        XX_alpha!=0, then each array element contains 4 values, in
        the ARGB order, otherwise just simple RGB values.

    In the above descriptions, XX is replaced by the image name (with
    any punctuation marks removed).

@{b}NOTES@{ub}

@{b}BUGS@{ub}

@{b}SEE ALSO{@ub}

@endnode



@node YUVN "Vlab YUVN"

@{b}REXX TEMPLATE@{ub}
    LOAD:
    SAVE: <NA>

@{b}LOAD FORMATS SUPPORTED@{ub}
    Vlab YUVN.  Alpha channel extensions are not currently supported.

@{b}SAVE FORMATS SUPPORTED@{ub}

@{b}@{"EXTENSIONS" link PPT.guide/Extensions} SUPPORTED@{ub}
    ANNO, AUTH. (loading only)

@{b}DESCRIPTION@{ub}
    The YUVN image format is a rare format used (as far as I know) only
    by the VLab digitizing software by MacroSystem GmbH.

    Since the format is uncompressed, this is an inefficient method
    of storing information, and this is why I chose not to support saving
    YUV.  However, if you need it, drop me some mail and I'll try to
    support saving YUVN images in the next release.

@{b}NOTES@{ub}

@{b}BUGS@{ub}
    Since I don't have very many YUV pictures, so I wasn't able to test
    this loader module thoroughly.  If you have a spare VLab scanner,
    try to test the module as much as you can.  Even better, send me
    some YUV images that have been saved with a variety of options.

@{b}SEE ALSO{@ub}

@endnode


@node lossy "Lossy image compression"

    Lossy image compression means  that  in  order  to  achieve  greater
    compression  level, some of the information in the original image is
    discarded. This degradation of the image is usually not  visible  to
    the  eye,  since  the eye can be fooled into thinking no degradation
    has happened. However, if the image is  compressed  too  much,  then
    you're gonna see some so-called artifacts in the resulting image.

@endnode

@node Dummy ""

@{b}REXX TEMPLATE@{ub}
    LOAD:
    SAVE:

@{b}LOAD FORMATS SUPPORTED@{ub}

@{b}SAVE FORMATS SUPPORTED@{ub}

@{b}@{"EXTENSIONS" link PPT.guide/Extensions} SUPPORTED@{ub}

@{b}DESCRIPTION@{ub}

@{b}NOTES@{ub}

@{b}BUGS@{ub}

@{b}SEE ALSO{@ub}

@endnode

