HamLab Version 1.1 Configuration File Format (c) Copyright 1990, 1991 J. Edward Hanway All rights reserved. INTRODUCTION The HamLab configuration file is a text file which HamLab uses to determine what input filters it has available, as well as other miscellaneous configuration options. Each time HamLab is run, it looks for the configuration file in the following places, in order: HamLab.config (in the current directory) DEVS:HamLab.config S:HamLab.config FILE FORMAT In the configuration file, A '#' denotes that the rest of the line is a comment. Blank lines and lines starting with a '#' are skipped. All other lines must contain one of the following commands: Cache12Bit size (32 bit signed value) This specifies the maximum size, in bytes, of HamLab's 12-bit temporary data that will be kept in RAM. If an image requires more room than this value, it will be kept in a temporary file (in whatever directory you specify with TempPath). Some useful values to use here are: 0 -- always use a file -1 -- always try to keep it in memory 130000 -- try to keep 320 x 200 and smaller in memory ColorFile "file name" Specifies the name of the default color response curve file that is loaded whenever HamLab is started. The file must be in the directory specified by ColorPath. ColorPath "disk path" Specifies the default directory where color response curve files are kept. (You can load/save color response curves from/to any directory; this is just the default value.) ConstrainedScale 0/1 FastAnalyze 0/1 FixBackground 0/1 FreezePalette 0/1 Interlace 0/1 SHAM 0/1 UsePipes 0/1 These (optional) lines specify the initial values for HamLab's options. Hsqueeze 0/1 (*) HSqueeze is obsolete in version 1.1 and will be ignored. Use "XScale 50%" instead. DitherType 0-6 Specifies the initial dithering option. The possible values are as follows: 0 -- no dithering 1 -- Serpentine Floyd-Steinberg 4 term error diffusion 2 -- Serpentine Jarvis, Judice, & Ninke 12 term error diffusion 3 -- Serpentine Stucki 12 term error diffusion 4 -- 4x4 Dispresed Dot Ordered Dither 5 -- Random Dither 6 -- 4x4 Spiral Clustered Dot Ordered Dither FilterPath "disk path" Specifies the disk path where the filter programs can be found. Format "matchstring" "filtername" One of these lines must be present for every input filter. The first string is the pattern which identifies that type of file. The second is the name of the filter program. Gamma x.y Specifies the initial Gamma value. The value must be a value between 0.1 and 9.9, and must be in the following exact form: digit, decimal point, digit. InPath "disk path" OutPath "disk path" These set the initial directories for the input and output file requesters. (Of course, you can read and write from/to any directory; these are just for convenience.) TempPath "disk path" Specifies the disk path where any temporary file(s) will be created. XScale num[%] YScale num[%] These specify the initial scaling values. If the number is followed immediately (no spaces) by a percent sign, it is a percentage, otherwise, it is a fixed size. SUGGESTED CONFIGURATIONS If you've got memory to burn, leave UsePipes turned off, set TempPath to RAM: and set Cache12Bit to -1. This will keep both 24-bit and 12-bit temporary images in memory. Beware, though, a 640 x 480 image will take up about 1.5 MEGS just in temporary files. If you're short on memory, turn UsePipes on, set TempPath to a disk directory (a hard disk is nice, but not necessary) and set Cache12Bit to something low, like 0. This will eliminate the 24 bit file and keep the 12-bit temporary file on disk. If you then save a picture without displaying it first, then HamLab will only need a few lines of the picture in memory at a time. Setting TempPath to a RAM disk may be useful. Even though that means that temporary files will be kept in RAM, they won't require one huge continuous chunk of memory. Setting a TempPath is important, even if you set Cache12Bit large enough that temporary files are normally kept in memory. If HamLab cannot allocate a large enough chunk of memory for the image, it will automatically use a file instead.