@DataBase Visage.guide @$VER: Visage.guide 39.14 (9.5.97) @(C) Copyright 1995-97 by Magnus Holmgren @Author Magnus Holmgren @Index INDEX @Smartwrap @Tab 8 @Rem These macros are for V40 attributes only. @Macro _IPar "@{LIndent 4}@{Par}" @Macro _OPar "@{LIndent 0}@{Par}" @Macro _IPar2 "@{LIndent 8}@{Par}" @Macro _OPar2 "@{LIndent 4}@{Par}" @Macro _IParAD "@{LIndent 8}@{Par}" @Macro _OParAD "@{LIndent 0}@{Par}" @Macro _IParAD2 "@{LIndent 12}@{Par}" @Macro _OParAD2 "@{LIndent 8}@{Par}" @Macro _Tabs "@{SetTabs 26}" @Macro _VerTabs "@{SetTabs 12}" @Macro _MNP_Tabs "@{SetTabs 25}" @Macro _MNP_SL "@{LIndent 25}" @Macro _MNP_NL "@{LIndent 4}@{Line}" @Macro _MNP_NP "@{LIndent 4}@{Par}" @Node MAIN "Visage.guide" @{_Tabs}@{FG highlight} @{_IPar}@{U}@{B}Visage 39.14@{UB}@{UU}@{FG text}@{Par} Copyright © 1995-97 by Magnus Holmgren@{Par} Release date: 97-05-09 @{_OPar} Welcome to @{B}Visage@{UB}, a multi format picture viewer for the AmigaOS (version 3.0 or higher).@{_IPar} @{" Introduction " Link INTRODUCTION} Why yet another picture viewer?@{Line} @{" Features " Link FEATURES} What Visage can do.@{Line} @{" Legal information " Link LEGAL} Distribution conditions, etc.@{Line} @{" Requirements " Link REQUIREMENTS} What Visage needs to run.@{Par} @{" Usage " Link ARGUMENTS} All arguments described.@{Line} @{" Viewing keys " Link KEYS} Keys you can use while viewing pictures.@{Line} @{" Mode names " Link MODENAMES} How to specify screen mode names.@{Line} @{" Rendered pictures " Link RENDERED} What is a @{i}rendered picture @{ui}?@{Line} @{" Included programs " Link PROGRAMS} Some utilities that are included.@{Par} @{" Notes " Link NOTES} Some (sometimes odd) behaviour explained.@{Line} @{" The future " Link TODO} What will happen with Visage?@{Line} @{" Acknowledgements " Link THANKS} Who did what?@{Line} @{" Author " Link AUTHOR} Adress to the author of Visage.@{Line} @{" Program history " Link HISTORY} What has changed?@{Par} @{" Index " Link INDEX} Chapter and topic index.@{_OPar} @{i}Note: @{ui}This manual needs AmigaGuide version 40 or better for correct display. The manual should be readable with earlier versions, but it will not look that good.@{Par} @EndNode @Node INTRODUCTION "Visage.guide/Introduction" @{_IPar} @{U}@{B}Introduction@{UB}@{UU}@{_OPar} Yet another picture viewer. :)@{Par} Oh well, what can I say? There was no picture viewer available that suited all my needs. They were lacking such trivial things as looking for external break signals, and more important things such as good monitor support.@{Par} But Visage is different. It has many features; some are not available in any other picture viewer for the Amiga (as far as I know). Since some of these features rely on things introduced in OS 3.0, this program requires OS 3.0. There are several viewers that work on OS 2.0, so it is not a major problem, IMHO.@{Par} The goal was a rather fast viewer, with many features. Picture quality was not the most important thing (this mainly applies to the HAM and color rendering).@{Par} See also:@{_IPar} @{" Features " Link FEATURES} @{" Legal information " Link LEGAL} @{" Requirements " Link REQUIREMENTS} @{" Rendered pictures " Link RENDERED}@{Par} @EndNode @Node FEATURES "Visage.guide/Features" @{_IPar} @{U}@{B}Features@{UB}@{UU}@{_OPar} Displays IFF ILBM, JPEG, PNG and datatype pictures.@{Par} The internal viewers (IFF ILBM, PNG and JPEG) use asynchronous IO for high performance. The ILBM decompressor is written in optimized assembler for speed.@{Par} Full AA, ECS and RTG (I hope! ;) support.@{Par} Supports the IFF ILBM chunks CLUT (Color LookUp Table; only RGB), PCHG (Palette CHanGe) and SHAM (Sliced HAM).@{Par} Supports CyberGraphX and picture.datatype version 43.@{Par} Displays "deep" pictures in all formats (including datatypes, if needed) on ECS Amigas, rendered in HAM, "normal" color (graphics card recommended), high- or truecolor (CyberGraphX and graphics card needed) or grayscale.@{Par} IFF ILBM pictures can be Xpk compressed.@{Par} Fast HAM rendering of pictures, using code written by Rafael D'Halleweyn.@{Par} Can @{" scale " Link SCALE} any @{" rendered " Link RENDERED} picture to fit the screen.@{Par} Extensive monitor support. Uses a BestModeID()-like function to find a suitable mode (if needed or requested).@{Par} Any native Amiga screen @{" mode " Link MODE} can be specified with @{" text " Link MODENAMES}! No numbers needed. But you can use numbers, if you wish. Or a requester.@{Par} Simple promotion of pictures to any installed @{" monitor " Link MONITOR}. No hardcoded command line options for this. Even a requester can be used.@{Par} The internal viewers can read their data from a @{" named pipe " Link PIPE_READ}.@{Par} Several slideshow options, including a @{" random " Link RANDOM} and a @{" sort " Link SORT} mode, making Visage ideal for use with screen blankers as an external module.@{Par} Background loading of the next picture while viewing the current, if there is enough memory (this can be disabled).@{Par} When using background loading, the new pictures do not open in front of all other screens (unless told to). The two screens are "attached" to each other.@{Par} Can @{" fade " Link FADE} pictures (but not HAM, SHAM or PCHG pictures, nor pictures displayed in high- or truecolor modes).@{Par} Default options can be placed in an @{" environment variable " Link VISAGEOPTS}.@{Par} Invisible screen arranging gadgets.@{Par} Can execute a @{" command " Link COMMAND} for a picture.@{Par} Can show @{" information " Link INFO} about the pictures, @{" test " Link TEST} them or @{" time " Link TIME} them.@{Par} @{" Horizontal " Link CENTER} @{i}and @{ui}@{" vertical " Link VCENTER} screen centering.@{Par} Can be made resident.@{Par} System friendly color @{" cycling " Link CYCLE} (no interrupt).@{Par} Several other small features not mentioned here. :)@{Par} It is freeware! No need to pay anything (but that does not mean @{" I " Link AUTHOR} would not appreciate a donation of any kind! :).@{Par} A couple of small and useful utilities @{" included " Link PROGRAMS}.@{Par} @EndNode @Node LEGAL "Visage.guide/Legal information" @{_IPar} @{U}@{B}Legal information@{UB}@{UU}@{Par}@{_Tabs} @{" License " Link LICENSE} Distribution conditions.@{Line} @{" No warranty " Link WARRANTY} Standard disclaimer.@{_OPar} This software is based in part on the work of the Independent JPEG Group.@{Par} @EndNode @Node LICENSE "Visage.guide/Legal issues/License" @Toc LEGAL @{_IPar} @{U}@{B}License@{UB}@{UU}@{_OPar} Visage is released under the concept of freeware. This means you are allowed to use and copy this program freely, as long as the following requirements are fulfilled:@{_IPar} All files are copied without any alterations or modifications. If any extra files are added, it must be obvious that they do not belong to the original distribution, and that they do not need to be included in any redistribution. Exception: So called "BBS ads" may @{I}not @{UI}be added.@{Par} The copying is done on a noncommercial basis. A small fee to cover media costs etc. may be charged.@{Par} The copier is not claiming the copyright of this program.@{_OPar} Any exceptions from the above require a written permission from the author.@{Par} If you want to publish this program on a cover disk or similar, contact me first for approval (to make sure you have the latest version etc). @{" I " Link AUTHOR} then expect a copy of the issue of the magazine in return (additional contributions are welcomed :).@{Par} @EndNode @Node WARRANTY "Visage.guide/Legal issues/No warranty" @Toc LEGAL @{_IPar} @{U}@{B}No warranty@{UB}@{UU}@{_OPar} @{b}There is no warranty for the programs, to the extent permitted by applicable law. Except when otherwise stated in writing the copyright holder and/or other parties provide the programs "as is" without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of the programs is with you. Should the programs prove defective, you assume the cost of all necessary servicing, repair or correction.@{Par} In no event unless required by applicable law or agreed to in writing will any copyright holder, or any other party who may redistribute the programs as permitted above, be liable to you for damages, including any general, special, incidental or consequential damages arising out of the use or inability to use the programs (including but not limited to loss of data or data being rendered inaccurate or losses sustained by you or third parties or a failure of the programs to operate with any other programs), even if such holder or other party has been advised of the possibility of such damages.@{UB}@{Par} @EndNode @Node REQUIREMENTS "Visage.guide/Requirements" @{_IPar} @{U}@{B}Requirements@{UB}@{UU}@{_OPar} Visage should work on any Amiga that has OS 3.0 or higher. 512 KB of memory is enough for operation, but more memory is indeed recommended (especially if you want to view large pictures). There are no required disk based libraries, although Visage will be limited if some are not available.@{Par} I decided to let Visage require OS 3.0, since I otherwise would need to rewrite several new functions in OS 3.0, or write code to work around bugs. One feature cannot be implemented at all using OS 2.0. Despite all this, I might make Visage support OS 2.0 in the future (if @{" I " Link AUTHOR} get requests for it. Have not got any yet... ;).@{Par} See also:@{_IPar} @{" Required libraries " Link LIBRARIES}@{_OPar} @EndNode @Node LIBRARIES "Visage.guide/Requirements/Required libraries" @Toc REQUIREMENTS @{_IPar} @{U}@{B}Required libraries@{UB}@{UU}@{_OPar} The following disk based libraries are not necessary for Visage to operate, but certain things will not work if they are not available:@{_IPar} @{B}asl.library@{UB} version 38 or higher@{Line} For the file, screen mode and monitor (!) requesters. If not available, you will get a warning if you try to use these requesters.@{Par} @{B}cybergraphics.library@{UB} version 40 or higher@{Line} For rendering to screens deeper than eight bits.@{Par} @{B}datatypes.library@{UB} version 39 or higher@{Line} For the datatypes reader. To work properly, suitable datatypes are needed as well. Some datatypes are included with the system; several exist as different kinds of freely distributable software.@{Par} @{B}iffparse.library@{UB} version 39 or higher@{Line} For the IFF ILBM reader.@{Par} @{B}mathieeedoubbas.library@{UB} version 37 or higher, and@{Line} @{B}mathieeedoubtrans.library@{UB} version 37 or higher@{Line} For the PNG reader (the gamma correction).@{Par} @{B}reqtools.library@{UB} version 38 or higher@{Line} For the password requester that appears if an Xpk-encrypted picture is encountered, but no password was specified. ReqTools can be found on Aminet and BBS:es.@{Par} @{B}xpkmaster.library@{UB}@{Line} To view Xpk compressed or encrypted IFF ILBM pictures. For it to work properly, suitable sublibraries are needed as well. Xpk can be found on Aminet and BBS:es. For best operation, XPK version 3 or higher is reccommended.@{Par} @EndNode @Node ARGUMENTS "Visage.guide/Arguments" @{_IPar} @{U}@{B}Arguments@{UB}@{UU}@{_OPar} Visage can be started from a Shell or the Workbench. For Shell users it should be noted that Visage is pure, and may be made resident.@{Par} In the case of Workbench start, the tooltypes may be specified in either the program icon, the picture icon(s), or any other icon (preferably without an associated file). All tooltypes are collected (tooltypes found later on overrides earlier ones) and parsed before viewing the pictures.@{Par} @{" VisageOpts " Link VISAGEOPTS} can be used to specify new defaults.@{Par}@{_Tabs} For both Workbench and Shell usage, the following arguments/tooltypes can be specified:@{_IPar} @{B}Text arguments@{UB}@{Line} @{" FILES " Link FILES} Files to view.@{Line} @{" BORDERBLANK " Link BORDERBLANK} Set border blank mode.@{Line} @{" COLOR " Link COLOR} Render mode for deep pictures.@{Line} @{" COMMAND " Link COMMAND} Command to execute, if requested.@{Line} @{" DITHER " Link DITHER} Dither type to use, when needed.@{Line} @{" DRAWER " Link DRAWER} Initial drawer for file requester.@{Line} @{" MODE " Link MODE} Screen mode to use.@{Line} @{" MONITOR " Link MONITOR} Monitor to use.@{Line} @{" OVERSCAN " Link OVERSCAN} Overscan type to use.@{Line} @{" PASSWORD " Link PASSWORD} Password for Xpk-encrypted files.@{Line} @{" PATTERN " Link PATTERN} Initial pattern for file requester.@{Par} @{B}Numeric arguments@{UB}@{Line} @{" BUFSIZE " Link BUFSIZE} IO buffer size.@{Line} @{" DELAY " Link DELAY} Time to wait between pictures.@{Line} @{" FADE " Link FADE} Speed for picture fade.@{Line} @{" GAMMA " Link GAMMA} Gamma of your screen.@{Line} @{" TIMES " Link TIMES} Number of times to display the pictures.@{Line} @{" TOOLPRI " Link TOOLPRI} Task priority for Visage.@{Line} @{" UNIT " Link UNIT} Clipboard unit to read from.@{Par} @{B}Switches@{UB}@{Line} @{" ALL " Link ALL} Enter all drawers encountered.@{Line} @{" BESTMODE " Link BESTMODE} Less strict mode promotion.@{Line} @{" CENTER " Link CENTER} Center the pictures.@{Line} @{" CLIPBOARD " Link CLIPBOARD} Read from the clipboard.@{Line} @{" COMPACT " Link COMPACT} Use a more compact VERBOSE output.@{Line} @{" CYCLE " Link CYCLE} Start color cycling automatically.@{Line} @{" DATATYPES " Link DATATYPES} Try to use a datatype.@{Line} @{" ECS " Link ECS} Use an ECS-compatible screen depth.@{Line} @{" FOREVER " Link FOREVER} View all files until aborted.@{Line} @{" GRAY " Link GRAY} Render pictures in grayscale.@{Line} @{" HAM " Link HAM} Use HAM "when in doubt".@{Line} @{" INFO " Link INFO} Only show information about pictures.@{Line} @{" LATELOAD " Link LATELOAD} Read next picture after timeout.@{Line} @{" LOWMEM " Link LOWMEM} No background reading.@{Line} @{" NOAUTOSCROLL " Link NOAUTOSCROLL} Disable autoscrolling.@{Line} @{" NOBUSY " Link NOBUSY} Do not show any busy pointer.@{Line} @{" NOCLICK " Link NOCLICK} Do not listen to mouse clicks.@{Line} @{" NODATATYPES " Link NODATATYPES} Do not use datatypes.@{Line} @{" NOENV " Link NOENV} Do not read options in @{I}VisageOpts. @{UI}@{Line} @{" NOFILECHECK " Link NOFILECHECK} Do no extra check for file existance.@{Line} @{" NOFLICKER " Link NOFLICKER} Do not use laced screen modes.@{Line} @{" NOFOREIGN " Link NOFOREIGN} Ignore certain screen modes.@{Line} @{" NOGIF " Link NOGIF} Use datatype for GIF pictures.@{Line} @{" NOICON " Link NOICON} Ignore any `.info' files found.@{Line} @{" NOIFF " Link NOIFF} Use datatype for IFF pictures.@{Line} @{" NOJPEG " Link NOJPEG} Use datatype for JPEG pictures.@{Line} @{" NOPNG " Link NOJPEG} Use datatype for PNG pictures.@{Line} @{" NORMALNAMES " Link NORMALNAMES} Use normal display mode names.@{Line} @{" NOWARN " Link NOWARN} Disable warning messages.@{Line} @{" POINTER " Link POINTER} Do not blank the mouse pointer.@{Line} @{" QUIET " Link QUIET} Disable most output.@{Line} @{" RANDOM " Link RANDOM} View pictures in random order.@{Line} @{" RTG " Link RTG} Improve behaviour with some graphic cards.@{Line} @{" SCALE " Link SCALE} Scale rendered pictures to fit screen.@{Line} @{" SHOWINFO " Link SHOWINFO} Display picture information on picture.@{Line} @{" SORT " Link SORT} View pictures in alphabetical order.@{Line} @{" TEST " Link TEST} Test pictures, do not display.@{Line} @{" TIME " Link TIME} Display loading time.@{Line} @{" TOFRONT " Link TOFRONT} Bring newly loaded pictures to the front.@{Line} @{" VCENTER " Link VCENTER} Center pictures vertically.@{Line} @{" VERBOSE " Link VERBOSE} Display extra information.@{Line} @{" WAITFORPIC " Link WAITFORPIC} Wait for next picture to load.@{Line} @{" WBMONITOR " Link WBMONITOR} Use same monitor as Workbench.@{_OPar} (61 arguments! ;)@{Par} @EndNode @Node VISAGEOPTS "Visage.guide/Arguments/VisageOpts" @Toc ARGUMENTS @{_IPar} @{U}@{B}VisageOpts@{UB}@{UU}@{_OPar} New default values may be specified by entering them in the @{I}VisageOpts@{UI} configuration file or environment variable. The search order is as follows:@{_IPar} If the environment variable @{i}ConfigPath @{ui}¹ exist, then try to read the file @{i}VisageOpts @{ui}in the drawer specified by @{i}ConfigPath.@{ui}@{Par} If the environment variable or the file in the @{i}ConfigPath @{ui}drawer does not exist, then read the environment variable @{i}VisageOpts, @{ui}if present.@{_OPar} Put all arguments on any number of lines, similar to if Visage was started from the Shell. Comments start with a `#' or `;' at the start of the line, and they end at the end of that same line.@{Par} To disable the reading of @{i}VisageOpts @{ui}(e.g. in a script), use the @{b}NOENV@{ub} switch. This disables both the environment variable and the @{i}ConfigPath @{ui}file.@{Par} If a switch is specified in @{i}VisageOpts, @{ui}then by specifying it again on the command line you will turn off that switch. Thus, if @{b}CENTER@{ub} is found in @{i}VisageOpts, @{ui}and @{b}CENTER@{ub} is specified on the command line (or in the tooltypes), no centering will occur.@{Par} Text or numeric arguments specified on the command line will simply override any arguments specified in @{i}VisageOpts. @{ui}Most text arguments interprets the empty string ("") as if the string was not specified (i.e., it reverts to the default value).@{Par} Two arguments in @{i}VisageOpts @{ui}will always be ignored: @{b}FILES@{ub} and @{b}NOENV@{ub}. You will not get a warning or anything if they are specified; they are silently ignored. This has the side effect that unknown options are ignored (they are "swallowed" by the @{b}FILES@{ub} argument).@{Par} See also:@{_IPar} @{" FILES " Link FILES} @{" CENTER " Link CENTER} @{" NOENV " Link NOENV}@{_OPar} @{B}-- Footnotes --@{UB}@{Par} ¹ If you specify `Progdir:' here (to get the same drawer as where the program resides), please remember that you should not make the program resident in that case. If you do, you will get `Please insert volume Progdir:' requesters, which can be annoying.@{Par} The name of the @{i}ConfigPath @{ui}variable was deliberately chosen to be general. The hope is that other programs also will use this, at least as a part of their configuration file search path.@{Par} @EndNode @Node FILES "Visage.guide/Arguments/FILES" @Toc ARGUMENTS @{_IPar} @{U}@{B}Files@{UB}@{UU}@{_OPar} Here you specify the files you wish to view. You may enter any number of files and drawers here, using patterns if you like.@{Par} If you enter the name of a drawer, or no files at all, then a file requester will open, located in that drawer (unless @{b}ALL@{ub} has been specified). If you in this requester specify the name of a file that does not exist, then Visage will treat is as a pattern. However, if the @{b}NOFILECHECK@{ub} option have been specified, Visage till always tread the specified name as a pattern.@{Par} If no file is selected or specified in the requester (and the requester is not cancelled), then Visage will display all pictures in the drawer in question (and any pattern will be used).@{Par} You may even use this argument as a tooltype in an icon. So, if you would like to get a slideshow over some pictures in a drawer, you can use the following tooltypes (in an icon without its corresponding file). The default tool should be set to Visage:@{_IPar} FILES=Pics:Nature@{Line} ALL@{Line} DELAY=60@{_OPar} or something similar. A double click on that icon will start the slideshow.@{Par} @{U}Note@{UU}:@{_IPar} Do not use this argument in the Visage icon to specify a default drawer, that the file requester should open in, if e.g. no other arguments were specified. The result will not be what you expect. Rather, use the @{b}DRAWER@{ub} argument, which exists for this purpose.@{_OPar} See also:@{_IPar} @{" ALL " Link ALL} @{" CLIPBOARD " Link CLIPBOARD} @{" DELAY " Link DELAY} @{" DRAWER " Link DRAWER} @{" NOFILECHECK " Link NOFILECHECK} @{" PATTERN " Link PATTERN} @{" RANDOM " Link RANDOM} @{" SORT " Link SORT}@{_OPar} @EndNode @Node BORDERBLANK "Visage.guide/Arguments/BORDERBLANK" @Toc ARGUMENTS @{_IPar} @{U}@{B}BORDERBLANK@{UB}@{UU} Synonym: @{B}BB@{UB}@{_OPar} Here you can specify if Visage should (try to) blank the borders of the displayed picture or not. The following arguments are available:@{_IPar} @{B}ON@{UB}@{Line} Turn on border blanking.@{Par} @{B}OFF@{UB}@{Line} Turn off border blanking.@{Par} @{B}DEFAULT@{UB}@{Line} Use the system default.@{_OPar} If an invalid blanking mode is specified, you will be told about it, and the default (@{b}DEFAULT@{ub}) will be used.@{Par} @{U}Notes@{UU}:@{_IPar} This affects the systems border blanking flag only. Thus, it might not work on graphics cards (I do not know if any graphics card support this flag).@{Par} Setting the argument to @{B}OFF@{UB} does not seem to work if the system global border blanking flag is activated. At least this is the case on my system.@{Par} The vertical centering does not look that good if border blanking is on.@{_OPar} See also:@{_IPar} @{" VCENTER " Link VCENTER}@{_OPar} @EndNode @Node COLOR "Visage.guide/Arguments/COLOR" @Toc ARGUMENTS @{_IPar} @{U}@{B}COLOR@{UB}@{UU} Synonym: @{B}COLOUR@{UB}@{_OPar} Here you can specify the render mode for "deep" (more than your system can handle) and true color pictures. The following modes are available:@{_IPar} @{B}DEFAULT@{UB}, @{B}HAM@{UB}@{Line} The default. Pictures will be rendered in a HAM mode (HAM8 if available, HAM6 otherwise). Currently no dithering is done.@{Par} @{B}8@{UB}, @{B}NORMAL@{UB}@{Line} Pictures will be reduced to the largest number of colors in a "normal" palette screen that is available on your system. 256 colors (eight bits) should be available, or the result will not be very good. Dithering can be used to improve quality.@{Par} @{B}16@{UB}, @{B}HIGH@{UB}@{Line} Pictures will be rendered to screens that are up to 16 bits deep, if such screens are available via CyberGraphX (or compatible).@{Par} @{B}24@{UB}, @{B}TRUE@{UB}@{Line} Pictures will be rendered to screens that are up to 24 bits deep, if such screens are available via CyberGraphX (or compatible).@{_OPar} The @{B}GRAY@{UB} option will override any argument specified here.@{Par} @{U}Notes@{UU}:@{_IPar} The @{B}NORMAL@{UB} color rendering is a so called one pass render with a fixed palette. This means that it is rather fast, but the quality is not the best. By default, the rendering includes ordered dither, but this may be changed, to improve either the speed or the quality (the quality will drop significantly if dithering is disabled).@{Par} The datatypes reader is also affected by this argument. If high- or truecolor rendering is requested, then Visage will ask the datatype to return data in the so called version 43 format, which is better suited for display on a graphics card screen, and includes up to 24 bit deep screens (normally, the datatypes are limited to eight bits).@{_OPar} See also:@{_IPar} @{" DITHER " Link DITHER} @{" GRAY " Link GRAY} @{" Rendered pictures " Link RENDERED}@{_OPar} @EndNode @Node COMMAND "Visage.guide/Arguments/COMMAND" @Toc ARGUMENTS @{_IPar} @{U}@{B}COMMAND@{UB}@{UU} Synonym: @{B}CMD@{UB}@{_OPar} Here you can specify a command that can be executed for each viewed picture. To execute the command, press the `e'-key when the picture in question is displayed. When in @{B}TEST@{UB} mode, the command will be executed when a picture with an error is found.@{Par} The command will be executed as if it had been started in the same drawer as the picture. The name will always be quoted (e.g. to make it easy to parse from Rexx). The command is run asynchronously, so you may continue to the next picture when you like. If the command could not be run for some reason, the screen will flash (if no command is specified, this will not happen).@{Par} By default the name of the picture will be added to the end of the command. If the string `[]' is specified in the command, then the name will replace the @{i}first @{ui}occurence of this string. This is similar to how the Alias command works (see your AmigaDOS manual for more information about Alias).@{Par} This argument makes it easy to mark pictures for deletion or something similar. In that case, a command like:@{_IPar} FileNote [] "Delete this picture"@{_OPar} can be useful. Then simply press `e' for the pictures you do not want to keep, and do the actual deletings from a shell or a directory utility. Using the above command rather than `Delete' has the benefit that it is easy to undo, in case you press the key by mistake.@{Par} The command `Move [] TO Pics:' can cause problem in case several pictures with the same name (but in different drawers) are processed. An ARexx script can be used to work around this problem, if needed. Note that a `Move' command is not included with the OS.@{Par} @{U}Note@{UU}:@{_IPar} To specify the above example from a shell, you must enter it like this:@{_IPar2} COMMAND="FileNote [] *"Delete this picture*""@{_OPar2} (Note the escaped quotation characters.) If you enter it as a tooltype, just enter it as the first example shows.@{_OPar} See also:@{_IPar} @{" TEST " Link TEST}@{_OPar} @EndNode @Node DITHER "Visage.guide/Arguments/DITHER" @Toc ARGUMENTS @{_IPar} @{U}@{B}DITHER@{UB}@{UU}@{_OPar} Here you can specify which kind of dithering that should be used, when rendering pictures to @{B}COLOR@{UB} or @{B}GRAY@{UB} modes. In the latter case, dither is only used when the screen displays less than 256 colors.@{Par} Currently, the following dither types are available:@{_IPar} @{b}NONE@{ub}@{Line} No dithering. This is the fastest, but also gives the lowest quality. It is not recommended if @{B}COLOR@{UB} rendering is used.@{Par} @{b}ORDERED@{ub}, @{b}ORD@{ub}@{Line} Ordered dithering. A fast dither, but the quality is not the best. Quite sufficient for grayscale images though. This is the default.@{Par} @{b}FS@{ub}@{LINE} Floyd-Steinberg dithering. Gives very good quality, but is slower than @{B}ORDERED@{UB} (about 30% in the @{B}COLOR@{UB} render case).@{_OPar} If an invalid dither type is specified, you will be told about it, and the default (@{B}ORDERED@{UB}) will be used.@{Par} See also:@{_IPar} @{" COLOR " Link COLOR} @{" GRAY " Link GRAY} @{" Rendered pictures " Link RENDERED}@{_OPar} @EndNode @Node DRAWER "Visage.guide/Arguments/DRAWER" @Toc ARGUMENTS @{_IPar} @{U}@{B}DRAWER@{UB}@{UU}@{_OPar} Here you can specify the string that should be in the drawer gadget when the file requester initially opens, and Visage is not opening a requester for e.g. a drawer specified in the @{B}FILES@{UB} argument. Thus, this argument allows you to specify a default drawer for Visage, something the @{B}FILES@{UB} argument does not.@{Par} See also:@{_IPar} @{" FILES " Link FILES}@{_OPar} @EndNode "’€@{_IPar} @{U}@{B}MODE@{UB}@{UU}@{_OPar} Here you can specify which screen mode the pictures should be displayed with. There are several ways to specify the mode:@{_IPar} Via a screen mode requester. Simply enter @{B}REQUEST@{UB} or @{B}?@{UB} after the @{B}MODE@{UB} keyword. This requires asl.library to be available.@{Par} A decimal or hexadecimal number, "describing" the mode. If the number starts with `$' or `0x' it is assumed to be in hexadecimal. The included program GetModeID can be used to find the (decimal) number for a certain mode.@{Par} A text string (anything that is not covered by the above). Either a name from the display database, or an algorithmic name.@{_OPar} Specifying a (valid) mode here will override the @{B}MONITOR@{UB} and @{B}WBMONITOR@{UB} arguments.@{Par} If the specified mode is not capable of displaying the picture for some reason, Visage will try to find a replacement mode that is as similar as possible. Thus, you usually do not need to worry about things such as HAM and EHB. Visage should handle that automatically.@{Par} @{U}Note@{UU}:@{_IPar} Visage also understands the "normal" mode names (as shown by the ScreenMode preferences program). However, the normal mode name will only be considered if the mode name did not match an algorithmic name. Thus, e.g. "DblPAL:High Res" will use the algorithmic name, while "Multiscan:Productivity" will use the normal mode name. The @{B}NORMALNAMES@{UB} switch can be used to change this behaviour (Visage will then check the display database name first).@{_OPar} See also:@{_IPar} @{" MONITOR " Link MONITOR} @{" NORMALNAMES " Link NORMALNAMES} @{" WBMONITOR " Link WBMONITOR} @{" Algorithmic mode names " Link MODENAMES} @{" GetModeID " Link GETMODEID} @EndNode ‚”€@{_IPar} @{U}@{B}MONITOR@{UB}@{UU}@{_OPar} With this parameter you can easily promote the pictures to display to any available monitor, providing it is capable of displaying the picture.@{Par} Simply specify the name of the monitor, or a pattern for the monitor(s), and Visage will look through the display database for any matches. If found, the picture will be promoted to use one of the specified monitors, if possible. If several monitors matched the pattern, the BestModeID() function will select the monitor it considers to be the best one to display the picture, or if they are equally good, the first "best" mode will be used.@{Par} You can also specify the special name @{B}REQUEST@{UB} or @{B}?@{UB}, to get a requester containing the available monitors (except for the so called default monitor). Note that the properties window will not contain useful information, except for the frequencies for the native Amiga modes. You can currently not select more than one monitor in this requester.@{Par} Specifying a valid monitor here will override the @{B}WBMONITOR@{UB} argument.@{Par} This argument is ignored if a valid @{B}MODE@{UB} has been specified.@{Par} @{u}Note@{uu}:@{_IPar} The name of a monitor is usually the same as the name of the file in the `Devs:Monitors' drawer. Remember that `VGAOnly' is @{i}not @{ui}a monitor.@{_OPar} See also:@{_IPar} @{" MODE " Link MODE} @{" WBMONITOR " Link WBMONITOR} @EndNode @Node OVERSCAN "Visage.guide/Arguments/OVERSCAN" @Toc ARGUMENTS @{_IPar} @{U}@{B}OVERSCAN@{UB}@{UU}@{_OPar} Here you can specify the overscan type that should be used to display the picture. You can specify the following types:@{_IPar} @{b}TEXT@{ub}@{Line} Text overscan, as set by preferences. Display limits visible.@{Par} @{b}GRAPHICS@{ub}, @{b}STANDARD@{ub}@{Line} Graphics (or standard) overscan, as set by preferences. Display limits are just out of view. This is the default.@{Par} @{b}MAX@{ub}@{Line} Maximal overscan. The largest overscan that the system "comfortably" can display.@{Par} @{b}VIDEO@{ub}@{Line} Video overscan. The largest overscan the system can display, comfortably or not.@{_OPar} If an invalid overscan type is specified you will be told about it, and Visage will revert to the default (@{B}STANDARD@{UB}).@{Par} See also:@{_IPar} @{" CENTER " Link CENTER} @{" MONITOR " Link MONITOR} @{" NOAUTOSCROLL " Link NOAUTOSCROLL} @{" WBMONITOR " Link WBMONITOR}@{_OPar} @EndNode @Node PASSWORD "Visage.guide/Arguments/PASSWORD" @Toc ARGUMENTS @{_IPar} @{U}@{B}PASSWORD@{UB}@{UU}@{_OPar} Here you can specify the password for any Xpk-encrypted IFF ILBM picture found. If no password is specified, and an encrypted file is encountered, then a ReqTools requester will be opened for that file (if ReqTools is available). To disable this requester, simply enter a password! ;)@{Par} @EndNode @Node PATTERN "Visage.guide/Arguments/PATTERN" @Toc ARGUMENTS @{_IPar} @{U}@{B}PATTERN@{UB}@{UU}@{_OPar} Here you can specify the string that should be in the pattern gadget when the file requester initially opens. The default pattern is `#?'.@{Par} See also:@{_IPar} @{" FILES " Link FILES}@{_OPar} @EndNode @Node BUFSIZE "Visage.guide/Arguments/BUFSIZE" @Toc ARGUMENTS @{_IPar} @{U}@{B}BUFSIZE@{UB}@{UU}@{_OPar} Here you can specify the size of the IO buffers (in kilobytes) used by the asynchronous IO code (used by the internal (i.e. not datatype) readers). Two buffers of roughly half the size specified will be allocated, if possible. Normally this value should not need changes, but you might get somewhat better performance with other values here (depending on the media).@{Par} Default is 8 KB. Values below 4 KB are rounded to 4 KB, but the code will (usually) try with smaller buffers, if there is not enough memory available.@{Par} @{U}Notes@{UU}:@{_IPar} This buffer size should not be larger that roughly half the average size of the files you display, or the benefit of "double buffered asynchronous IO" will be lost.@{Par} These buffers will always be allocated for a picture, even if the asyncronous code cannot be used to read it (that is, for datatype pictures. Yet another reason to keep the buffer size "reasonable". ;)@{Par} If you view a lot of JPEG pictures, you should not go below 8 KB, as this will hurt performance a bit.@{_OPar} @EndNode @Node DELAY "Visage.guide/Arguments/DELAY" @Toc ARGUMENTS @{_IPar} @{U}@{B}DELAY@{UB}@{UU}@{_OPar} Here you can specify the time to wait between pictures. When the timeout has expired, the next picture will be shown automatically, like in a slideshow. The delay starts counting when the currently visible picture is completely loaded. A delay of zero is valid. Default is no delay (i.e., only move to the next picture when the user requests it).@{Par} See also:@{_IPar} @{" FOREVER " Link FOREVER} @{" LATELOAD " Link LATELOAD} @{" LOWMEM " Link LOWMEM} @{" RANDOM " Link RANDOM} @{" SORT " Link SORT} @{" TIMES " Link TIMES} @{" TOFRONT " Link TOFRONT} @{" WAITFORPIC " Link WAITFORPIC}@{_OPar} @EndNode @Node FADE "Visage.guide/Arguments/FADE" @Toc ARGUMENTS @{_IPar} @{U}@{B}FADE@{UB}@{UU}@{_OPar} Here you can specify the speed with which the pictures should fade in and out when opened and closed. 1 is the fastest, and 4 is the slowest. Values out of range are rounded to the closest valid value. Default is 0 (no fade).@{Par} @{U}Notes@{UU}:@{_IPar} HAM, PCHG and SHAM pictures can not be faded, due to the nature of these picture formats. Pictures displayed in high- or truecolor can not be faded either.@{Par} Some auxiliary memory might be needed for a successful fade. If this memory is not available, the fade will silently not be done.@{_OPar} @EndNode @Node GAMMA "Visage.guide/Arguments/GAMMA" @Toc ARGUMENTS @{_IPar} @{U}@{B}GAMMA@{UB}@{UU}@{_OPar} Here you can specify the gamma of your screen. In order for a picture to be properly displayed on a screen, it may need some adjustment to your equipment.@{Par} Not all picture formats store the picture in a "raw" format (i.e. without adjustment to some gamma value), with information about the gamma of that data. The PNG format does, and as a result, the picture viewer needs to adjust the picture for proper display. If this is not done, a picture may appear too dark or too bright.@{Par} If you do not know what gamma your screen has, leave it at the default, 2.5, which should be fine for most normal monitors.@{Par} For further details about gamma correction, please refer to the PNG specification.@{Par} @{U}Note@{UU}:@{_IPar} Though the value is a floating point value, exponents cannot be specified, as a simplified "ASCII to float" converter is being used.@{_OPar} @EndNode @Node TIMES "Visage.guide/Arguments/TIMES" @Toc ARGUMENTS @{_IPar} @{U}@{B}TIMES@{UB}@{UU}@{_OPar} The number of times to view the files. Default is 1.@{Par} Any value specified here overrides the @{B}FOREVER@{UB} switch.@{Par} See also:@{_IPar} @{" FOREVER " Link FOREVER}@{_OPar} @EndNode @Node TOOLPRI "Visage.guide/Arguments/TOOLPRI" @Toc ARGUMENTS @{_IPar} @{U}@{B}TOOLPRI@{UB}@{UU}@{_OPar} The task priority Visage should use when displaying the pictures. Valid range is -128 to 4 (to prevent Visage from disturbing more important tasks). Values out of range are rounded to the closest valid value. Default value depends on the starting program (usually it is 0).@{Par} This argument can be useful when Visage is used as an external screen blanker module.@{Par} @{U}Note@{UU}:@{_IPar} The Workbench automatically parses any @{B}TOOLPRI@{UB} tooltype. It was added to Visage so that the priority easily can be specified in e.g. @{I}VisageOpts.@{UI} @{_OPar} See also:@{_IPar} @{" VisageOpts " Link VISAGEOPTS}@{_OPar} @EndNode @Node UNIT "Visage.guide/Arguments/UNIT" @Toc ARGUMENTS @{_IPar} @{U}@{B}UNIT@{UB}@{UU}@{_OPar} The clipboard unit to read from, if @{B}CLIPBOARD@{UB} has been specified. The value should be between 0 and 255 (inclusive). Values out of range are rounded. Default is 0.@{Par} See also:@{_IPar} @{" CLIPBOARD " Link CLIPBOARD}@{_OPar} @EndNode @Node ALL "Visage.guide/Arguments/ALL" @Toc ARGUMENTS @{_IPar} @{U}@{B}ALL@{UB}@{UU}@{_OPar} If this option has been specified, then Visage will enter any drawers encountered during the pattern matching process.@{Par} @{U}Note@{UU}:@{_IPar} If this switch is used, then you will @{i}not @{ui}get a file requester if you enter the name of a drawer on the command line. Instead Visage will enter that drawer (and any drawers within) and start displaying all pictures found.@{_OPar} See also:@{_IPar} @{" FILES " Link FILES}@{_OPar} @EndNode @Node BESTMODE "Visage.guide/Arguments/BESTMODE" @Toc ARGUMENTS @{_IPar} @{U}@{B}BESTMODE@{UB}@{UU}@{_OPar} If this switch is specified, then Visage will always search the display database for the best screen mode to display the picture with, even if it is not necessary.@{Par} Also, Visage will be less strict when looking for a replacement mode when doing monitor promotion. Visage will ignore the size of the "source" screen mode; the size will be taken from the picture instead. Only the aspect will be considered.@{Par} If a @{B}MODE@{UB} has been specified, then this option will be ignored.@{Par} See also:@{_IPar} @{" MODE " Link MODE}@{_OPar} @EndNode @Node CENTER "Visage.guide/Arguments/CENTER" @Toc ARGUMENTS @{_IPar} @{U}@{B}CENTER@{UB}@{UU} Synonym: @{B}CENTRE@{UB}@{_OPar} If this switch is specified, the displayed pictures will be centered horizontally, if needed. If you also want vertical center, see the @{B}VCENTER@{UB} switch.@{Par} @{U}Notes@{UU}:@{_IPar} If a screen promoter is installed, the centering may be wrong sometimes. It depends on how the screen mode is changed, and how "good" the promoting software is.@{Par} For Super72 screen modes, the centering may be more or less wrong (the amount depends on the OS version).@{Par} This centering does not seem to work on (most) graphic card screens.@{_OPar} See also:@{_IPar} @{" VCENTER " Link VCENTER}@{_OPar} @EndNode @Node CLIPBOARD "Visage.guide/Arguments/CLIPBOARD" @Toc ARGUMENTS @{_IPar} @{U}@{B}CLIPBOARD@{UB}@{UU}@{_OPar} If this switch is specified, then Visage will try to read the data from the clipboard. Any files specified in the @{B}FILES@{UB} argument are ignored.@{Par} Use the @{B}UNIT@{UB} argument to specify which clipboard unit Visage should read from.@{Par} See also:@{_IPar} @{" FILES " Link FILES} @{" UNIT " Link UNIT}@{_OPar} @EndNode @Node COMPACT "Visage.guide/Arguments/COMPACT" @Toc ARGUMENTS @{_IPar} @{U}@{B}COMPACT@{UB}@{UU}@{_OPar} If this switch is specified, then the @{B}VERBOSE@{UB} output will be a bit more compact. It assumes that your console is wide enough to accommodate all output in one line. This means that the console needs to be at least 90-100 characters wide (the exact width depends on the picture and screen mode name, and if you want timing information).@{Par} See also:@{_IPar} @{" QUIET " Link QUIET} @{" TIME " Link TIME} @{" VERBOSE " Link VERBOSE}@{_OPar} @EndNode @Node CYCLE "Visage.guide/Arguments/CYCLE" @Toc ARGUMENTS @{_IPar} @{U}@{B}CYCLE@{UB}@{UU}@{_OPar} If this switch is specified, then color cycling will automatically be started for pictures that have color cycling information.@{Par} @{U}Notes@{UU}:@{_IPar} This cycling only understands "simple" (CRNG) cycling right now. I think I know how to implement the "complex" (DRNG) cycling, but I have not worked out all details yet. If you have some example code or similar, please send it to @{" me " Link AUTHOR}. ;)@{Par} The cycling is done in a high priority subtask. The vertical blanking interrupt is not used, since the function used to change colors may not be called from an interrupt (it can cause deadlocks or crashes). This can make the cycling a bit jerky at times. This can not be avoided.@{_OPar} @EndNode @Node DATATYPES "Visage.guide/Arguments/DATATYPES" @Toc ARGUMENTS @{_IPar} @{U}@{B}DATATYPES@{UB}@{UU} Synonym: @{B}DT@{UB}@{_OPar} Try to view the files with a datatype before trying with internal viewers. The @{B}NODATATYPES@{UB} switch overrides this one, if both are specified.@{Par} See also:@{_IPar} @{" NODATATYPES " Link NODATATYPES} @{" NOGIF " Link NOGIF} @{" NOIFF " Link NOIFF} @{" NOJPEG " Link NOJPEG} @{" NOPNG " Link NOPNG}@{_OPar} @EndNode @Node ECS "Visage.guide/Arguments/ECS" @Toc ARGUMENTS @{_IPar} @{U}@{B}ECS@{UB}@{UU}@{_OPar} Originally intended as a debugging option (to check the ECS-graphics conversion routines), I decided to leave it in. What is does is to make Visage think that only ECS graphics is available (not even any graphics card).@{Par} I read somewhere (in fidonet, I think) that some FastJPEG users (that had AA graphics) used the ECS version in grayscale mode, in order to get a fast preview of the picture. Using this switch will have the same effect. This can be especially useful on e.g. an A1200 without fast memory. It will make the rendering of deep pictures quite a bit faster.@{Par} See also:@{_IPar} @{" GRAY " Link GRAY}@{_OPar} @EndNode @Node FOREVER "Visage.guide/Arguments/FOREVER" @Toc ARGUMENTS @{_IPar} @{U}@{B}FOREVER@{UB}@{UU}@{_OPar} Keep viewing the pictures until interrupted. It actually sets the @{B}TIMES@{UB} argument to a very high value (4,294,967,295 :).@{Par} Any value specified in the @{B}TIMES@{UB} argument overrides this switch.@{Par} See also:@{_IPar} @{" TIMES " Link TIMES}@{_OPar} @EndNode @Node GRAY "Visage.guide/Arguments/GRAY" @Toc ARGUMENTS @{_IPar} @{U}@{B}GRAY@{UB}@{UU} Synonym: @{B}GREY@{UB}@{_OPar} Convert rendered pictures to grayscale.@{Par} This option will override @{B}COLOR@{UB}, if both are specified.@{Par} See also:@{_IPar} @{" COLOR " Link COLOR} @{" DITHER " Link DITHER} @{" Rendered pictures " Link RENDERED}@{_OPar} @EndNode @Node HAM "Visage.guide/Arguments/HAM" @Toc ARGUMENTS @{_IPar} @{U}@{B}HAM@{UB}@{UU}@{_OPar} This switch tells Visage that a HAM mode should be selected for IFF ILBMs that have a depth of six bitplanes, and do not have any so called CAMG chunk (this chunk tells what kind of screen mode that should be used to display the picture). If not specified, Visage assumes an extra halfbrite (EHB) mode should be used.@{Par} Note that this switch does not force a HAM mode to be used, only that a HAM mode should be used in case of doubt.@{Par} @EndNode @Node INFO "Visage.guide/Arguments/INFO" @Toc ARGUMENTS @{_IPar} @{U}@{B}INFO@{UB}@{UU}@{_OPar} If this switch is specified, then Visage will not display any pictures. It will simply read some information about the picture, and display that information.@{Par} Thus, all options related to how things are rendered are ignored. However, screen mode related arguments are not, as the @{B}VERBOSE@{UB} option still may be used.@{Par} This switch is in many ways similar to the @{B}TEST@{UB} switch. The two major differences are that the picture is not loaded at all, and that @{B}VERBOSE@{UB} is considered.@{Par} This switch overrides @{B}TEST@{UB} and @{B}QUIET@{UB}, if they are specified as well.@{Par} @{u}Note@{uu}:@{_IPar} Datatypes will always load the entire picture, although nothing will be displayed. This can not be avoided.@{_OPar} See also:@{_IPar} @{" MODE " Link MODE} @{" MONITOR " Link MONITOR} @{" TEST " Link TEST} @{" VERBOSE " Link VERBOSE} @EndNode @Node LATELOAD "Visage.guide/Arguments/LATELOAD" @Toc ARGUMENTS @{_IPar} @{U}@{B}LATELOAD@{UB}@{UU}@{_OPar} When viewing several files, this switch tells Visage to wait with loading the next picture until told to do so. Background loading is not disabled, only delayed. When used in slideshows, the extra memory needed for background loading is therefore delayed to when it is really needed.@{Par} See also:@{_IPar} @{" LOWMEM " Link LOWMEM} @{" WAITFORPIC " Link WAITFORPIC}@{_OPar} @EndNode @Node LOWMEM "Visage.guide/Arguments/LOWMEM" @Toc ARGUMENTS @{_IPar} @{U}@{B}LOWMEM@{UB}@{UU}@{_OPar} If this switch is specified, then the background loading of pictures is disabled.@{Par} @{u}Note@{uu}:@{_IPar} Visage will automatically close any displayed picture, if there is not enough memory to load the next one in the background. Thus, this switch should not be needed much.@{_OPar} See also:@{_IPar} @{" LATELOAD " Link LATELOAD}@{_OPar} @EndNode @Node NOAUTOSCROLL "Visage.guide/Arguments/NOAUTOSCROLL" @Toc ARGUMENTS @{_IPar} @{U}@{B}NOAUTOSCROLL@{UB}@{UU} Synonym: @{B}NOAS@{UB}@{_OPar} If this switch is specified, then the autoscrolling of pictures is disabled. The cursor keys can still be used to move around in the picture.@{Par} Usually, when the mouse pointer reaches the edges of a screen that is larger than the display area, the screen will automatically start scrolling, to show the hidden areas.@{Par} See also:@{_IPar} @{" Viewing keys " Link KEYS}@{_OPar} @EndNode @Node NOBUSY "Visage.guide/Arguments/NOBUSY" @Toc ARGUMENTS @{_IPar} @{U}@{B}NOBUSY@{UB}@{UU}@{_OPar} If this switch is specified, then no busy pointer will be shown when a picture is loaded (in the foreground or the background).@{Par} See also:@{_IPar} @{" POINTER " Link POINTER} @{" Viewing keys " Link KEYS}@{_OPar} @EndNode @Node NOCLICK "Visage.guide/Arguments/NOCLICK" @Toc ARGUMENTS @{_IPar} @{U}@{B}NOCLICK@{UB}@{UU}@{_OPar} If this switch is specified, then Visage will ignore any mouse click on a picture. To view the next picture, or exit Visage, the keyboard need to be used (or you could send a so called break signal).@{Par} @EndNode @Node NODATATYPES "Visage.guide/Arguments/NODATATYPES" @Toc ARGUMENTS @{_IPar} @{U}@{B}NODATATYPES@{UB}@{UU} Synonym: @{B}NODT@{UB}@{_OPar} If this switch is specified, then Visage will not try to use datatypes if the picture format was not known to Visage.@{Par} This switch overrides @{B}DATATYPES@{UB}, if both are specified.@{Par} See also:@{_IPar} @{" DATATYPES " Link DATATYPES} @{" NOGIF " Link NOGIF} @{" NOIFF " Link NOIFF} @{" NOJPEG " Link NOJPEG} @{" NOPNG " Link NOJPEG}@{_OPar} @EndNode @Node NOENV "Visage.guide/Arguments/NOENV" @Toc ARGUMENTS @{_IPar} @{U}@{B}NOENV@{UB}@{UU}@{_OPar} If this switch is specified, then Visage will not consider the options stored in the configuration file or the environment variable @{I}VisageOpts. @{UI}@{Par} See also:@{_IPar} @{" VisageOpts " Link VISAGEOPTS}@{_OPar} @EndNode @Node NOFILECHECK "Visage.guide/Arguments/NOFILECHECK" @Toc ARGUMENTS @{_IPar} @{U}@{B}NOFILECHECK@{UB}@{UU} Synonym: @{B}NOFC@{UB}@{_OPar} If this switch is specified, then Visage will not check if files specified in the @{B}FILES@{UB} argument or a file requester exists before processing. By default, Visage will check if the file really exist before attempting to parse any patterns in the name.@{Par} This behaviour is needed, since at this stage Visage does not know if the file was specified in the @{B}FILES@{UB} argument or if it was a multiselected icon, as a result of the generic argument parsing functions used. To work around this problem, Visage will check if the name actually refers to an existing file.@{Par} Since this behaviour can cause some minor problems (i.e., a pattern is not recognized as expected), you have this switch to decide how Visage should behave.@{Par} See also:@{_IPar} @{" FILES " Link FILES}@{_OPar} @EndNode @Node NOFLICKER "Visage.guide/Arguments/NOFLICKER" @Toc ARGUMENTS @{_IPar} @{U}@{B}NOFLICKER@{UB}@{UU}@{_OPar} If this switch is specified, then Visage will not use laced screen modes. Mostly useful if you have AA graphics, and you do not promote the pictures to either the NTSC monitor or the PAL monitor.@{Par} See also:@{_IPar} @{" MODE " Link MODE} @{" MONITOR " Link MONITOR} @{" WBMONITOR " Link WBMONITOR}@{_OPar} @EndNode @Node NOFOREIGN "Visage.guide/Arguments/NOFOREIGN" @Toc ARGUMENTS @{_IPar} @{U}@{B}NOFOREIGN@{UB}@{UU}@{_OPar} If this switch is specified, then Visage will make sure it doesn't use certain display modes, namely those with the so called foreign flag set.@{Par} There is a certain confusion regarding this flag and its use. Because of that (and the fact that different Intuition emulators behave differently in certain aspects), Visage can get into problems, depending on which Intuition emulator that is in use. Most notably, Visage can crash when used with e.g. the PicassoII.@{Par} If you experience this problem, then this switch should (hopefully) solve your problems.@{Par} @EndNode @Node NOGIF "Visage.guide/Arguments/NOGIF" @Toc ARGUMENTS @{_IPar} @{U}@{B}NOGIF@{UB}@{UU}@{_OPar} This option is always considered to be set, since Visage does not have internal support for GIF (as it used to have). As a result, GIF pictures will always be passed on to the datatypes for processing. Its presence is for backward compatibility only.@{Par} See also:@{_IPar} @{" DATATYPES " Link DATATYPES} @{" NODATATYPES " Link NODATATYPES} @{" NOIFF " Link NOIFF} @{" NOJPEG " Link NOJPEG} @{" NOPNG " Link NOPNG}@{_OPar} @EndNode @Node NOICON "Visage.guide/Arguments/NOICON" @Toc ARGUMENTS @{_IPar} @{U}@{B}NOICON@{UB}@{UU}@{_OPar} If this switch is specified, then any file encountered that ends with `.info' will be ignored. This makes it easy to avoid icons, when using a (complex) pattern. This switch allso affects the file requester, and prevents icons from being showed, regardless of the pattern used.@{Par} @{U}Note@{UU}:@{_IPar} As there are datatypes that can display icons (i.e. files typically ending with `.info'), you should not use this switch when you intend to view icons.@{_OPar} See also:@{_IPar} @{" ALL " Link ALL} @{" FILES " Link FILES} @{" INFO " Link INFO} @{" SHOWINFO " Link SHOWINFO} @EndNode @Node NOIFF "Visage.guide/Arguments/NOIFF" @Toc ARGUMENTS @{_IPar} @{U}@{B}NOIFF@{UB}@{UU}@{_OPar} Try to view IFF files with a datatype before trying with the internal viewer. The @{B}NODATATYPES@{UB} switch overrides this one, if both are specified.@{Par} See also:@{_IPar} @{" DATATYPES " Link DATATYPES} @{" NODATATYPES " Link NODATATYPES} @{" NOGIF " Link NOGIF} @{" NOJPEG " Link NOJPEG} @{" NOPNG " Link NOPNG}@{_OPar} @EndNode @Node NOJPEG "Visage.guide/Arguments/NOJPEG" @Toc ARGUMENTS @{_IPar} @{U}@{B}NOJPEG@{UB}@{UU}@{_OPar} Try to view JPEG/JFIF files with a datatype before trying with the internal viewer. The @{B}NODATATYPES@{UB} switch overrides this one, if both are specified.@{Par} See also:@{_IPar} @{" DATATYPES " Link DATATYPES} @{" NODATATYPES " Link NODATATYPES} @{" NOGIF " Link NOGIF} @{" NOIFF " Link NOIFF} @{" NOPNG " Link NOPNG} @EndNode @Node NOPNG "Visage.guide/Arguments/NOPNG" @Toc ARGUMENTS @{_IPar} @{U}@{B}NOPNG@{UB}@{UU}@{_OPar} Try to view PNG files with a datatype before trying with the internal viewer. The @{B}NODATATYPES@{UB} switch overrides this one, if both are specified.@{Par} See also:@{_IPar} @{" DATATYPES " Link DATATYPES} @{" NODATATYPES " Link NODATATYPES} @{" NOGIF " Link NOGIF} @{" NOIFF " Link NOIFF} @{" NOJPEG " Link NOJPEG}@{_OPar} @EndNode @Node NORMALNAMES "Visage.guide/Arguments/NORMALNAMES" @Toc ARGUMENTS @{_IPar} @{U}@{B}NORMALNAMES@{UB}@{UU}@{_OPar} If this switch is specified, then the algorithmic mode names will not be used when displaying the mode names. You may still use them when specifying a mode though, although these names will have a lower priority then (see the @{B}MODE@{UB} argument for more information about this).@{Par} This is might be needed if you have a graphics card (unless you use CyberGraphX). Or maybe you prefer the normal names.@{Par} If @{B}RTG@{UB} is specified, then this switch will be set as well.@{Par} See also:@{_IPar} @{" MODE " Link MODE} @{" RTG " Link RTG} @{" Algorithmic mode names " Link MODENAMES}@{_OPar} @EndNode @Node NOWARN "Visage.guide/Arguments/NOWARN" @Toc ARGUMENTS @{_IPar} @{U}@{B}NOWARN@{UB}@{UU}@{_OPar} If this switch is specified, then most warning messages will not be displayed. Some warnings can be a bit annoying when Visage is started from the Workbench.@{Par} @EndNode @Node POINTER "Visage.guide/Arguments/POINTER" @Toc ARGUMENTS @{_IPar} @{U}@{B}POINTER@{UB}@{UU}@{_OPar} If this switch is specified, then a normal mouse pointer will be displayed when the busy pointer is not displayed. Normally, no mouse pointer is visible during this time.@{Par} See also:@{_IPar} @{" NOBUSY " Link NOBUSY} @{" Viewing keys " Link KEYS} @EndNode @Node QUIET "Visage.guide/Arguments/QUIET" @Toc ARGUMENTS @{_IPar} @{U}@{B}QUIET@{UB}@{UU}@{_OPar} If this switch is specified, then most output from Visage is disabled. Errors and similar things are still displayed. This option is automatically used when the program is started from the Workbench.@{Par} If the @{B}INFO@{UB} switch is specified, then this switch will be ignored.@{Par} See also:@{_IPar} @{" INFO " Link INFO} @{" TIME " Link TIME} @{" VERBOSE " Link VERBOSE} @EndNode @Node RANDOM "Visage.guide/Arguments/RANDOM" @Toc ARGUMENTS @{_IPar} @{U}@{B}RANDOM@{UB}@{UU}@{_OPar} If this switch is specified, then Visage will display all specified and selected files in random order, rather than the (perhaps somewhat random) order in which they were found. This switch overrides @{B}SORT@{UB}, if both are specified.@{Par} @{U}Note@{UU}:@{_IPar} Visage will first scan through any patterns specified, before starting to view the pictures. This may take a little while. It also means that you will not get a new file requester after having viewed the first selected files.@{_OPar} See also:@{_IPar} @{" DELAY " Link DELAY} @{" SORT " Link SORT}@{_OPar} @EndNode @Node RTG "Visage.guide/Arguments/RTG" @Toc ARGUMENTS @{_IPar} @{U}@{B}RTG@{UB}@{UU}@{_OPar} If this switch is specified, then Visage will not make certain assumptions about the contents of the display database (i.e. that a certain flag will be set for all non native Amiga modes). This assumption makes Visage work slightly better (i.e. work faster or use less memory) when displaying pictures in a native Amiga mode.@{Par} However, (partly) due to bugs in the current system software, this assumption is not (always?) correct when a graphics card is installed, and this can lead to problems. Thus, if Visage seems to be unable to display a picture on a "graphics card screen mode", then you should try this option.@{Par} Thanks to a new way handling things (in Visage 39.2), this switch should not be needed, but I find it best to make no such assumptions! ;) Also, Visage is capable of recognizing CyberGraphX modes, so this switch will not be needed if you have CyberGraphX installed.@{Par} This switch implies @{B}NORMALNAMES@{UB}.@{Par} See also:@{_IPar} @{" NORMALNAMES " Link NORMALNAMES}@{_OPar} @EndNode @Node SCALE "Visage.guide/Arguments/SCALE" @Toc ARGUMENTS @{_IPar} @{U}@{B}SCALE@{UB}@{UU}@{_OPar} If this switch is specified, then rendered pictures will be scaled down to the visible part of the screen in question, if needed.@{Par} @{U}Note@{UU}:@{_IPar} This scaling uses a simple (but fast) algorithm, and hence the result may not be that good at times. The result largely depends on the picture in question.@{_OPar} See also:@{_IPar} @{" Rendered pictures " Link RENDERED}@{_OPar} @EndNode @Node SHOWINFO "Visage.guide/Arguments/SHOWINFO" @Toc ARGUMENTS @{_IPar} @{U}@{B}SHOWINFO@{UB}@{UU}@{_OPar} If this switch is specified, the Visage will not only display picture information in the Shell it was started from (if any), but will also display it on (or rater, above) the actual picture.@{Par} The @{B}VERBOSE@{UB} switch can be used to specify how much information that should be displayed, similar to the output in a Shell. @{B}TIME@{UB} information is (currently) not displayed on the picture.@{Par} This switch is not affected by the @{B}QUIET@{UB} switch.@{Par} @{u}Notes@{uu}:@{_IPar} This information is usually not displayed for datatype pictures. Rerendered datatype pictures will have this information though.@{Par} Visage will only use a single line for the text. This means that the text can be truncated, if the screen is not wide enough.@{Par} The font used is the one used by the default public screen (at the time Visage was started), or, if Visage was unable to find the default public screen, the current system default font.@{Par} Visage will examine the colormap, and will try to find the best colors to display the text. However, the text may not always be (clearly) visible anyway. Also, when used with PCHG or SHAM pictures, the color selection may seem a bit odd (and incorrect).@{_OPar} See also:@{_IPar} @{" QUIET " Link QUIET} @{" TIME " Link TIME} @{" VERBOSE " Link VERBOSE} @{" Rendered pictures " Link RENDERED}@{_OPar} @EndNode @Node SORT "Visage.guide/Arguments/SORT" @Toc ARGUMENTS @{_IPar} @{U}@{B}SORT@{UB}@{UU}@{_OPar} If this switch is specified, then Visage will display all specified/selected files in alphabetical order, rather than the (perhaps somewhat random) order in which they were found. The @{B}RANDOM@{UB} switch overrides this switch, if both are specified.@{Par} @{U}Note@{UU}:@{_IPar} Visage will first scan through any patterns specified, before starting to view the pictures. This may take a little while. It also means that you will not get a new file requester after having viewed the first selected files.@{_OPar} See also:@{_IPar} @{" DELAY " Link DELAY} @{" RANDOM " Link RANDOM}@{_OPar} @EndNode @Node TEST "Visage.guide/Arguments/TEST" @Toc ARGUMENTS @{_IPar} @{U}@{B}TEST@{UB}@{UU}@{_OPar} If this switch is specified, then Visage will not actually display the pictures. Rather, it will try to load them to see if they seem to be free from errors. When all files have been tested, Visage will print out a status message, showing if any picture contained any error. Also, if there was any error, the WARN flag will be set.@{Par} For each file that failed with a "data" error, an error message will be printed, and the @{B}COMMAND@{UB} will be executed (if a command was specified). Errors caused by external things (such as out of memory) are not considered here.@{Par} If this switch is specified, then many other switches and arguments will be ignored.@{Par} If @{B}INFO@{UB} is specified as well, then this switch will be ignored.@{Par} @{U}Notes@{UU}:@{_IPar} Only certain errors causes Visage to treat it as a bad. I.e. exit with the WARN flag and execute the command.@{Par} Even if a picture "fails", it might still be more or less viewable (e.g., it is not a major problem the error occurred while loading the last few pixel lines of the picture). Conversely, the fact that a picture passes the testing does not mean that the picture is free from trashed graphics.@{Par} It seems like most datatypes does not return any error, even if the picture contained detectable errors. Thus, you should use the @{B}NODATATYPES@{UB} option to make sure that this does not happen.@{_OPar} See also:@{_IPar} @{" COMMAND " Link COMMAND} @{" NODATATYPES " Link NODATATYPES} @{" INFO " Link INFO}@{_OPar} @EndNode @Node TIME "Visage.guide/Arguments/TIME" @Toc ARGUMENTS @{_IPar} @{U}@{B}TIME@{UB}@{UU}@{_OPar} If this switch is specified (and @{B}QUIET@{UB} is not), then Visage will display how long it took to load (and possibly render) the picture. This time does not include the time it took to open the screen in case a datatype picture was loaded. This makes a difference for some datatypes (that does not return a so called displayable bitmap), and when the picture is displayed on a graphics card screen.@{Par} @{U}Note@{UU}:@{_IPar} Since the @{B}QUIET@{UB} option always is on when Visage has been started from the Workbench, there is no point in specifying this option in the tooltypes of an icon.@{_OPar} See also:@{_IPar} @{" QUIET " Link QUIET} @{" VERBOSE " Link VERBOSE}@{_OPar} @EndNode @Node TOFRONT "Visage.guide/Arguments/TOFRONT" @Toc ARGUMENTS @{_IPar} @{U}@{B}TOFRONT@{UB}@{UU}@{_OPar} If this switch is specified, then the picture will be brought to the front each time a new picture is to be displayed. This is useful in slideshows in screen blankers, which should bring their screens to the front every now and then (in case some other program has opened a screen in front of the blanker).@{Par} See also:@{_IPar} @{" DELAY " Link DELAY} @{" RANDOM " Link RANDOM} @{" SORT " Link SORT}@{_OPar} @EndNode @Node VERBOSE "Visage.guide/Arguments/VERBOSE" @Toc ARGUMENTS @{_IPar} @{U}@{B}VERBOSE@{UB}@{UU}@{_OPar} If this switch is specified (and @{B}QUIET@{UB} is not), then some extra information about the pictures will be displayed. Currently this is the screen size and mode used by the picture. This screen mode name uses the algorithmic name, unless the @{B}NORMALNAMES@{UB} switch has been specified.@{Par} If the @{B}SHOWINFO@{UB} switch has been specified, the extra information will be displayed on the picture as well.@{Par} @{U}Note@{UU}:@{_IPar} Since the @{B}QUIET@{UB} option always is on when Visage has been started from the Workbench, there is no point in specifying this option in the tooltypes of an icon, unless @{B}SHOWINFO@{UB} has been specified.@{_OPar} See also:@{_IPar} @{" NORMALNAMES " Link NORMALNAMES} @{" QUIET " Link QUIET} @{" SHOWINFO " Link SHOWINFO} @{" TIME " Link TIME} @{" Algorithmic mode names " Link MODENAMES}@{_OPar} @EndNode @Node VCENTER "Visage.guide/Arguments/VCENTER" @Toc ARGUMENTS @{_IPar} @{U}@{B}VCENTER@{UB}@{UU} Synonym: @{B}VCENTRE@{UB}@{_OPar} If this switch is specified, the displayed pictures will be centered vertically, if needed.@{Par} @{U}Notes@{UU}:@{_IPar} If a screen promoter is installed, the centering may be wrong sometimes. It depends on how the screen mode is changed, and how "good" the promoting software is.@{Par} Due to the implementation, it does not look that good if border blanking is enabled (this can not easily be avoided).@{Par} The centering:@{_IPar2} Only works for datatype pictures that need to be rerendered.@{Par} Will make the picture use some more graphics memory.@{Par} Should work on all graphic cards (that put proper information in the display database).@{_OPar} See also:@{_IPar} @{" CENTER " Link CENTER}@{_OPar} @EndNode @Node WAITFORPIC "Visage.guide/Arguments/WAITFORPIC" @Toc ARGUMENTS @{_IPar} @{U}@{B}WAITFORPIC@{UB}@{UU}@{_OPar} If this switch is specified together with @{B}DELAY@{UB} - and perhaps @{B}LATELOAD@{UB} - then Visage will wait for the next picture to load completely before switching to that one (if there is enough memory to load the picture in the background).@{Par} Visage will not wait if you tell it to move to the next picture.@{Par} See also:@{_IPar} @{" DELAY " Link DELAY} @{" LATELOAD " Link LATELOAD} @{" LOWMEM " Link LOWMEM}@{_OPar} @EndNode @Node WBMONITOR "Visage.guide/Arguments/WBMONITOR" @Toc ARGUMENTS @{_IPar} @{U}@{B}WBMONITOR@{UB}@{UU} Synonym: @{B}WBMON@{UB}@{_OPar} Similar to @{B}MONITOR@{UB}, but it will promote the pictures to the same monitor as the Workbench screen is using (if possible). The @{B}MONITOR@{UB} argument overrides this switch, if both are specified.@{Par} @{U}Note@{UU}:@{_IPar} If you use the so called default monitor for your Workbench screen, then this option will not work. This can only happen if the relevant preferences file is not available for some reason (to create it, simply select a suitable mode in the ScreenMode preferences editor and select "Save" or "Use").@{_OPar} See also:@{_IPar} @{" MODE " Link MODE} @{" MONITOR " Link MONITOR}@{_OPar} @EndNode @Node KEYS "Visage.guide/Viewing keys" @{_IPar} @{U}@{B}Viewing keys@{UB}@{UU}@{_OPar} When displaying a picture, there are several keys you can use:@{_IPar} @{b}Esc@{ub}, @{b}Q@{ub}@{Line} Quit Visage.@{Par} @{b}E@{ub}@{Line} Execute the @{" COMMAND " Link COMMAND}, if specified.@{Par} @{b}B@{ub}, @{b}N@{ub}@{Line} Toggle the @{" NOBUSY " Link NOBUSY} option.@{Par} @{b}M@{ub}, @{b}P@{ub}@{Line} Toggle the @{" POINTER " Link POINTER} option.@{Par} @{b}Space@{ub}, @{b}Return@{ub}, @{b}Enter@{ub}@{Line} View the next picture. If the last picture is shown, show a file requester or exit.@{_OPar} You can also use the cursor keys or the numeric keyboard to scroll around in the picture. When doing this, no qualifier will scroll using steps of 10 pixels, @{b}Shift@{ub} uses steps of a quarter of the visible size, @{b}Alt@{ub} uses steps of three quarters of the visible size, while @{b}Control@{ub} moves to the extreme.@{Par} The mouse can be used as well (unless the @{" NOCLICK " Link NOCLICK} switch has been specified):@{_IPar} @{b}Left button@{ub}@{Line} View the next picture. If the last picture is shown, show a file requester or exit.@{Par} @{b}Right button@{ub}@{Line} Quit Visage.@{_OPar} You can of course also use these keys/mouse buttons while a picture is loaded. There may be a small delay before Visage reacts though (this is usually due to IO buffering, or a datatype picture is being loaded).@{Par} @EndNode @Node MODENAMES "Visage.guide/Algorithmic mode names" @{_IPar} @{U}@{B}Algorithmic mode names@{UB}@{UU}@{_OPar} An algorithmic name is a name that is built out of information available in the so called display database. These names are rather similar to the (English) names seen in e.g. the ScreenMode preferences program, but some things differ.@{Par} But why have different names? Well, the reason is rather simple actually. The display database only contains names for relatively few screen modes¹. With these algorithmic names, you can specify any mode using text (in a consistent manner). You are not limited to the rather few modes the OS programmers decided to put names on.@{_IPar}@{_Tabs} @{" Mode name parts " Link MN_PARTS} How a mode name is "constructed".@{Line} @{" Mode name examples " Link MN_EXAMPLES} Some examples.@{Line} @{" Mode name notes " Link MN_NOTES} Some notes about the mode names.@{_OPar} Visage also supports the more traditional (and in some ways simpler) way of displaying modes without a name, where the name consists of the monitor name, the screen size, and any special mode flags. Examples:@{_IPar} PICCOLO:1024x768@{Line} MULTISCAN:320x240 HAM@{_OPar} @{B}-- Footnotes --@{UB}@{Par} ¹ By using a custom sys/monitors.catalog file, more names can be added. The problem is that screen mode names are limited to about 30 chars, and this is not enough for many modes (especially MULTISCAN modes). The algorithmic names can be much longer (the internal buffer is currently 256 chars ;).@{Par} @EndNode @Node MN_PARTS "Visage.guide/Algorithmic mode names/Mode name parts" @Toc MODENAMES @{_MNP_Tabs} @{_IPar} @{U}@{B}Mode name parts@{UB}@{UU}@{_OPar} A name is made of a couple of components, of which some are required, and others are optional. The different components are separated from each other by a single space, except for the first two.@{Par} This is the how the mode name should look (required components enclosed in <>, optional components enclosed in []):@{_IPar} <@{B}Monitor name:@{UB}><@{B}Horizontal resolution@{UB}> [@{B}Vertical resolution@{UB}] [@{B}Special mode flag@{UB}]@{_OPar} And here is an explanation of the different components:@{_IPar} @{b}Monitor name:@{ub}@{Line} The name of the monitor, including an ending colon (`:'). Example: "PAL:".@{Par} @{b}Horizontal resolution:@{ub}@{Line} The nominal horizontal size (i.e. without overscan). Use one of the following:@{Par} @{I}Extra-Low Res @{UI} @{_MNP_SL}Less than 200 pixels wide.@{_MNP_NL} @{I}Low Res @{UI} @{_MNP_SL}Between 200 and 400 pixels wide.@{_MNP_NL} @{I}High Res @{UI} @{_MNP_SL}Between 400 and 800 pixels wide.@{_MNP_NL} @{I}Super-High Res @{UI} @{_MNP_SL}More than 800 pixels wide.@{_MNP_NP} @{b}Vertical resolution:@{ub}@{Line} The nominal vertical size (i.e. without overscan). Use one of the following:@{Par} @{I}Double @{UI} @{_MNP_SL}So called doublescan mode. Usually less than 200 pixels high.@{_MNP_NL} @{_MNP_SL}(Nothing.) Normal mode. Usually between 200 and 400 pixels. Sometimes more, up to 5-600 pixels.@{_MNP_NL} @{I}Laced @{UI} @{_MNP_SL}Interlaced ("flicker") mode. At least 400 pixels. Often more.@{_MNP_NP} @{b}Special mode flag:@{ub}@{Line} Use one of the following:@{Par} @{I}HAM @{UI} @{_MNP_SL}Hold And Modify. A special "compressed" mode with many colors, but color selection is restricted. Six or eight bitplanes.@{_MNP_NL} @{I}EHB @{UI} @{_MNP_SL}Extra HalfBrite. 64 colors (six bitplanes). The second half of the colors are copies of the first, but they are half as bright.@{_MNP_NP} There are a few more special mode flags that could be used, but they are not useful in this application.@{_OPar} @EndNode @Node MN_EXAMPLES "Visage.guide/Algorithmic mode names/Examples" @Toc MODENAMES @{SetTabs 40}@{_IPar} @{U}@{B}Mode name examples@{UB}@{UU}@{_OPar} Here are some examples on how the algorithmic mode names can look (English system defaults in parentheses):@{_IPar} DblPAL:Low Res (DblPAL:Low Res No Flicker)@{Line} Euro72:High Res (Euro72:Productivity)@{Line} Euro72:Extra-Low Res Double («No equivalent»)@{Line} DblNTSC:Low Res Laced (DblNTSC:Low Res Laced)@{Line} Super72:Super-High Res Laced HAM («No equivalent»)@{_OPar} Please note that e.g. the modes `PAL:Low Res' and `DblPAL:Low Res' have a different aspect with these kind of names! The "equivalent" of `PAL:Low Res' in DblPAL is `DblPAL:Low Res Double'.@{Par} @EndNode @Node MN_NOTES "Visage.guide/Algorithmic mode names/Notes" @Toc MN_MODENAMES @{_IPar} @{U}@{B}Mode name notes@{UB}@{UU}@{_OPar} It is usually not that important to specify the right special mode. If a special mode is needed, but not specified, then Visage will try to find a suitable replacement mode.@{Par} The strings will be translated if a suitable catalog is installed and used, but Visage will always understand the English strings listed above. Also note that the monitor name is never translated.@{Par} The algorithmic names are only suitable for native Amiga modes. Visage is currently only capable of detecting CyberGraphX modes, and will use a name consisting of the monitor name, width, height and depth (e.g. "CYBERGRAPHX:800x600x16"). For graphics cards with other emulation software, I reccommend the use of the @{B}NORMALNAMES@{UB} switch.@{Par} See also:@{_IPar} @{" Mode name parts " Link MN_PARTS} @{" NORMALNAMES " Link NORMALNAMES} @EndNode @Node RENDERED "Visage.guide/Rendered pictures" @{_IPar} @{U}@{B}Rendered pictures@{UB}@{UU}@{_OPar} A rendered picture is simply a picture that Visage must do more with, apart from reading - and possibly unpacking - the data, in order to be able to display it. Some picture formats (e.g. JPEG and PNG) are not stored in the normal Amiga bitmap format, and must therefore be converted. Others are in bitmap form, but your Amiga might not be able to display them "as is" anyway (e.g. 24-bit IFF ILBM pictures). These must be converted as well.@{Par} The rendering of such pictures can be controlled by using the @{B}COLOR@{UB}, @{B}GRAY@{UB}, @{B}SCALE@{UB} and @{B}DITHER@{UB} options (and the ECS option).@{Par} Datatype pictures are a special case: If the system is not capable of correctly displaying a datatype picture, Visage will rerender it to a displayable format. If the system is capable of showing it, no rerender will be done, as this process costs rather much time and memory.@{_IPar} @{U}@{B}CyberGraphX@{UB}@{UU}@{_OPar} Things becomes a bit different if CyberGraphX is installed. Visage should be able to display pictures without the above mentioned "rendering" (rather, it is bitmapped pictures that needs rerender for CyberGraphX screens).@{Par} Despite this, Visage will by default not use CyberGraphX. Deep pictures (see above) will still be rendered in HAM format. To change this, use the @{B}COLOR@{UB} argument.@{Par} See also:@{_IPar} @{" COLOR " Link COLOR} @{" DITHER " Link DITHER} @{" ECS " Link ECS} @{" GRAY " Link GRAY} @{" SCALE " Link SCALE}@{_OPar} @EndNode @Node PROGRAMS "Visage.guide/Included programs" @{_Tabs}@{Par} @{U}@{B}Included programs@{UB}@{UU}@{_OPar} In this archive (in the drawer `Visage/C') you can find a couple of extra support programs that I have written (some of these can also be found in the PicBoot archive):@{_IPar} @{" DeleteLink " Link DELETELINK} Delete files without checking them first.@{Line} @{" GetModeID " Link GETMODEID} Print the mode id number for a screen mode.@{Line} @{" Kill " Link KILL} Stop another task, similar to Break.@{Line} @{" MakeLink " Link MAKELINK} Make links, supports soft links too.@{Line} @{" UnpackILBM " Link UNPACKILBM} Unpack the BODY chunk of an IFF ILBM file.@{_OPar} The following program is used during the installation:@{_IPar} @{" UpdateTT " Link UPDATETT} Update tooltypes from one icon to another.@{_OPar} Feel free to use the programs above whereever you like, but if you do copy them, distribute them with another program or anything like that, please include the manual page in question, and a note that @{" I " Link AUTHOR} wrote them.@{Par} Finally, in the `Visage/Rexx' drawer, you can find an ARexx script written by Leo Davidson. Its purpose is to use Visage to show slideshows in Directory Opus 5. There are two versions of this script, for different versions of Directory Opus.@{Par} @EndNode @Node DELETELINK "Visage.guide/Included programs/DeleteLink" @Toc PROGRAMS @{Par} @{B}NAME@{UB}@{_IParAD} DeleteLink -- Delete files without checking them first.@{_OParAD} @{B}TEMPLATE@{UB}@{_IParAD} DeleteLink FILES/A/M,QUIET/S@{_OParAD} @{B}SYNOPSIS@{UB}@{_IParAD} DeleteLink [FILES] [QUIET]@{_OParAD} @{B}DESCRIPTION@{UB}@{_IParAD} Simply try to delete the specified files. DeleteLink will not try to find out if it is possible to delete the file or anything like that.@{Par} Patterns are not supported.@{_OParAD} @{b}OPTIONS@{ub}@{_IParAD} FILES@{_IParAD2} The files that should be deleted.@{_OParAD2} QUIET@{_IParAD2} Do not print the names of the files as they are deleted.@{_OParAD} @{B}NOTES@{UB}@{_IParAD} The normal Delete command in AmigaOS can not delete a soft link, if the target for the soft link has been deleted. The Delete command tries to "lock" the file to be deleted, in order to get some information about it (e.g. if it is a drawer or not). For soft links, this locking also means that the link will be resolved; i.e. the OS tries to lock the link target, as well as the link itself. If the target file doesn't exist, the locking fails. As a result, Delete thinks that there is no file to delete, and quits.@{Par} DeleteLink avoids that problem by "blindly" trying to delete the file, without first locking it.@{_OParAD} @EndNode @Node GETMODEID "Visage.guide/Included programs/GetModeID" @Toc PROGRAMS @{Par} @{B}NAME@{UB}@{_IParAD} GetModeID -- Get screen mode id number.@{_OParAD} @{B}SYNOPSIS@{UB}@{_IParAD} GetModeID@{_OParAD} @{B}DESCRIPTION@{UB}@{_IParAD} Open an Asl or ReqTools screen mode requester, and print out the decimal number for the selected screen mode. Only the number is printed, making it suitable for "backticking" it into the command line of other programs.@{_OParAD} @{B}EXAMPLE@{UB}@{_IParAD} A bit useless perhaps, since Visage has a mode requester (among other things) already, but just an example to show how it can be used:@{Par} Visage Pics:Some.Pic MODE `GetModeID`@{_OPar} @EndNode @Node KILL "Visage.guide/Included programs/Kill" @Toc PROGRAMS @{Par} @{b}NAME@{ub}@{_IParAD} Kill -- Send a break signal to a program.@{_OParAD} @{b}TEMPLATE@{ub}@{_IParAD} Kill NAME/A,ALL/S,C/S,D/S,E/S,F/S@{_OParAD} @{b}SYNOPSIS@{ub}@{_IParAD} Kill [NAME] [ALL] [C] [D] [E] [F]@{_OParAD} @{b}DESCRIPTION@{ub}@{_IParAD} Send the specified break signal(s) to the specified program. If the program is not found, do nothing and return WARN. Any combination of break signals are allowed.@{Par} Exactly how a program reacts (if at all) to a certain break signal is up to the program, but below you can see the typical action (if any is "defined").@{_OParAD} @{b}OPTIONS@{ub}@{_IParAD} NAME@{_IParAD2} The name of the program that should receive the break signal. Note that this is the so called process name, not the program name. They might differ, but usually they should not. The first program with this name is signalled. The search is not case sensitive.@{_OParAD2} ALL@{_IParAD2} All break signals below are to be sent.@{_OParAD2} C@{_IParAD2} Send the break signal Ctrl-C. The program usually quits upon receiving it. This is the default signal.@{_OParAD2} D@{_IParAD2} Send the break signal Ctrl-D. Some programs (such as Visage) abort the current "operation" (or file), and proceeds with the next (if any).@{_OParAD2} E@{_IParAD2} Send the break signal Ctrl-E.@{_OParAD2} F@{_IParAD2} Send the break signal Ctrl-F. The program usually "pops up" (bringing any window to the front) upon receiving it.@{_OParAD} @EndNode @Node MAKELINK "Visage.guide/Included programs/MakeLink" @Toc PROGRAMS @{Par} @{b}NAME@{ub}@{_IParAD} MakeLink -- Make a link from one file or drawer to another.@{_OParAD} @{b}TEMPLATE@{ub}@{_IParAD} MakeLink FROM/A,TO/A,HARD/S,SOFT/S,FORCE/S@{_OParAD} @{b}SYNOPSIS@{ub}@{_IParAD} MakeLink [FROM] [TO] [HARD] [SOFT] [FORCE]@{_OParAD} @{b}DESCRIPTION@{ub}@{_IParAD} Creates a file on a disk that is a pointer to another file. When an application or command calls the FROM file, the TO file is actually used. By default, MakeLink makes hard links - the FROM and TO files must both be on the same volume.@{Par} To make soft links - which can cross volumes - the SOFT keyword must be specified. This might not be supported by all filesystems or OS versions.@{Par} Normally, MakeLink does not support drawer links, as they can be dangerous to applications. To create a drawer link you must use the FORCE option. If MakeLink detects that you are creating a circular link, such as a link to a parent drawer, you will receive a Link loop not allowed message.@{_OParAD} @{b}OPTIONS@{ub}@{_IParAD} FROM@{_IParAD2} The name of the link to be created.@{_OParAD2} TO@{_IParAD2} The file/drawer the link should point to.@{_OParAD2} HARD@{_IParAD2} Create a hard link. Hard links can only point to files or drawers on the same volume. This is the default.@{_OParAD2} SOFT@{_IParAD2} Create a soft link. Soft links can point to files or drawers on other volumes.@{_OParAD2} FORCE@{_IParAD2} You must specify this in order to make a drawer link.@{_OParAD} @{b}NOTES@{ub}@{_IParAD} MakeLink requires OS 3.0 or better to operate, as soft links are said to not be fully supported in earlier OS versions.@{Par} OS 3.0 seems to only allow the creation of soft directory links. OS 3.1 supports soft file links as well.@{Par} Not all programs support soft links. Especially soft file links can cause problems, and may for example show up as a directory.@{Par} Using soft links can be a bit tricky. If you delete the file/directory the soft link points at, then not all programs will be able to delete it. In that case, you have to create the file the link points to, and then delete the link (and finally the file). Or you could use the included @{" DeleteLink " Link DELETELINK} program.@{Par} The complete path to soft links (including the file name) can not be more than 256 chars long, due to limitations in the current OS version. If you try to create the link anyway, you will get a nonfunctional link.@{_OParAD} @EndNode @Node UNPACKILBM "Visage.guide/Included programs/UnpackILBM" @Toc PROGRAMS @{Par} @{b}NAME@{ub}@{_IParAD} UnpackILBM -- Unpack IFF ILBM pictures.@{_OParAD} @{b}TEMPLATE@{ub}@{_IParAD} UnpackILBM FROM/A,TO@{_OParAD} @{b}SYNOPSIS@{ub}@{_IParAD} UnpackILBM [FROM] [TO ]@{_OParAD} @{b}DESCRIPTION@{ub}@{_IParAD} Unpack the so called BODY chunk of an IFF ILBM file. The BODY chunk contains the actual picture data. The other parts of the file are simply copied.@{_OParAD} @{b}OPTIONS@{ub}@{_IParAD} FROM@{_IParAD2} The picture to unpack.@{_OParAD2} TO@{_IParAD2} The file to unpack to. If not specified, then the unpacked file will overwrite the original (via a temporary file). Specifying the same file for both FROM and TO causes an error.@{_OParAD} @{b}FUTURE PLANS@{ub}@{_IParAD} Several things could be improved, including buffered I/O (and thus not loading the entire BODY chunk into memory and unpack it there); a chunk filter (to remove unwanted chunks). Other (less likely to be implemented) things include the possiblity to add/change some chunks and pack the BODY chunk.@{_OParAD} @EndNode @Node UPDATETT "Visage.guide/Included programs/UpdateTT" @Toc PROGRAMS @{Par} @{b}NAME@{ub}@{_IParAD} UpdateTT -- Update tooltypes from one icon to another.@{_OParAD} @{b}TEMPLATE@{ub}@{_IParAD} UpdateTT FROM/A,TO/A,TT=TOOLTYPES/A/M@{_OParAD} @{b}SYNOPSIS@{ub}@{_IParAD} UpdateTT [FROM] [TO] [TOOLTYPES] ...@{_OParAD} @{b}DESCRIPTION@{ub}@{_IParAD} Update tooltypes from one icon to another. The tooltypes specified (patterns are allowed) that are found in the FROM icon, will be copied to the TO icon, but only if the did not already exist in the TO icon. All other tooltypes are left unchanged.@{Par} When specifying the tooltypes, only the actual "name" of the tooltype is considered. Any arguments are ingored, as are "comment parentheses" ("()" around the tooltype to disable it).@{_OParAD} @{b}OPTIONS@{ub}@{_IParAD} FROM@{_IParAD2} The name of the icon to read the tooltypes from, without the ".info" extension.@{_OParAD2} TO@{_IParAD2} The name of the icon to update the tooltypes to, without the ".info" extension.@{_OParAD2} TOOLTYPES@{_IParAD2} The tooltypes that should be updated. Patterns are allowed. Parentheses around tooltypes in the icons (to disable them) are ignored, as are any arguments.@{_OParAD} @EndNode @Node NOTES "Visage.guide/Notes" @{_IPar} @{U}@{B}Notes@{UB}@{UU}@{_OPar} Visage has been extensively tested on a variety of different Amigas (sometimes with Enforcer and/or Mungwall running), and I am happy to say that there are not many known problems at the moment.@{Par} However, there are a couple of things that you should be aware of:@{_IPar} @{" Back picture visible " Link BACK_PICTURE}@{Line} @{" Bad aspect " Link BAD_ASPECT}@{Line} @{" Graphic cards " Link GFX_CARD}@{Line} @{" Interlaced JPEG and PNG pictures " Link LACE_PNG_JPG}@{Line} @{" Mouse jumping " Link MOUSE_JUMP}@{Line} @{" Pipe reading " Link PIPE_READ}@{Line} @{" PNG support " Link PNG_SUPPORT}@{Line} @{" Screen centering " Link SCREEN_CENTER}@{Line} @{" Tooltypes ignored " Link NO_TOOLTYPES}@{_OPar} There is also one bug that I have been unable to fix. Luckily, it is harmless. Sometimes, the @{" fade " Link FADE} will stop when the picture is very dark (but not completely black). I do not know why or when this happens; I have only noticed it once.@{Par} I would not be the least surprised if more serious problems or bugs turns up. After all, bug free software is a goal that is impossible to reach. :)@{Par} @EndNode @Node BACK_PICTURE "Visage.guide/Notes/Back picture visible" @Toc NOTES @{_IPar} @{U}@{B}Back picture visible@{UB}@{UU}@{_OPar} Under some very special circumstances, the picture loaded in the background may be partially visible. This cannot be avoided, and is harmless.@{Par} @EndNode @Node BAD_ASPECT "Visage.guide/Notes/Bad aspect" @Toc NOTES @{_IPar} @{U}@{B}Bad aspect@{UB}@{UU}@{_OPar} Some pictures have a strange aspect stored in the file. Thus, if you do get a strange aspect for a picture, this is the most likely explanation (or maybe your Amiga does not have a screen mode with a proper aspect).@{Par} If you have a graphics card, it is possible that the display database contains improper values (for the modes provided by the graphic card). The internal BestModeID() function is very strict when it comes to the aspect, so this should not be the source of the problem.@{Par} @EndNode @Node GFX_CARD "Visage.guide/Notes/Graphic cards" @Toc NOTES @{_IPar} @{U}@{B}Graphic cards@{UB}@{UU}@{_OPar} As I only own one graphics card, it is a bit tricky to ensure that Visage really works with all the different "Intuition emulators" available.@{Par} One important thing to remember is that you should use the @{B}COLOR@{UB} argument, to change how deep pictures should be rendered, and possibly the @{B}DITHER@{UB} argument as well.@{Par} Here is a list over how the most common emulators behaves (according to the reports I have got! ;):@{_IPar} @{b}EGS@{ub}@{Line} Pictures are displayed properly. However, it seems like the background loading does not work. The @{B}LOWMEM@{UB} or @{B}LATELOAD@{UB} option should be specified in that case. No high- or truecolor render.@{Par} @{b}Picasso@{ub}@{Line} No known serious problems. Possibly some trashed graphics at the right side of the picture (but hopefully not). Please note that the @{B}NOFOREIGN@{UB} switch might be needed for Visage to work properly (i.e. not crash ;). No high- or truecolor render, unless the Picasso96 CyberGraphX API is installed. (Note that I have not tested Picasso96 myself.)@{Par} @{b}CyberGraphX@{ub}@{Line} The current beta of version 3 works fairly well, though you should avoid using the @{B}CENTER@{UB} option, as this (new) part does not work that well yet. Specifying @{B}LOWMEM@{UB} reduces the problems, but does not completely remove them. Version 2 should work as well, but I have not tested this myself.@{_OPar} I have not been able to trace any of the above problems to bugs in Visage (maybe some of the problems can be avoided, if I only knew how ;). It should be noted that other versions of the emulation software may work differently.@{Par} See also:@{_IPar} @{" CENTER " Link CENTER} @{" COLOR " Link COLOR} @{" DITHER " Link DITHER} @{" LATELOAD " Link LATELOAD} @{" LOWMEM " Link LOWMEM} @{" NOFOREIGN " Link NOFOREIGN} @{" NORMALNAMES " Link NORMALNAMES} @{" RTG " Link RTG}@{_OPar} @EndNode @Node LACE_PNG_JPG "Visage.guide/Notes/Interlaced PNG and JPEG pictures" @Toc NOTES @{_IPar} @{U}@{B}Interlaced PNG and JPEG pictures@{UB}@{UU}@{_OPar} PNG and JPEG both support "interlaced" pictures (the JPEG term is progressive), where the picture is first drawn very roughly, with the details being filled in later. In order to do this, the picture is rendered in several passes, where each pass increases the displayed detail level.@{Par} Visage will render these pictures this way, but since the rendering process can be rather slow - especially for truecolor pictures rendered in HAM - only every other display pass will actually be rendered. This means that there can be a (small) delay between two rendering passes (especially for the final pass for PNG pictures). On the other hand, the total render time can decrease significantly.@{Par} Also, this kind of interlaced pictures can require quite a bit of memory to load. This especially true for PNG pictures, since a full size copy of the picture data - in uncompressed form - must be available during load, apart from the actual screen data.@{Par} So, if you have a truecolor picture of, say, 640×480 pixels, Visage needs an image buffer of 640 * 480 * 3 = 933,120 bytes, plus some additional overhead. This image buffer currently needs to be in one continous memory block.@{Par} JPEG pictures needs some extra memory as well, but I do not know how much, nor how it is handled internally.@{Par} @EndNode @Node MOUSE_JUMP "Visage.guide/Notes/Mouse jumping" @Toc NOTES @{_IPar} @{U}@{B}Mouse jumping@{UB}@{UU}@{_OPar} During picture loading (especially in the background), the mouse pointer "jumps" a little horizontally. I do not know if this is specific to my computer (and all my background utilities), but it does happen for other picture viewers as well.@{Par} I do not know why this happens; if it is due to a bug in Visage (not likely, considering that other programs have similar "problems", and it is only visible for native Amiga screen modes) or what. It seems to be harmless though.@{Par} @EndNode @Node PIPE_READ "Visage.guide/Notes/Pipe reading" @Toc NOTES @{_IPar} @{U}@{B}Pipe reading@{UB}@{UU}@{_OPar} Most of the time, Visage should be able to read and display data from a (named) pipe. However, there are a couple of side effects you should be aware of:@{_IPar} @{b}1.@{ub}@{Line} Pipe reading does not work for datatype pictures, but will probably work for Xpk-compressed pictures (but not PowerPacked pictures), if xpkmaster.library version 3 or higher is installed. There is nothing that can be done about this at the moment. As a result, it could be a good idea to use the @{B}NODATATYPES@{UB} switch, just in case, if you want to use this feature.@{Par} @{b}2.@{ub}@{Line} Visage will always keep the asyncronous buffers allocated, even if they are not used. This is not really possible to do something about, due to some internal details and interactions between some of the arguments available.@{Par} @{b}3.@{ub}@{Line} As a result of the above, you should not use very large values for the buffer size (the @{B}BUFSIZE@{UB} argument), as it would waste memory for the picture types mentioned in point one. You should not have very large buffers anyway (say, more than 64 KB or so), as they cost memory, and does not give very good results anyway.@{_OPar} See also:@{_IPar} @{" BUFSIZE " Link BUFSIZE} @{" NODATATYPES " Link NODATATYPES}@{_OPar} @EndNode @Node PNG_SUPPORT "Visage.guide/Notes/PNG support" @Toc NOTES @{_IPar} @{U}@{B}PNG support@{UB}@{UU}@{_OPar} Visage should be able to display just about any valid PNG picture available. It also supports every important part of the PNG specification, including gamma correction, transparancy handling and alpha channel processing. There is only one omission worth mentioning:@{_IPar} @{b}Text information@{ub}@{Line} PNG allows various kinds of text information to be stored with the picture, and this information should be displayed when the picture is viewed. For now, Visage will ignore this.@{_OPar} Another thing worth mentioning is that the creation of the gamma correction tables for PNG pictures with 16 bits per channel can take a fairly large amount of time. However, such pictures should not be that common anyway. ;) Also, this delay could probably be removed, but it requires (fairly large) changes in libpng.@{Par} @EndNode @Node SCREEN_CENTER "Visage.guide/Notes/Screen centering" @Toc NOTES @{_IPar} @{U}@{B}Screen centering@{UB}@{UU}@{_OPar} The screen centering algorithm does not seem to work most "intuition emulators" for graphic cards (I think I know how this could be worked around, but I have not bothered with it yet ;). Strictly speaking, the emulation software does not handle a feature in AmigaOS.@{Par} Also, the centering may be more or less wrong for Super72 screens. The exact amount depends on the OS version.@{Par} @EndNode @Node NO_TOOLTYPES "Visage.guide/Notes/Tooltypes ignored" @Toc NOTES @{_IPar} @{U}@{B}Tooltypes ignored@{UB}@{UU}@{_OPar} It is possible that the tooltypes specified in the Visage icon are ignored. This can happen if you e.g. double click on an icon that has Visage as the default tool. If the Workbench needs to search the command path for Visage, it will then pass on information that makes Visage believe that the program is located in the same drawer as the project icon, which is not the case. Seems to be a Workbench bug if you ask me. ;) I do not know which versions of Workbench that have this problem. 3.1 (40.5) has it at least.@{Par} To work around this problem, select the project icon, and double click on the Visage icon with shift pressed, or make sure the project icon contains the full path to Visage.@{Par} @EndNode @Node TODO "Visage.guide/The future" @{_IPar} @{U}@{B}The future@{UB}@{UU}@{_OPar} There are a several things that could be improved or implemented. These are things I (or a user or beta tester) have though of during the development, but did not get implemented, either due to lack of information, time, "interest" (i.e. if I thought it could be useful) or something similar.@{Par} Anyway, here is a list over the more important ones:@{_IPar} Improve the quality of rendered "deep" pictures in ECS modes. Code that detects grayscale pictures could be nice. Future versions of the libpng code might help as well (the current code is too slow).@{Par} A GUI mode, to make Visage easier to use, especially from the Workbench. This would probably mean a set of menus, and slightly different behavior (when the mode is enabled).@{Par} Load more than one picture in the background (similar to FV).@{_OPar} And a few minor ones:@{_IPar} Break Visage up into modules loaded on demand. Mostly useful for the JPEG and PNG picture loaders, but it could allow for further picture formats to be added easily. Work in this direction has been started, but nothing is certain yet.@{Par} Internal multitasking. This would mean that Visage would better respond to e.g. cursor keys, while loading a datatype picture.@{_OPar} If you have any suggestions on what you think should be implemented, feel free to contact @{" me " Link AUTHOR}.@{Par} I have no immediate plans to add the following:@{_IPar} Animation support. I suggest you use a dedicated animation viewer instead.@{Par} More picture formats. Maybe a few more formats will be added, but I do not know of any other right now (and using datatypes is much better for "odd" formats anyway).@{_OPar} @EndNode @Node THANKS "Visage.guide/Acknowledgements" @{_IPar} @{U}@{B}Acknowledegments@{UB}@{UU}@{_OPar} There are a couple of persons who have helped me in one way or another with this program (in no particular order):@{_IPar} @{B}The Independent JPEG Group@{UB}@{Line} The libjpeg link library.@{Par} @{B}The PNG Development Group@{UB}@{Line} The libpng link library.@{Par} @{B}Jean-loup Gailly@{UB} and @{B}Mark Adler@{UB}@{Line} The zlib link library.@{Par} @{B}Christoph Feck@{UB}@{Line} The Tower JPEG Codec Class, which was used in earlier versions of Visage.@{Par} @{B}Rafael D'Halleweyn@{UB}@{Line} The fast 24-bit to HAM6/HAM8 encoding functions.@{Par} @{B}Sebastiano Vigna@{UB}@{Line} The PCHG specification and example code.@{Par} @{B}Martin Taillefer@{UB}@{Line} The asynchronous IO code and the FixAG program. (Although I had to fix a bug or two in the async io code myself! ;)@{Par} @{B}Wessel Dankers@{UB}@{Line} For the MergeList() function (as posted in comp.sys.amiga.programmer).@{Par} @{B}Günther Röhrich@{UB}@{Line} His ideas/suggestions, and the help he gave me about his HAM encoding function, although I decided to not use it.@{Par} @{B}Lars Eilebrecht@{UB}@{Line} For DoIconLite, which was used during the installation in earlier versions of Visage. I replaced it with a program written by myself, since DoIconLite did not quite work the way I wanted.@{Par} @{B}Phil Vedovatti@{UB}@{Line} For the nice NewIcons.@{Par} @{B}John Hendrikx@{UB}@{Line} For the chunky to planar conversion routines (sorry, the planar to chunky functions are not flexible enough ;).@{Par} @{B}Lee Kindness@{UB}@{Line} For Umentiler, and being kind (!) enough to implement my specific requests, so that I don't need to mess around with ARexx scipts and environment variables to process this manual.@{Par} @{B}Erik Lindberg@{UB} · @{B}Johan Billing@{UB} · @{B}Hans Bergengren@{UB} · @{B}Mathias Karlsson@{UB} · @{B}Mattias Johansson@{UB} · @{B}Reinhard Katzmann@{UB} · @{B}Thorsten Marquardt@{UB} · @{B}Lars Eilebrecht@{UB} · @{B}Nick Soggia@{UB} · @{B}Rolf Rotvel@{UB}@{Line} Beta testing (during one time or another). A special thank must go to Mathias Karlsson, who suggested the name for this program.@{_OPar} Finally, I would like to thank everyone who has sent me a message, with bug reports, comments or similar. A very special thanks to those who have sent me a donation.@{Par} @EndNode @Node AUTHOR "Visage.guide/Author information" @{SetTabs 15}@{_IPar} @{U}@{B}Author information@{UB}@{UU}@{_OPar} If you wish to send me comments, bug reports, gifts, money or whatever, then use this address:@{_IPar} Magnus Holmgren@{Line} Kvarnbergsvägen 5@{Line} S-444 47 Stenungsund@{Line} SWEDEN@{_OPar} Electronic addresses:@{_IPar} Fidonet: 2:203/512.10@{Line} Internet: cmh@lls.se@{Line} WWW: http://www.lls.se/~cmh/@{_OPar} The latest version of Visage is available for download from my home page. There you can also find some information about me, and other programs I have written.@{Par} If you send me a bug report, please read the relevant sections of this manual first (mainly the @{" argument " Link ARGUMENTS} section if suitable, and the @{" notes " Link NOTES} section). Many known "problems" (or features ;) are mentioned here.@{Par} Also, please include some basic system information with your bug report (OS version, CPU type and graphics subsystem are of main interest here). If the problem only occurs in certain cases (e.g. a certain picture type or size, or certain arguments), please specify this as well. Thank you.@{Par} @EndNode @Node HISTORY "Visage.guide/Program history" @{_IPar} @{U}@{B}Program history@{UB}@{UU}@{Par} @{" Version 39.0 " Link V39_0}@{Line} @{" Version 39.1 " Link V39_1}@{Line} @{" Version 39.2 " Link V39_2}@{Line} @{" Version 39.3 " Link V39_3}@{Line} @{" Version 39.4 " Link V39_4}@{Line} @{" Version 39.5 " Link V39_5}@{Line} @{" Version 39.6 " Link V39_6}@{Line} @{" Version 39.7 " Link V39_7}@{Line} @{" Version 39.8 " Link V39_8}@{Line} @{" Version 39.9 " Link V39_9}@{Line} @{" Version 39.10 " Link V39_10}@{Line} @{" Version 39.11 " Link V39_11}@{Line} @{" Version 39.12 " Link V39_12}@{_OPar} @{" Version 39.14 " Link V39_14}@{_OPar} @EndNode @Node V39_0 "Visage.Guide/Program history/Version 39.0" @Toc HISTORY @{_IPar} @{U}@{B}Version 39.0@{UB}@{UU}@{_OPar} Initial release.@{Par} @EndNode @Node V39_1 "Visage.Guide/Program history/Version 39.1" @Toc HISTORY @{_IPar} @{U}@{B}Version 39.1@{UB}@{UU}@{_OPar} Various bug fixes to the Xpk support code (it was a last minute addition. The beta testers never saw it ;):@{_IPar} Certain seeks did not work. Usually caused crashes if the unpacking was breaked.@{Par} After a break, the next picture will be started faster (never noticed, due to the bug above ;).@{Par} Errors (during read) was not quite properly handled.@{_OPar} Fixed a bug that caused MungWall hits, but usually nothing else. ;)@{Par} Tried to remove the "odd" error requesters some users got after cancelling the file requester. I am not sure why this happened, but hopefully the changes will help. If not, I guess I will have to remove it, although this must be due to some "bad" Asl patcher or something similarly buggy. ;)@{Par} Corrected the version string. The last part of the version number should never have been there.@{Par} The working name of the program (PicView) was left in a few places. Funny, I thought I had searched through the relevant files.. ;)@{Par} Please note that my Fidonet address changed to 2:204/204.6 on the 13th of August ('95)!@{Par} Added support for color rendering of pictures, based on code from the Independent JPEG Group. The quality is not great perhaps (largely based on the fact that the palette is fixed), but on a 256 color screen the result is fairly good, at least with dithering.@{Par} Now (optionally) @{" dithers " Link DITHER} grayscale @{" rendered " Link RENDERED} pictures on ECS Amigas. Improved the quality quite noticably.@{Par} Made various minor cleanups to the program. Hopefully made it a bit smaller. ;) (Eaten up by all additions..)@{Par} Updated the installer script a bit.@{Par} Norwegian translation by Jan-Tore Eliassen included.@{Par} Included a simple ARexx script written by Leo Davidson. Its purpose is to use Visage for a slideshow in DirOpus5.@{Par} Removed an Enforcer hit. Only occurred when Visage encountered a file it could not display, and no other picture was displayed.@{Par} Added support for soft file links (the OS handles soft dir links by itself).@{Par} Included a @{" MakeLink " Link MAKELINK} clone I wrote quite a while ago, but never released, so that you can make soft links yourself. Note: This clone has the same size as the original (MakeLink 37.4)! ;)@{Par} Fixed a bug that (probably) could cause the wrong filename to be displayed sometimes. I never noticed it... ;)@{Par} Included DoIconLite by Lars Eilebrecht, to allow easy and flexible update of the tooltypes in the icon (in the installation script).@{Par} Added the @{" TIME " Link TIME} tooltype. So now you can see how long it took to load each picture. Note: This is another "last minute addition", so do not be surprised if things does not quite work as expected. ;)@{Par} Added @{" COMPACT " Link COMPACT} switch. By default, Visage is now displaying verbose output on a separate line, to make it look better on consoles with a "limited" width. Using this switch will revert to the old one-line format.@{Par} If an error occurred when using the @{" RANDOM " Link RANDOM} option, some memory (and locks on drawers) was not always freed.@{Par} Updated the asynchronous IO code, to work around a problem when using SnoopDos with "ShowRexx" active. Caused enforcer hits if Enfocer and Mungwall was running.@{Par} @EndNode @Node V39_2 "Visage.Guide/Program history/Version 39.2" @Toc HISTORY @{_VerTabs}@{_IPar} @{U}@{B}Version 39.2@{UB}@{UU}@{Par} Compile date: November 7, 1995@{Line} Program size: 46312 bytes@{_OPar} Finnish translation by Osma Ahvenlampi included.@{Par} The GIF reader sometimes reported odd errors if there was an error in the picture.@{Par} If there was an error in a picture, the error message was printed before the picture information.@{Par} No newline was printed after the error message.@{Par} Timing information output was not quite right (leading parenthese was shown when it should not, and vice versa).@{Par} Empty files now get a meaningful error message.@{Par} Did some changes to improve RTG support (i.e. an attempt to make it actually work ;).@{Par} Removed an Enforcer hit when using @{" GRAY " Link GRAY} output and @{" DITHER " Link DITHER} NONE.@{Par} Added the @{" NORMALNAMES " Link NORMALNAMES} switch, in case you prefer the normal display mode names (and sizes plus modes for those without a name), or you have a graphics card.@{Par} Fixed a typo in this manual, so that one link to the man page for DoIconLite works.@{Par} Certain constructed mode names were not correct. Could only happen for "foreign" (normally graphics card) modes without a name. Made a couple of other changes to the related code.@{Par} Implemented color cycling. Added the @{" CYCLE " Link CYCLE} argument, to automatically start the cycling when needed. This cycling only supports "simple" (CRNG) cycling at the moment.@{Par} @{" SORT " Link SORT} argument added. If specified, then the pictures will be displayed in alphabetical order. Behaves otherwise as @{" RANDOM " Link RANDOM}.@{Par} @{" NOCLICK " Link NOCLICK} argument added. If specified, then Visage will ignore any mouse clicks on the pictures. To view the next picture or exit, the keyboard need to be used.@{Par} @{" COMMAND " Link COMMAND} argument added. Here a command can be specified, that is executed when `e' is pressed.@{Par} VisageOpts may now contain comments. Comments starts with a `#' or `;' on the beginning of a line, and ends with the end of that line.@{Par} Visage now looks for the file @{I}VisageOpts @{UI}in the drawer specified in the environment variable @{B}ConfigPath, @{UB}before looking for the environment variable @{I}VisageOpts. @{UI}@{Par} @{" TEST " Link TEST} argument added. Causes pictures to be loaded, but not displayed. If a picture fails, the @{" COMMAND " Link COMMAND} is executed, if specified.@{Par} Fixed a few problems in the installer script.@{Par} Cleaned up the output code. The WShell scrollback looks much better now.@{Par} If you specify a file in the file requester that refers to a file that does not exist, then Visage will interpret it as a pattern. This allows you to select a drawer, and then specify a pattern in a very easy way. ;)@{Par} Replaced some catalogs strings.@{Par} Rewrote dithering functions into assembler. Overall render speed increased some 13-18 percent (depending on dither mode) on a rather large (scaled) JPEG on my system (A4000/040).@{Par} Added the @{" RTG " Link RTG} switch. Forced by the fact that Visage assumed a certain flags in the display database would be set for foreign screen modes, but due to bugs in some system software, this was not the case. This switch will make Visage slower on rendering some pictures, and/or use more memory for datatype pictures, when displayed in native Amiga modes. Thus, it should only be used when needed; i.e., when a graphics card is installed.@{Par} Visage will now always try to use the aspect of the screen mode stored in an IFF ILBM picture. This did not always happen earlier.@{Par} Visage did not render dithered grayscale images properly (the picture was almost completely black).@{Par} Added some simple CyberGraphX support. Visage is now able to properly recognize a CyberGraphX mode, and will behave accordingly. Thus, the @{" RTG " Link RTG} switch is not needed if you have CyberGraphX installed.@{Par} Replaced the NewIcon image with one drawn by Phil Vedovatti.@{Par} Visage sometimes exited without reason when a bad file was found.@{Par} Changed to chunky <-> planar conversion code written by John Hendrikx (except for chunky to planar for 8-bit screens). Shaved some 700 bytes from the program, and made it a tad faster.@{Par} If no password was specified, but one is needed, Visage will now prompt for one, if ReqTools is available.@{Par} Added GRAPHICS as a synonym to STANDARD, for the @{" OVERSCAN " Link OVERSCAN} argument.@{Par} Added some safety checks.@{Par} Cleaned up some parts of this manual. Also changed the layout a little.@{Par} Reduced memory usage during dither and/or color render (at most a couple of KBs).@{Par} Added vertical centering (@{" VCENTER " Link VCENTER}). Note that this looks best if border blanking is off, due to how it is implemented. It also makes the picture use more graphics memory.@{Par} Fixed a bug that could make gray scale rendering a tiny bit slower than needed. ;)@{Par} Added support for background color in GIFs (of version 89a). Nice when the border blanking is not on, and/or vertican screen centering is used. Note that not all GIFs use this feature.@{Par} Localized date in "initial about string". ;)@{Par} Changed way of rendering interlaced GIFs. Looks much better, but is slightly slower. This method is not used if the picture is scaled (it will not look good.. ;).@{Par} Changed way of detecting foreign modes. Not as flexible as the old one, but should work much better. And even if it should become "out of date", the only drawback will be that Visage sometimes will be a bit slower than needed. ;) Should hopefully remove the need for the @{" RTG " Link RTG} switch.@{Par} Made some more changes for improved RTG support.@{Par} Fixed a bug that could cause crashes when started from Workbench via a project icon.@{Par} @EndNode @Node V39_3 "Visage.Guide/Program history/Version 39.3" @Toc HISTORY @{_VerTabs}@{_IPar} @{U}@{B}Version 39.3@{UB}@{UU}@{Par} Compile date: December 12, 1995@{Line} Program size: 95152 bytes@{_OPar} @{" TEST " Link TEST} option did not work properly. It said "Not enough memory" for all non-datatype pictures, and did not display picture information for datatype pictures. Note that it seems like most datatypes doesn't report any error, even if the picture did contain detectable errors.@{Par} Rewrote the scaling functions. The new ones have much higher precision (and are smaller and simpler, without loss of speed). The scaling should always make a perfect screen fit now! ;)@{Par} Made some other scaling related changes, so that Visage (hopefully) will make the picture completely visible at all times.@{Par} Visage did not properly parse the density (i.e. "reversed" aspect) information in JPEG pictures.@{Par} Tried to remove the trashed graphics that sometimes can be seen to the right of a picture, when diplayed on a Picasso emulation screen.@{Par} Made some further optimizations on the dithering functions (cases @{B}DITHER NONE@{UB} and @{B}DITHER ORDERED@{UB}). Overall speed increase at most some 6%.@{Par} GIF pictures that were larger than specified (in the header) caused problems for Visage.@{Par} Fixed a bug in the @{" SORT " Link SORT} option, that could cause crashes and similar.@{Par} Added nifty @{" SHOWINFO " Link SHOWINFO} switch. Displays picture information above the acutal picture.@{Par} Added @{" INFO " Link INFO} switch. Makes Visage display information about the picture, but not load it.@{Par} Cleaned up the datatype reader a bit. Did not improve behavior as I had hoped (found the reason for it after I hade made the change ;).@{Par} Replaced DoIconLite with @{" UpdateTT " Link UPDATETT}. I wrote UpdateTT since DoIconLite did not quite behave the way I wanted. UpdateTT is also much smaller. ;)@{Par} Tried to fix the crashes when promoting IFF ILBM pictures to CyberGraphX modes.@{Par} Improved the @{" TOFRONT " Link TOFRONT} behavior a little.@{Par} French translation by Georges Goncalves included.@{Par} @EndNode @Node V39_4 "Visage.Guide/Program history/Version 39.4" @Toc HISTORY @{_VerTabs}@{_IPar} @{U}@{B}Version 39.4@{UB}@{UU}@{Par} Compile date: December 22, 1995@{Line} Program size: 47692 bytes@{_OPar} Fixed a problem that trashed memory when displaying (non-scaled) interlaced GIFs.@{Par} Missing/incorrect password got no error message. I knew about the problem before I released version 39.3, but I forgot to fix it! ;)@{Par} The "Program size:" field in the version 39.3 information was with all debug info (it is quite much ;).@{Par} Special screen modes (HAM, EHB and similar) was not properly handled when a @{B}MODE@{UB} argument was specified, possibly causing pictures to be displayed in the wrong special mode.@{Par} The @{" LOWMEM " Link LOWMEM} option caused crashes if "show next picture" was requested while loading the current picture.@{Par} @EndNode @Node V39_5 "Visage.Guide/Program history/Version 39.5" @Toc HISTORY @{_VerTabs}@{_IPar} @{U}@{B}Version 39.5@{UB}@{UU}@{Par} Compile date: January 21, 1996@{Line} Program size: 43832 bytes@{_OPar} Fixed a bug that caused Visage to not work on CyberGraphX screens (and quite likely other intuition emulators as well). Introduced in version 39.3 or 39.4.@{Par} Recompiled with SAS/C 6.56. Reduced size with almost 4 KB.@{Par} Fixed an Enforcer hit that occurred when starting Visage from a shell with the @{" QUIET " Link QUIET} option.@{Par} Visage did not always close datatypes.library as needed, when viewing datatype pictures.@{Par} German translation by Lars Eilebrecht included (I got one from Christian Kemp first, but his translation was not quite complete ;).@{Par} Added some more error checking in the GIF unpacker.@{Par} When breaking the current picture to view the next, Visage behaved as if the @{" LOWMEM " Link LOWMEM} switch had been specified.@{Par} Visage did not propagate break signals that were recieved during a fade. Now the fading code simply peeks on the received signals and does not process them (leaving that for later). This means that Visage will not react immediately to break signals during the fade, but to fix that would cost more work than I would like to spend right now. ;)@{Par} Argh! Catalog generation went haywire in version 39.3. :/ Why did not anyone notice this eariler? ;)@{Par} If @{" SHOWINFO " Link SHOWINFO} was specified, but there were no @{" vertical centering " Link VCENTER} or @{" scaling " Link SCALE}, then Visage could calculate the wrong screen height, and would quite likely trash some graphics memory.@{Par} Visage would quit on certain errors (such as file did not exist).@{Par} Switched on invisible typing in the password requester.@{Par} Visage sometimes ignored "show next picture" requests.@{Par} Misc cleanups and optimizations. I hope I did not break anything fixed above. ;)@{Par} Changed so that @{" UpdateTT " Link UPDATETT} only requires OS 2.04+. I made it require OS 3.0 for no real reason. ;) Added a proper version string. Recompiled with SAS/C.@{Par} @EndNode @Node V39_6 "Visage.Guide/Program history/Version 39.6" @Toc HISTORY @{_VerTabs}@{_IPar} @{U}@{B}Version 39.6@{UB}@{UU}@{Par} Compile date: 23-Mar-96@{Line} Program size: 45204 bytes@{_OPar} Removed some debug output in a BestMode related function (forgot to do it in 39.5 ;).@{Par} Some errors in the GIF reader wasn't properly reported.@{Par} Certain "early" picture errors caused Visage to crash.@{Par} The IFF reader would crash when rendering to foreign screen modes (including when the @{" RTG " Link RTG} switch had been used, since it makes Visage assume all modes are foreign).@{Par} Interlaced GIF pictures weren't alway rendered properly. It seems like it didn't always render the final pixel line. While at it, I cleaned up the responsible code.@{Par} Fixed a quirk in the Installer script (selecting English catalog for installation didn't work).@{Par} The color selection for the @{" SHOWINFO " Link SHOWINFO} text didn't always produce the correct result, possibly making the text invisible.@{Par} Added pattern support for the @{" MONITOR " Link MONITOR} argument.@{Par} Added the @{" NOICON " Link NOICON} switch. Makes Visage ignore any `#?.info' files enountered.@{Par} Increased the date buffer, when displaying the about message. This to solve the problem for an Italian user, with a buggy Italian locale. Since I assume other users (mostly Italian, I guess ;) can have this problem as well (i.e. Visage crashes when right after displaying the about message), I made this simple workaround.@{Par} Changed the @{" NORMALNAMES " Link NORMALNAMES} behaviour a little. When specified, then the display database names will be checked first, when using the @{" MODE " Link MODE} argument. The behaviour here was not clearly defined earlier.@{Par} Visage will now remap datatype pictures the system can't display. This is needed for proper behaviour on ECS Amigas. This forced me to change back to the old (and somewhat slower) planar to chunky converting code, as it is more generic. It is still much faster than the ROM code. ;)@{Par} Added the @{" NOFOREIGN " Link NOFOREIGN} switch, to make Visage work better with certain Intuition emulators (most notably the PicassoII). If Visage tended to crash for you - especially when you didn't specify a display mode yourself - then you should try this switch.@{Par} Some minor internal improvements...@{Par} Improved argument handling for tooltypes. Strings with quotation characters were not properly handled. The main candidate for this problem was the @{" COMMAND " Link COMMAND} argument.@{Par} Improved mode selection for PCHG pictures (so that modes that do not support such pictures are avoided).@{Par} French and Italian catalogs updated.@{Par} @EndNode @Node V39_7 "Visage.Guide/Program history/Version 39.7" @Toc HISTORY @{_VerTabs}@{_IPar} @{U}@{B}Version 39.7@{UB}@{UU}@{Par} Compile date: 12-Apr-96@{Line} Program size: 45168 bytes@{_OPar} Note: Version 39.6 was only available from my home page. For reasons unknown to me, I was unable to upload it to Aminet. I only got messages about corrupt archives, while the archive was ok when I tested it.@{Par} Workbench argument parsing didn't work properly. Sorry, I hardly ever start Visage from the Workbench! ;)@{Par} The bottom of interlaced GIFs still didn't look quite right. I think I've got it right now.@{Par} Errors that occured during the internal IFF ILBM or GIF unpacking got the wrong error message.@{Par} @EndNode @Node V39_8 "Visage.Guide/Program history/Version 39.8" @Toc HISTORY @{_VerTabs}@{_IPar} @{U}@{B}Version 39.8@{UB}@{UU}@{Par} Compile date: 96-05-06@{Line} Program size: 45232 bytes@{_OPar} Finally found and fixed the bug that caused crashes when the system ran low on chip memory.@{Par} Updated the installer scrip to really work when english language was selected during install (an updated 39.7 archive with this fix has been available on my home page).@{Par} Updated the installation script: Made changes for better V43 conformance, and added some other things.@{Par} Finally updated the Swedish translation. ;)@{Par} @EndNode @Node V39_9 "Visage.Guide/Program history/Version 39.9" @Toc HISTORY @{_VerTabs}@{_IPar} @{U}@{B}Version 39.9@{UB}@{UU}@{Par} Compile date: 96-07-02@{Line} Program size: 45040 bytes@{_OPar} Visage should now work better with the V43 picture.datatype and truecolor (24-bit) images.@{Par} Datatype re-rendering was not correctly done for HAM8 pictures.@{Par} Made some other minor changes and cleanups to the datatype reader.@{Par} The text displayed by the @{" SHOWINFO " Link SHOWINFO} switch was not displayed on the right position, sometimes making text clipped (due to the font I normally use, I did not notice the problem. I know; should have tested with some other fonts ;).@{Par} The task creation code were doing somewhat naughty things, causing Mungwall hits (however, this did work with the current OS versions). Changed to more proper behaviour.@{Par} Russian and Spanish translations included.@{Par} Clearified the behaviour of the @{" VisageOpts " Link VISAGEOPTS} configuration.@{Par} Visage did not always clean up properly when aborted. This would usually only happen for datatype pictures.@{Par} Visage did not behave consistently if @{" WAITFORPIC " Link WAITFORPIC} was specified, and you asked Visage to view the next picture. Now Visage will never wait in this particular case. Cleared up the manual on this part as well.@{Par} Tweaked the startup code a little.@{Par} Funny... I just found out that (most) DOS function indeed does support soft links, at least in OS 3.1. How come I did not notice this before, when I added the "soft link support" code in Visage in the first place? As I think of it, the error code was a bit odd. ;) Anyway, that code have now been removed, saving a few bytes.@{Par} Upcoded @{" MakeLink " Link MAKELINK} to C and added soft link detection. It will now state that links between volumes needs the SOFT keyword, rather than saying something like "object not of require type".@{Par} @EndNode @Node V39_10 "Visage.Guide/Program history/Version 39.10" @Toc HISTORY @{_VerTabs}@{_IPar} @{U}@{B}Version 39.10@{UB}@{UU}@{Par} Compile date: 96-09-26@{Line} Program size: 45088 bytes@{_OPar} Increased miminal bitmap width from 16 to 80, when running under OS 3.0. This should fix the improperly displayed narrow pictures (i.e. those less than 80 pixels wide).@{Par} When specifying the @{" NOICON " Link NOICON} switch, then the file requester will not include any icons either.@{Par} Visage now sanity checks some picture parameters to prevent problems. Earlier, pictures with e.g. a depth of zero would cause crashes.@{Par} Rendering deep grayscale (more than 16 shades) pictures on ECS Amigas with dithering turned off didn't look very well. Fixed.@{Par} Visage always (?) treated files selected in a file requester as having patterns, when MuFS was installed, due to a bug in Visage. As a result, files containg pattern characters couldn't be selected (without some extra work).@{Par} Added spanish translation of the installer script.@{Par} @EndNode @Node V39_11 "Visage.Guide/Program history/Version 39.11" @Toc HISTORY @{_VerTabs}@{_IPar} @{U}@{B}Version 39.11@{UB}@{UU}@{Par} Compile date: 96-12-08@{Line} Program size: 45148 bytes@{_OPar} Norwegian translation updated. Added translations for Dutch (I've had the actual translation since 39.8, but no catalog was made for it, nor was the install script updated ;) and Serbian (at least I assume that is what Srpski stands for ;). Updated the installer script to install Russian catalogs as well.@{Par} Added the @{" NOFILECHECK " Link NOFILECHECK} switch, and changed the behaviour in the file requester a bit. If the switch is not specified, then Visage will always check if a specified file exists, rather than process it as a pattern. This solves the problem with failing to display pictures with pattern characters in the name or the path, especially when Visage is started from the Workbench. The drawback is that patterns might not always be treated as you like. Hence the switch.@{Par} The release archive is now created a bit differently. Should hopefully fix the uploading problems I've experienced (most likely caused by Unix LhA failing on the Visage archive. I've removed some archiving options likely to cause problems according to Stefan Boberg). The 39.10 release didn't make it either... :)@{Par} Added the @{" BORDERBLANK " Link BORDERBLANK} option.@{Par} Recompiled with SAS/C 6.57.@{Par} Wrote the @{" DeleteLink " Link DELETELINK} command.@{Par} Added version string to @{" MakeLink " Link MAKELINK}, and recompiled it with SAS/C 6.57.@{Par} @EndNode @Node V39_12 "Visage.Guide/Program history/Version 39.12" @Toc HISTORY @{_VerTabs}@{_IPar} @{U}@{B}Version 39.12@{UB}@{UU}@{Par} Compile date: 97-04-27 Program size: 116776 bytes@{Par} Hey, this was originally meant to be a minor update! ;)@{_OPar} The @{" NOFILECHECK " Link NOFILECHECK} option in 39.11 had the side effect of making Visage complain about lack of memory when started from the Workbench, and the @{" COMMAND " Link COMMAND} being executed in the wrong drawer sometimes.@{Par} Added the @{" PATTERN " Link PATTERN} argument, where a pattern for the file requester can be specified.@{Par} Increased the minimal screen width under OS 3.0 to 128 pixels.@{Par} Fixed a few quirks in the installer script.@{Par} PNG support added, using libpng and zlib. Note that libpng is on the large side... ;)@{Par} Added the @{" NOPNG " Link NOPNG} switch because of the PNG support.@{Par} Rewrote the JPEG loader, to use the IJG code directly rather than the jpeg.codec, in order to make Visage support progressive JPEG pictures. It also makes Visage a bit larger, but on the other hand, the total memory usage when displaying JPEGs will be lower (the jpeg.codec contains a lot of code not used by Visage). JPEG reading should also be somewhat faster.@{Par} Asyncio library release 9 used.@{Par} Removed bad graphics that could be seen on the right hand side of (some) very narrow truecolor pictures, when not displayed on a truecolor screen.@{Par} Soft links where not properly handled in the pattern matching loop.@{Par} Reworked the internal readers to be more pipe friendly, when possible. Only datatype pictures can not be read from a pipe now. Please note that even if the asyncronous IO buffers are not used by datatype pictures, they will be allocated anyway. Just a word of warning for you with large buffers (set via @{" BUFSIZE " Link BUFSIZE}). ;)@{Par} If xpkmaster.library version 3 or higher is used, then XPK-compressed (IFF ILBM) pictures are read using a custom IO hook. This should enable reading such pictures from a named pipe, as long as the file is not PowerPacked (Xpk does "limited" seeks for normal Xpk-files (but seeks to the end of PowerPacked files), so the buffers should be able to "catch" the seeks). Note also that this is somewhat experimental, as the IO hook part of Xpk is not that well documented yet.@{Par} Reduced the default value for @{" BUFSIZE " Link BUFSIZE} to 8 KB.@{Par} Specifying "Visage FileThatDoesNotExist FOREVER" would place Visage in an endless loop. Now you can break it (with CTRL-C).@{Par} Due to the Unisys LZW patent, and the conditions for using LZW for GIFs in freely distributable programs, the GIF support has been removed. The @{" NOGIF " Link NOGIF} argument is still in the template (for now) for backwards compatibility.@{Par} Improved the datatype reader, to check if the returned bitmap is displayable. If not, the bitmap is copied to a proper screen. This will increase the memory usage, but will ensure that the picture is displayed as intended.@{Par} CyberGraphX support added! Was rather easy actually. An hour work or two did the trick. Ok, the RTG support code did make things rather easy. ;)@{Par} Changed the @{" COLOR " Link COLOR} switch to a keyword with various options, for the CyberGraphX support.@{Par} Improved support for picture.datatype version 43.@{Par} The first loaded picture was not always brought to the front. Mostly noticed for datatype pictures when displayed on a graphics card screen.@{Par} Algorithmic mode names are now used by default for CyberGraphX modes, and they look like this: ":xx". Similar to the normal names, but now you do not need to worry about the number of spaces in the string. ;)@{Par} String arguments in @{" VisageOpts " Link VISAGEOPTS} can now be reverted to the default by specifying "".@{Par} @{" DRAWER " Link DRAWER} argument added.@{Par} On ECS Amigas, Visage would sometimes fail to find a suitable mode for IFF ILBM pictures using extra halfbrite.@{Par} Seems like the reading of Xpk encrypted pictures has not been working for a while, due to unexpected behaviour in Xpk.@{Par} Changed file list handling code (responsible for the @{" RANDOM " Link RANDOM} and @{" SORT " Link SORT} arguments), to use less memory, and be faster during program exit (though possibly a bit slower during drawer scanning, at least if many drawers are scanned). Also changed to a sorting function posted by (and, I presume, written by) Wessel Dankers, in the news group comp.sys.amiga.programmer.@{Par} Plugged a few memory leaks.@{Par} Changed the layout of this manual quite a bit (as may have noticed by now). You need AmigaGuide version 40 or better for it to be displayed properly. As a result of these changes, the FixAG program is no longer needed, nor included.@{Par} Translations updated by ATO.@{Par} Changed random function, to something that hopefully is better. Not that the old one was bad really, but... ;)@{Par} @EndNode @Node V39_14 "Visage.Guide/Program history/Version 39.14" @Toc HISTORY @{_VerTabs}@{_IPar} @{U}@{B}Version 39.14@{UB}@{UU}@{Par} Compile date: 97-05-09@{Line} Program size: 116876 bytes@{Par} Version 39.13 skipped to avoid bad luck. ;)@{_OPar} Viewing a GIF picture (via datatypes) could be very slow, due to a silly bug.@{Par} Made some minor tweaks on the datatype reader.@{Par} Floyd-Steiberg dithering usually caused some trashed graphics on the right hand side of the picture.@{Par} Errors within JPEG pictures (that still are displayable) would cause "go to next picture" requests to be ignored. This required quite a few small fixes here and there, so I hope I did not break anything in the process. ;)@{Par} The PNG reader would crash on 68000 CPUs.@{Par} WBMONITOR did not work.@{Par} '*'-chars in tooltypes caused memory trashing.@{Par} The PNG reader code (libpng) updated to 0.95b.@{Par} CLIPBOARD reading did not work.@{Par} Removed some debug output in the XPK read hook (usually not printed).@{Par} Disabled the internal password requester in XPK version 4 and higher.@{Par} @EndNode @Node INDEX "Visage.guide/Index" @{_IPar} @{SetTabs 40} @{U}@{B}Index@{UB}@{UU}@{Par} @{b}A@{ub}@{Line} @{" Acknowledgements " Link THANKS} Acknowledgements@{Line} @{" Algorithmic mode names " Link MODENAMES} Algorithmic mode names@{Line} @{" ALL " Link ALL} ALL@{Line} @{" ARexx scripts " Link PROGRAMS} Included programs@{Line} @{" Arguments " Link ARGUMENTS} Arguments@{Line} @{" Aspect, bad " Link BAD_ASPECT} Aspect@{Line} @{" Author information " Link AUTHOR} Author information@{Par} @{b}B@{ub}@{Line} @{" Back picture visible " Link BACK_PICTURE} Back picture visible@{Line} @{" Background " Link INTRODUCTION} Introduction@{Line} @{" Bad aspect " Link BAD_ASPECT} Aspect@{Line} @{" BESTMODE " Link BESTMODE} BESTMODE@{Line} @{" BORDERBLANK " Link BORDERBLANK} BORDERBLANK@{Line} @{" BUFSIZE " Link BUFSIZE} BUFSIZE@{Line} @{" Bug reports " Link AUTHOR} Author information@{Line} @{" Bugs " Link NOTES} Notes@{Par} @{b}C@{ub}@{Line} @{" CENTER " Link CENTER} CENTER@{Line} @{" CLIPBOARD " Link CLIPBOARD} CLIPBOARD@{Line} @{" COLOR " Link COLOR} COLOR@{Line} @{" Color cycling " Link CYCLE} CYCLE@{Line} @{" COMMAND " Link COMMAND} COMMAND@{Line} @{" COMPACT " Link COMPACT} COMPACT@{Line} @{" ConfigPath " Link VISAGEOPTS} VisageOpts@{Line} @{" CyberGraphX support " Link RENDERED} Rendered pictures@{Line} @{" CYCLE " Link CYCLE} CYCLE@{Par} @{b}D@{ub}@{Line} @{" DATATYPES " Link DATATYPES} DATATYPES@{Line} @{" DELAY " Link DELAY} DELAY@{Line} @{" Delay background loading " Link LATELOAD} LATELOAD@{Line} @{" DeleteLink " Link DELETELINK} DeleteLink@{Line} @{" Disclaimer " Link WARRANTY} No warranty@{Line} @{" DITHER " Link DITHER} DITHER@{Line} @{" DRAWER " Link DRAWER} DRAWER@{Par} @{b}E@{ub}@{Line} @{" ECS " Link ECS} ECS@{Line} @{" Environment variables " Link VISAGEOPTS} VisageOpts@{Line} @{" Examples, mode name " Link MN_EXAMPLES} Examples@{Line} @{" Executing commands " Link COMMAND} COMMAND@{Par} @{b}F@{ub}@{Line} @{" FADE " Link FADE} FADE@{Line} @{" Features " Link FEATURES} Features@{Line} @{" FILES " Link FILES} FILES@{Line} @{" Floyd-Steinberg dither " Link DITHER} DITHER@{Line} @{" FOREVER " Link FOREVER} FOREVER@{Line} @{" Freeware " Link LICENSE} License@{Line} @{" Future, the " Link TODO} The future@{Par} @{b}G@{ub}@{Line} @{" GAMMA " Link GAMMA} GAMMA@{Line} @{" GetModeID " Link GETMODEID} GetModeID@{Line} @{" Graphic cards " Link GFX_CARD} Graphic cards@{Line} @{" Graphics overscan " Link OVERSCAN} OVERSCAN@{Line} @{" GRAY " Link GRAY} GRAY@{Par} @{b}H@{ub}@{Line} @{" HAM " Link HAM} HAM@{Line} @{" Highcolor render " Link COLOR} COLOR@{Line} @{" History " Link HISTORY} Program history@{Line} @{" Horizontal screen centering " Link CENTER} CENTER@{Par} @{b}I@{ub}@{Line} @{" I " Link AUTHOR} Author information@{Line} @{" Ignore mouse clicks " Link NOCLICK} NOCLICK@{Line} @{" Included programs " Link PROGRAMS} Included programs@{Line} @{" INFO " Link INFO} INFO@{Line} @{" Information, author " Link AUTHOR} Author information@{Line} @{" Information, legal " Link LEGAL} Legal information@{Line} @{" Interlaced JPEG and PNG pictures " Link LACE_PNG_JPG} Interlaced JPEG and PNG pictures@{Line} @{" Introduction " Link INTRODUCTION} Introduction@{Par} @{b}J@{ub}@{Line} @{" Jumping mouse " Link MOUSE_JUMP} Mouse jumping@{Par} @{b}K@{ub}@{Line} @{" Keys " Link KEYS} Viewing keys@{Line} @{" Kill " Link KILL} Kill@{Line} @{" Known problems " Link NOTES} Notes@{Par} @{b}L@{ub}@{Line} @{" LATELOAD " Link LATELOAD} LATELOAD@{Line} @{" Legal information " Link LEGAL} Legal information@{Line} @{" Libraries, required " Link LIBRARIES} Required libraries@{Line} @{" License " Link LICENSE} License@{Line} @{" LOWMEM " Link LOWMEM} LOWMEM@{Par} @{b}M@{ub}@{Line} @{" MakeLink " Link MAKELINK} MakeLink@{Line} @{" Max overscan " Link OVERSCAN} OVERSCAN@{Line} @{" Me " Link AUTHOR} Author information@{Line} @{" Mode name examples " Link MN_EXAMPLES} Examples@{Line} @{" Mode name notes " Link MN_NOTES} Notes@{Line} @{" Mode name parts " Link MN_PARTS} Parts@{Line} @{" Mode names " Link MODENAMES} Algorithmic mode names@{Line} @{" MODE " Link MODE} MODE@{Line} @{" MONITOR " Link MONITOR} MONITOR@{Line} @{" Monitor promotion " Link MONITOR} MONITOR@{Line} @{" Mouse buttons " Link KEYS} Viewing keys@{Line} @{" Mouse jumping " Link MOUSE_JUMP} Mouse jumping@{Par} @{b}N@{ub}@{Line} @{" No algorithmic mode names " Link NORMALNAMES} NORMALNAMES@{Line} @{" No background loading " Link LOWMEM} LOWMEM@{Line} @{" No warranty " Link WARRANTY} No warranty@{Line} @{" NOAUTOSCROLL " Link NOAUTOSCROLL} NOAUTOSCROLL@{Line} @{" NOBUSY " Link NOBUSY} NOBUSY@{Line} @{" NOCLICK " Link NOCLICK} NOCLICK@{Line} @{" NODATATYPES " Link NODATATYPES} NODATATYPES@{Line} @{" Nodes, mode name " Link MN_NOTES} Notes@{Line} @{" NOENV " Link NOENV} NOENV@{Line} @{" NOFILECHECK " Link NOFILECHECK} NOFILECHECK@{Line} @{" NOFLICKER " Link NOFLICKER} NOFLICKER@{Line} @{" NOFOREIGN " Link NOFOREIGN} NOFOREIGN@{Line} @{" NOGIF " Link NOGIF} NOGIF@{Line} @{" NOICON " Link NOICON} NOICON@{Line} @{" NOIFF " Link NOIFF} NOIFF@{Line} @{" NOJPEG " Link NOJPEG} NOJPEG@{Line} @{" NOPNG " Link NOPNG} NOPNG@{Line} @{" NORMALNAMES " Link NORMALNAMES} NORMALNAMES@{Line} @{" Notes " Link NOTES} Notes@{Line} @{" NOWARN " Link NOWARN} NOWARN@{Par} @{b}O@{ub}@{Line} @{" Ordered dither " Link DITHER} DITHER@{Line} @{" OVERSCAN " Link OVERSCAN} OVERSCAN@{Par} @{b}P@{ub}@{Line} @{" Parts, mode name " Link MN_PARTS} Parts@{Line} @{" PASSWORD " Link PASSWORD} PASSWORD@{Line} @{" PATTERN " Link PATTERN} PATTERN@{Line} @{" Pictures, rendered " Link RENDERED} Rendered pictures@{Line} @{" Pipe reading " Link PIPE_READ} Pipe reading@{Line} @{" PNG support " Link PNG_SUPPORT} PNG support@{Line} @{" POINTER " Link POINTER} POINTER@{Line} @{" Priority " Link TOOLPRI} TOOLPRI@{Line} @{" Problems " Link NOTES} Notes@{Line} @{" Program history " Link HISTORY} Program history@{Line} @{" Programs " Link PROGRAMS} Included programs@{Par} @{b}Q@{ub}@{Line} @{" QUIET " Link QUIET} QUIET@{Line} @{" Quirks " Link NOTES} Notes@{Par} @{b}R@{ub}@{Line} @{" RANDOM " Link RANDOM} RANDOM@{Line} @{" Rendered pictures " Link RENDERED} Rendered pictures@{Line} @{" Reporting bugs " Link AUTHOR} Author information@{Line} @{" Required libraries " Link LIBRARIES} Required libraries@{Line} @{" Requirements " Link REQUIREMENTS} Requirements@{Line} @{" Rexx scripts " Link PROGRAMS} Included programs@{Line} @{" RTG " Link RTG} RTG@{Par} @{b}S@{ub}@{Line} @{" SCALE " Link SCALE} SCALE@{Line} @{" Screen centering " Link SCREEN_CENTER} Screen centering@{Line} @{" Screen centering, horizontal " Link CENTER} CENTER@{Line} @{" Screen centering, vertical " Link VCENTER} VCENTER@{Line} @{" Screen gamma " Link GAMMA} GAMMA@{Line} @{" Screen mode " Link MODE} MODE@{Line} @{" Screen mode names, algorithmic " Link MODENAMES} Algorithmic mode names@{Line} @{" Screen overscan " Link OVERSCAN} OVERSCAN@{Line} @{" Shell " Link ARGUMENTS} Arguments@{Line} @{" SHOWINFO " Link SHOWINFO} SHOWINFO@{Line} @{" SORT " Link SORT} SORT@{Line} @{" Standard overscan " Link OVERSCAN} OVERSCAN@{Line} @{" System requirements " Link REQUIREMENTS} Requirements@{Par} @{b}T@{ub}@{Line} @{" TEST " Link TEST} TEST@{Line} @{" Text overscan " Link OVERSCAN} OVERSCAN@{Line} @{" Thanks to... " Link THANKS} Acknowledgements@{Line} @{" The future " Link TODO} The future@{Line} @{" TIME " Link TIME} TIME@{Line} @{" TIMES " Link TIMES} TIMES@{Line} @{" To do " Link TODO} The future@{Line} @{" TOFRONT " Link TOFRONT} TOFRONT@{Line} @{" TOOLPRI " Link TOOLPRI} TOOLPRI@{Line} @{" Tooltypes " Link ARGUMENTS} Arguments@{Line} @{" Tooltypes ignored " Link NO_TOOLTYPES} Tooltypes ignored@{Line} @{" Truecolor render " Link COLOR} COLOR@{Par} @{b}U@{ub}@{Line} @{" UNIT " Link UNIT} UNIT@{Line} @{" UnpackILBM " Link UNPACKILBM} UnpackILBM@{Line} @{" UpdateTT " Link UPDATETT} UpdateTT@{Line} @{" Usage " Link ARGUMENTS} Arguments@{Par} @{b}V@{ub}@{Line} @{" VCENTER " Link VCENTER} VCENTER@{Line} @{" Vertical screen centering " Link VCENTER} VCENTER@{Line} @{" VERBOSE " Link VERBOSE} VERBOSE@{Line} @{" Version history " Link HISTORY} Program history@{Line} @{" Video overscan " Link OVERSCAN} OVERSCAN@{Line} @{" Viewing keys " Link KEYS} Viewing keys@{Line} @{" VisageOpts " Link VISAGEOPTS} VisageOpts@{Line} @{" Visible back picture " Link BACK_PICTURE} Back picture visible@{Par} @{b}W@{ub}@{Line} @{" WAITFORPIC " Link WAITFORPIC} WAITFORPIC@{Line} @{" WBMONITOR " Link WBMONITOR} WBMONITOR@{Line} @{" Why Visage? " Link INTRODUCTION} Introduction@{Line} @{" Workbench " Link ARGUMENTS} Arguments@{Par} @EndNode