TEKSoft Presents... _____________ ___ ___ ____ | | | | | | / / |____ ____| | | | | / / | | | | | | / / | | | | | |/ / | | | | | / | | | | | / |___| O |___| O |_____/ O Version 1.6c (Shareware) Released January 20, 1992 Written by: Thomas Krehbiel Copyright © 1990-1992 TEKSoft All Rights Reserved * - * - * - * - * - * - * - * - * - * - * - * - * - * - * 0. TABLE OF CONTENTS 1. Introduction 1.1. Distribution Information 1.2. Quick Overview 1.3. Requirements 2. Installation and Useage 2.1. Installation 2.2. CLI Useage 2.3. Workbench Useage 2.4. View Controls 3. Options 3.1. Options Table 3.2. Option Defaults File 4. Tips, Tricks, and Examples 4.1. ANIM Brushes 4.2. Slideshows 4.3. DeluxePaint3 Animations 4.4. TIV and Workbench 2.0 4.5. TIV and HAM-E 4.6 TIV and DCTV 4.7. More Examples 5. Acknowledgements 6. The Future 7. The Author * - * - * - * - * - * - * - * - * - * - * - * - * - * - * 1. INTRODUCTION 1.1. Distribution Information TIV is being distributed as Shareware for non-commercial use only. Try the program for a week or so and see if you like it. If you find yourself using it, please consider sending a donation of $20 or so (see `Register.doc' for details) to compensate me for the considerable amount of time I have put into this program. I believe it is well worth the price. The files in this archive may be freely distributed for non- commercial purposes only in their unaltered form. No charges may be made (beyond reasonable media and distribution costs) for said distribution. The author makes no warranties expressed or implied as to the use or misuse of this program. TIV may not be distributed with any commercial product without the permission of the author. If you wish to distribute this program with any commercial product of yours, please contact me at one of the locations given at the end of this document. I'm sure we can work something out. 1.2. A Quick Overview What is TIV? TIV is a very complete general purpose IFF viewer. It combines an ILBM picture viewer, ANIM Op5 animation player, and 8SVX sampled sound player all in one hopefully convenient program. TIV can be run from CLI or from WorkBench, with many different options available in either environment. A partial list of features follows: * Can show any type of ILBM picture, including overscan, HAM, Halfbright, SHAM, and Super Bitmap, with Color Cycling. Also includes an optional kludge hook into Dyna-Show to show Dynamic Hires and Dynamic HAM pictures. Also supports HAM-E Super Bitmap and Color Cycling pictures. * Can view any ANIM Op5 animation, including overscan, HAM, Halfbright. Supports palette changes on every frame, and supports color cycling during playback. Also boasts very high frame rates. Can also show DeluxePaint3 ANIM Brushes correctly! Contains an optional kludge hook into Movie to show Sculpt-Animate movies. * Can play any length sound sample in either IFF 8SVX format or Raw format, including support for Fibonnaci-Delta compressed 8SVXs and stereo 8SVXs. * Capable of scanning a given directory for pictures, animations, and/or sounds for quick slideshow presentations. * Supports a variety of user options covering a wide range of applications, all accessable from CLI or Workbench. * Extensive WorkBench support. * And MUCH More... 1.3. Requirements TIV should work on any model Amiga with as little as 512K (it might even work in 256K). However, there are certain limiting factors: Some pictures will require a large amount of Chip memory to be viewable (especially interlaced HAM/HalfBrite pictures or animations). Also, some animations might require a large amount of Fast memory to load completely off of disk. In addition, the Slideshow mode requires a generally large amount of chip memory. TIV requires either Workbench 2.0's "ASL.Library" or the freely distributable "ARP.Library" in the current LIBS: directory for it to work in Interactive Mode. Other than this mode, neither library is required. Interactive mode lets you select files to view from a file requester, one at a time. To recognize DCTV pictures, you must have Digital Creation's "DCTV.Library" in your current LIBS: directory. It will still show them without this library, At this time, TIV is *NOT* able to be made resident. Sorry. TIV 1.5+ is largely Workbench 2.0 compatible (tested under Kickstart Release 36.303). There are, however, certain idiosyncrasies that crop up especially displaying brushes or ANIM brushes and when using View mode in general. I am researching these problems and will attempt to correct them in the next version (if anybody has any suggestions, please don't hesitate to contact me). See the section below on Workbench 2.0 and the seperate `Bugs.doc' for details. * - * - * - * - * - * - * - * - * - * - * - * - * - * - * 2. INSTALLATION AND USEAGE 2.1. Installation TIV is easy to install. If you plan to use TIV from the CLI, then you can simply copy the TIV program to your C: directory by using the command: 1> Copy TIV C: If you will be using TIV from Workbench, then you can simply drag the TIV icon to wherever is convenient for you. An appropriate place might be your Workbench Utilities or Tools drawer. TIV is for the most part a self-contained program, so there are no other files to copy other than the executable. However, I have included a few sample project icons that can be used to attach to your pictures, animations, or sounds. You can save these somewhere if you want to use them, perhaps on your Workbench disk somewhere. Simply drag them where you want them. 2.2. CLI Useage From CLI, TIV can be run like any other command. It should work in the default Stack setting of 4000 bytes. Here is the general format for running TIV from CLI: 1> TIV [options] [file(s)] [[options] [file(s)] ... ] Notice that any number of files to view may be given on the command line. In addition, TIV supports Unix-style pattern matching so you can use such filenames as `*.pic' or `My*.anim'. Notice also that options may fall anywhere in the command line. The command line is parsed in a left to right order, so options specified will modify the following files, NOT all files in the command line. Filenames may optionally be enclosed in SINGLE quotes. This is not necessary unless you are trying to view a file whose name matches a TIV option. For example, if you were to try to view a file called "Hal", TIV will think you are trying to give it the HALFBRITE option. The correct thing to do in this case is to enclose the filename in single quotes, ie. "TIV 'Hal'". Options are given in standard AmigaDOS template format. That is, each option is a word like `RATE' or `VIEW'. There are boolean options and there are options that require a string or numeric argument. Where an option requires an argument, the argument must follow immediately after the option keyword, with at least one space seperating them. For example, `RATE 2' or `DELAY 5'. Option keywords are not case sensitive, so you can use lowercase if you want. Keywords can also be abbreviated from CLI to save you some typing; see the Option Table below for further details. Some information may be displayed in your CLI window while TIV is running. In particular, if any fatal errors develop, you will receive a message informing you of the type of error and TIV will exit. You may also see various warning messages when there are less serious errors encountered. Also, when viewing a directory recursively (RECURSIVE ALL) you will see a listing of all the subdirectories entered similar to a Dir command output. Sifting files (SIFT) will also display it's output to the CLI window. If no files are given on the command line, then TIV will startup in Interactive mode. This will bring up a file requester (either the Arp.Library requester or the ASL.Library requester, depending on whether you are running under 1.3 or 2.0) which will allow you to interactively select files to view. Any options you specify on the command line will affect the files you select to view. If you do not have either ASL.Library or Arp.Library, TIV will fail if not given any files. Here is the CLI "search" order for options: 1. Read `S:TIV.Defaults' if present (see below). 2. Read Command Line options. 3. Read options from target file's .info file, unless the NOINFO option is in effect. 2.3. Workbench Useage TIV provides extensive Workbench support. There are several ways of running TIV from the Workbench, as described below: A. TIV Icon. The first way involves just double-clicking the TIV program icon. This will open TIV in Interactive mode, which will open a file requester allowing you to choose one or more files to view. The Tool Types for the TIV icon will be read and the information there will be used to affect the files selected for viewing. Therefore, your default TIV viewing options should be placed in the TIV Tool Types. If you do not have either the Arp.Library under 1.3 or Asl.Library under 2.0, TIV will fail, since that is where TIV gets the file requester. B. Extended Selection. A second way of invoking TIV uses the Workbench's extended selection method. Select one or more IFF file's icon, hold down the shift key, and then double click on the TIV icon. TIV will then attempt to view the file. TIV will first read options information from the TIV Tool Types array, then it will attempt to glean some more information out of the IFF file's Tool Types array before showing the file (unless you specify NOINFO=YES in the TIV Tool Types). So you can specify unique information about the file in it's Tool Types (such as cycling, loops, rate, etc.) and it will be used automatically. C. IFF Icon. A third way of running TIV is to make a project icon for the IFF file you want to view. Set the path to the TIV program as the default tool, then enter the options you want to use for this IFF file in it's Tool Types array. Once this is done, all you need to do is double-click on the IFF file's icon and it will be shown. It will first read options out of the Default Tool's icon, then it will look for options in the IFF file's Tool Types. In all cases, here is the "search" order for options: 1. Read `S:TIV.Defaults' if present (see below). 2. Read TIV Tool Types. 3. Read target file's Tool Types, unless the NOINFO option is in effect. If TIV needs to display a warning or fatal error message to you from the Workbench, it will open a small console window and print out the message(s). When TIV exits, this window will remain open for a second or two before closing to allow you time to read the text in it. 2.4. Information Window When TIV goes to show a file, it will open a small Information Window on the Workbench screen. In this window, TIV displays various relevant information about the file it is loading. It does this partly to give you something to look at while it is loading and partly to convey some useful information about the file. The following is a list of the actions that can be taken while TIV is running if the Information Window is open and active: General: ESCAPE Key Abort current file, exit TIV. Left Mouse Button Skip current file, move on to next (*). Right Mouse Button Skip current file, move on to next. Other Keys Skip current file, move on to next. While Viewing Picture: TAB Toggle color cycling on or off. Arrows Scroll around in Super-Bitmap pictures. Shift + Arrows Scroll quickly in Super-Bitmap pictures. Control + Arrows Shift display's overscan offset. [ Slow down all color cycling ranges. ] Speed up all color cycling ranges. While Viewing Animation: C Toggle continuous mode on or off. TAB Toggle color cycling on or off. Down Arrow Freeze frame animation. Up Arrow Resume animation playing. Right Arrow Single frame advance animation. F1 - F10 Speed control (F1 = Fast, F10 = Slow) Control + Arrows Shift display's overscan offset. [ Slow down all color cycling ranges. ] Speed up all color cycling ranges. (*) The Left Mouse Button can be disabled by using the `NOLMB' option. See the description of that option below for reasons why you might want to disable this. NOTE: The Information Window *MUST* be active for these keystrokes and mouse button clicks to be accepted. If for some reason the Information Window becomes inactive (a common mistake is to hit the Left Mouse Button to skip a file) then you will have to bring the Workbench screen to the front (Left Amiga N) and activate the Information Window again before using the above controls. Note that if you have the LMB option on (the default) then the Information Window can never be made inactive, so you shouldn't have anything to worry about (there are side effects to this though as explained under the LMB option below). Suppose you are running TIV without the Information Window enabled (by using the NOWINDOW or WINDOW=NO option). You will lose most of the above control capability. Here is what is left that you can do: Control-C Abort current file, exit TIV. Control-D Skip current file, move on to next. Note that you can skip a file or abort TIV while a file is loading, but TIV only checks for user input once every IFF chunk. Therefore, if TIV is reading a large chunk (for example, a picture, animation, or sound BODY chunk), there might be some delay before TIV will respond to your abort request. Also note: In version 1.5o, TIV contains optional kludges to call on the external programs "Dyna-Show" and "Movie" to view certain types of files (specifically, Dynamic Hires and Opcode J movies, respectively). These programs do not contain the same control capability as TIV (in fact they contain little to no control whatsoever), and the above controls will NOT work while viewing these types of files. For complete details, see the documentation to those programs. * - * - * - * - * - * - * - * - * - * - * - * - * - * - * 3. OPTIONS 3.1. TIV Option Table The following options are given in a format that can be used for CLI or Workbench reference. All boolean options can be set on or off at any position on the command line. From CLI, to turn on an option you would use just the keyword by itself. For example, `CYCLE' or `VIEW'. To turn the option off, precede the option keyword with `NO'. For example, `NOCYCLE' or `NOVIEW'. From CLI, the keyword may be abbreviated a certain amount to save typing as indicated in the descriptions below. The abbreviation is given after the keyword in parenthesis. Arguments to keywords must immediately follow the keyword, with at least a single space seperating them. For example, `RATE 1' or `ALL fh2:pics'. From Workbench in a Tool Types array, you specify the option keyword followed by an equals sign and the word `ON' or `OFF'. For example, `CYCLE=ON' or `VIEW=OFF'. No abbreviation is allowed from Workbench. Non-boolean keywords have their argument follow the equals sign. For example, `RATE=1' or `ALL=fh2:pics'. ------------------------------------------------------------------------ Keyword: REPEAT (REP) Type: Switch Description: If this option is specified, this means that the commands given to TIV will be repeated over and over again until you stop it. This is NOT a boolean option; that is, there is no such thing as `NOREPEAT'. This affects the entire command line from CLI or the entire Tool Types array from Workbench. ------------------------------------------------------------------------ Keyword: ANIM (ANIM) Type: Boolean (Default On) Description: This is a mask option to allow masking out certain types of files. In this case, if the ANIM option is set, animations will be played. If it is not set (NOANIM or ANIM=NO) then animations will not be played. ------------------------------------------------------------------------ Keyword: ILBM (ILBM) Type: Boolean (Default On) Description: This is a mask option to allow masking out certain types of files. In this case, if the ILBM option is set, pictures will be shown. If it is not set (NOILBM or ILBM=NO) then pictures will not be shown. ------------------------------------------------------------------------ Keyword: 8SVX (8SVX) Type: Boolean (Default On) Description: This is a mask option to allow masking out certain types of files. In this case, if the 8SVX option is set, samples will be played. If it is not set (NO8SVX or 8SVX=NO) then samples will not be played. ------------------------------------------------------------------------ Keyword: CONTINUOUS (CO) Type: Boolean (Default Off) Description: Animations are generally of two types. Those that are built to loop and those that are not. Those that are constructed to loop automatically will have the first two frames of the animation attached to the end of the animation. This option allows you to specify whether the animation is of the looping variety. All DeluxePaint3 animations should have this option set on, and Sculpt-Animate 4D Anim5 animations should usually also have this option set. If you do not set this option for these looping animations, nothing disasterous will happen, but you will see an odd screen pattern at the end of the animation at the loop point. ------------------------------------------------------------------------ Keyword: CYCLE (CY) Type: Boolean (Default On) Description: This controls whether or not TIV will automatically turn on color cycling for the following pictures or animations. If set on, pictures will color cycle according to the information given in one or more CRNG chunks in the file. If set off, then TIV will not cycle the picture or animation no matter what is given in the file. According to the IFF Standard for ILBMs, this option should not be necessary, but because DeluxePaint breaks this standard and saves ALL of its pictures with color cycling tagged as active, this option is required for those pictures. ------------------------------------------------------------------------ Keyword: DEEP (DE) Type: Boolean (Default Off) Description: This option, when set, will cause TIV to call my program Rend24 when it encounters a 24-Bit ILBM file. This gives you a functional (if somewhat kludgy) way of displaying 24-bit ILBM's. In order to display the image as fast as possible, it uses Rend24's greyscale display mode. See the documentation for Rend24 for details on this program. ------------------------------------------------------------------------ Keyword: DYNA (DY) Type: Boolean (Default Off) Description: This option, when set, will cause TIV to attempt to load the program "Dyna-Show" when it encounters a Dynamic Hires or Dynamic HAM picture. Currently, TIV does not support these types of ILBMs, largely due to the fact that I cannot find any documentation on them. After much experimentation, I decided to include this kludge in order to speed the release of TIV. If this option is off (the default), then TIV will simply report that it cannot show the picture in question and move on. NOTE: You will lose a lot of the controls that TIV has over pictures when you run Dyna-Show. In fact, the only control you will get is to stop viewing the picture. You will also lose the automation features of TIV while viewing with Dyna-Show; specifically, the DELAY option will not work while viewing a picture with Dyna-Show; you will have to exit manually. To stop viewing a Dynamic Hires picture in Dyna-Show, you must press the *LEFT* mouse button as opposed to the right. This is why this defaults to off; it can get a bit confusing having to decide which mouse button to press to end the display. ------------------------------------------------------------------------ Keyword: GIF (GI) Type: Boolean (Default Off) Description: This option, when set, will cause TIV to attempt to load an external program called `TGV' when it encounters a file that is not IFF. My intention for this feature is to use it to support viewing GIF files, at least in some way. Since this is not a native Amiga format, it's not high on my priority list at the moment. However, I'm providing this hook for the future. For now, you can use any GIF viewer program (HamGif, for example) and rename it as `TGV' and TIV will call it for files it doesn't recognize. Note that the RAWSOUND option below will override this option if it too is set. That is, if a file is found that is not IFF, and both the GIF and RAWSOUND options are on, then TIV will assume the file is a raw sample. ------------------------------------------------------------------------ Keyword: HALFBRITE (HA) Type: Boolean (Default Off) Description: This option, when set, will cause TIV to assume that any file with 6 bitplanes that does not specifically state what it is to be HalfBrite as opposed to HAM. Sometimes you will find an animation or picture that is supposed to be HalfBrite but TIV is trying to display it as HAM. The reason is that whatever program saved the picture or animation did not specifically state (with a CAMG chunk) whether the picture or animation was HAM or HalfBrite. TIV will see only that the file has 6 bitplanes and will have to guess whether it is HAM or HalfBrite. The default is to assume 6 bitplanes is HAM, but this option will cause TIV to assume 6 bitplanes is HalfBrite. I have found that some VideoScape HalfBrite animations fall into this category and you will have to use the HALFBRITE option on them to make them display correctly. ------------------------------------------------------------------------ Keyword: HIRES (HI) Type: Boolean (Default Off) Description: This option, when set, will force TIV to display a picture or animation in HIRES, no matter what is contained in the CAMG chunk of the file. This is particularly useful for brushes or ANIM brushes, which don't contain ANYTHING in the CAMG chunk. ------------------------------------------------------------------------ Keyword: HOLDFIRST (HOLDF) Type: Boolean (Default Off) Description: This option only has meaning when playing an animation. When set, it will cause TIV to freeze the animation on the first frame until you tell it to continue (by using the animation control keys). This can be useful for recording an animation to videotape where you wish to hold on the first frame for a while. This option cannot be used if the TIV Information Window is not displayed. ------------------------------------------------------------------------ Keyword: HOLDLAST (HOLDL) Type: Boolean (Default Off) Description: This is only used for animations. When set, it causes TIV to freeze the animation on it's last played frame until you tell it to continue by pressing the right mouse button or pressing a key. The `last frame' could simply be the point at which you tell TIV to continue on to the next file. To cause TIV to halt on the REAL last frame of the animation, you must specify a LOOP value of something besides zero. This option cannot be used if the TIV Information Window is not displayed. ------------------------------------------------------------------------ Keyword: INFO (IN) Type: Boolean (Default On) Description: When set, this will allow TIV to try to find an .info file associated with each file it attempts to display. If it finds an .info file, it will attempt to read information out of it to use in displaying the file. If this option is turned off, then .info files will be ignored. ------------------------------------------------------------------------ Keyword: LACE (LA) Type: Boolean (Default Off) Description: This option, when set, will force TIV to display a picture or animation in interlace, no matter what is contained in the CAMG chunk of the file. This is particularly useful for brushes or ANIM brushes, which don't contain ANYTHING in the CAMG chunk. ------------------------------------------------------------------------ Keyword: LACEOFF (LACEO) Type: Boolean (Default Off) Description: This option, when set, will force TIV to display pictures and animations on a non-interlaced display, no matter what is contained in the CAMG chunk of the file. ------------------------------------------------------------------------ Keyword: LMB (LM) Type: Boolean (Default On) Description: When this option is specified, it allows you to use the Left Mouse Button to skip pictures in addition to the Right Mouse Button. In order to do this, TIV senses when the Information Window becomes inactive and assumes this to be a left button press to skip a picture. It then reactivates the TIV Information Window and moves on to the next picture. This has a possibly undesirable side-effect of not allowing you to activate other windows while TIV is viewing pictures, which is why this is an option. ------------------------------------------------------------------------ Keyword: LORES (LO) Type: Boolean (Default Off) Description: This option, when set, will force TIV to display pictures and animations on a low resolution display, no matter what is contained in the CAMG chunk of the file. ------------------------------------------------------------------------ Keyword: MOVIE (MO) Type: Boolean (Default Off) Description: This option, when set, will tell TIV to attempt to load the program "Movie" whenever it encounters an animation with an unknown compression technique. 9 times out of 10, this will be an Opcode J (Movie) animation as generated by Sculpt-Animate or Movie. This is included only as a kludge, I make no guarantees about the Movie program. If I can find documentation for the Opcode J format, then I will make an attempt to include it in my player, but for now this is the temporary solution. Note that Movie requires you to press the ESCAPE key to end viewing the movie, as opposed to TIV's normal convention of pressing the right mouse button. This is why this option defaults to off, to avoid confusion. Also note that, as noted under the DYNA option above, some options will cease to function for these movies. Specifically, the RATE, LOOPS, and DELAY options have no effect on the Movie program. You will have to exit Movie manually, by pressing the escape key. ------------------------------------------------------------------------ Keyword: POINTER (PO) Type: Boolean (Default Off) Description: Normally TIV will try to blank the pointer while displaying pictures or animations. This option, when set, will cause TIV to keep the mouse pointer visible while showing pictures or animations. Note that under AmigaDos 1.3, the pointer is pretty nasty about remaining visible when using a regular Intuition Screen, despite what TIV tells it to do. ------------------------------------------------------------------------ Keyword: RAWSOUND (RAW) Type: Boolean (Default Off) Description: This option, when set, will cause TIV to assume that any file found that is not IFF is a raw sound sample file. Normally, when this option is off, TIV will warn you that a file is not IFF and skip it. This option must be set to play raw sound sample files. ------------------------------------------------------------------------ Keyword: RECURSIVE (REC) Type: Boolean (Default Off) Description: This option only has meaning when showing all files in a directory with the `ALL' keyword. If this option is set, then TIV will enter all subdirectories in the ALL directory attempting to find more IFF files. This is useful if you have a main Pictures directory with several subdirectories off of it containing different types of pictures (like the way DeluxePaint likes things). ------------------------------------------------------------------------ Keyword: SHOW (SH) Type: Boolean (Default On) Description: This allows you to just view information about a file, and not the file itself. If this option is off, then only information about the file will be printed to the TIV Infomation Window. Note that this option cannot be used unless the TIV Information Window is open. ------------------------------------------------------------------------ Keyword: SIFT (SI) Type: Boolean (Default Off) Description: With this option, you can print out a structured breakdown of the contents of *ANY* IFF file. This option will only work from the CLI, as it needs the console to print the information. With this option set, the file is not shown, but a breakdown of the chunks within the IFF file are displayed. This can be used to see what is actually in an IFF file, or it can be used to determine where a file is corrupted for possible recovery attempts. The following is a sample output from a Sculpt-Animate 4D `Take' file: File: `fh2:anims/orbit.take' FORM 4030 TAKE . THDR 362 . TFRM 3648 ------------------------------------------------------------------------ Keyword: SLIDESHOW (SL) Type: Boolean (Default Off) Description: With this option turned on, TIV will display pictures and animations in "slideshow" mode. This is basically just a double-buffering mechanism. While one picture or animation is being displayed, the next is being loaded. Normally TIV will load and display one file, then unload it, then begin loading the next file. This has the disadvantage of showing your Workbench between pictures. With slideshow set, then you avoid popping back to the Workbench screen between pictures. However, because TIV has to maintain two pictures in memory at once, slideshow mode uses more of your memory (specifically chip memory). You also can't see the TIV Information Window while pictures are being loaded. ------------------------------------------------------------------------ Keyword: SOUND (SO) Type: Boolean (Default On) Description: Don't worry about this one. It's reserved for future expansion. It doesn't do anything at this time. ------------------------------------------------------------------------ Keyword: TIMING (TI) Type: Boolean (Default Off) Description: It is sometimes useful to be able to know more or less how fast an animation is being played. When this option is set, TIV will approxiamately calculate the frame rate the animations are being played. When the animation is finished, TIV will print the frame rate in the Information Window next to the number of frames in the animation. You must then press the right mouse button or a key to continue. Note that if you are in slideshow mode, you will not see the timing information (unless you bring Workbench to the front), but you must still click twice to continue. ------------------------------------------------------------------------ Keyword: VIEW (VI) Type: Boolean (Default Off) Description: TIV is capable of showing pictures and animations in two modes. The default mode renders the imagery into an ordinary Intuition Screen. This has the benefit of allowing you to depth arrange it and drag it around. However, playing an animation in a Screen is generally not very fast. Thus there is the capability to use View mode, which will render pictures or animations into a View/ViewPort. The benefits are much faster animation playing and slightly less chip memory requirements. The bad part is that you can't jump back to Workbench (well, you can, but you won't be able to get back to the picture). I would reccommend not using View mode unless you want to play an animation as fast as possible or you are short on chip memory. By the way, you can probably expect nearly a two times speed increase in animation playback when in View mode. ------------------------------------------------------------------------ Keyword: WB (WB) Type: Boolean (Default On) Description: This option, when not set, tells TIV to attempt to close the Workbench when showing pictures and animations. This will only work if the TIV Information Window is suppressed (see below). This will slightly increase the amount of chip memory available to TIV for showing pictures. ------------------------------------------------------------------------ Keyword: WINDOW (WI) Type: Boolean (Default On) Description: When this option is turned off, TIV will not open the Information Window which it uses to display relevant information about the files it is showing. With the Information Window closed, you do not have the picture or animation control keys available anymore. You are also not able to skip files with the right mouse button. With the Information Window closed, you must use Control-D to skip a file and Control-C to exit TIV altogether. ------------------------------------------------------------------------ Keyword: ZOOM (ZO) Type: Boolean (Default Off) Description: When turned on, this option will tell TIV to play animations with their priority set to maximum (127). This can slightly increase the speed of playback, but generally does not help all that much. I would not recommend using until you have tried everything else. ------------------------------------------------------------------------ Keyword: ALL (AL) Type: String (No Default) Description: This option tells TIV to show all IFF files in the specified directory. TIV will go through each file in the directory and, if it is a type of IFF that TIV can understand, will show it. To mask out certain types of files, see the ANIM, ILBM, and 8SVX options. To show all files in the current directory, used `TIV ALL ""'. From Workbench in a Tool Types array, you MUST specify the complete pathname to the directory where the files are, no matter where the icon is. If an Options Defaults File (TIV.Defaults) exists in the directory which you specify, then TIV will read it and use any options found there. See Options Defaults File below for more information. ------------------------------------------------------------------------ Keyword: DELAY (DE) Type: Numeric (Default 3) Description: This specifies a delay time in seconds that files will remain onscreen. This is subject to a few caveats, though. If you are showing an animation or sound with a specific number of loops given (LOOPS > 0), then no delay will be used and TIV will go to the next file when the loops are exhausted. If the number of loops is zero (that is, repeat forever), and a DELAY is found in the options list, then TIV will timeout after the delay time and go on to the next file. If the loop count is zero and there is NO delay option, then you will have to continue manually by clicking the right mouse button (with the Information Window) or pressing CTRL-D (without the Information Window). ------------------------------------------------------------------------ Keyword: FREQ (FR) Type: Numeric (Default -1) Description: For sounds, this tells TIV the frequency at which to play the sample. If the argument is -1, then TIV will use whatever frequency can be determined from the file itself. Otherwise, TIV will use the given frequency to play the sample. The higher the frequency, the higher the pitch of the sound. This is simply an alternate form of specifying the pitch to play a sample (see PERIOD for the other method). ------------------------------------------------------------------------ Keyword: LOOPS (LO) Type: Numeric (Default 0) Description: This will tell TIV how many times to loop an animation or a sound. If the argument is zero (0), then TIV will loop the animation or sound until you tell it to stop with the right mouse button, or until a delay amount has expired (see DELAY above). Any other positive value will tell TIV to loop the file that many times and then continue. This has no effect for pictures, obviously. ------------------------------------------------------------------------ Keyword: PAGEX (PAGEX) Type: Numeric (Default -1) Description: This option forces TIV to use a different page width from that specified in an ILBM or ANIM. The page size is the size of the the viewable portion of an ILBM or ANIM. ------------------------------------------------------------------------ Keyword: PAGEY (PAGEY) Type: Numeric (Default -1) Description: This option forces TIV to use a different page height from that specified in an ILBM or ANIM. The page size is the size of the the viewable portion of an ILBM or ANIM. ------------------------------------------------------------------------ Keyword: PERIOD (PE) Type: Numeric (Default -1) Description: For sounds, this tells TIV the period at which to play the sample. If the argument is -1, then TIV will use whatever period can be determined from the file itself. Otherwise, TIV will use the period given to play the sample. The period must be between 124 and 65536. The higher the period, the lower the pitch of the sound. A good starting place would be around 300 to 400. ------------------------------------------------------------------------ Keyword: RATE (RAT) Type: Numeric (Default -1) Description: For animations, this tells TIV the number of jiffies that each frame will be displayed. A jiffy is one 1/60th second. The default value of -1 will cause TIV to get timing information from the file. A rate of 0 will tell TIV to play the animation as fast as it possibly can (up to 60 frames/second). Any other positive value indicates the number of jiffies that each frame will remain onscreen. To get the number of frames per second, divide the value you give this option into 60. For example, `RATE 2' is 60 / 2 = 30 frames per second. ------------------------------------------------------------------------ Keyword: SOUNDPATH (SOUNDP) Type: String (No default) Description: Reserved for future expansion. Does nothing. ------------------------------------------------------------------------ Keyword: XOFFSET (XO) Type: Numeric (Default 0) Description: When displaying pictures and animations, the value given here will be added to the horizontal overscan position of the image. Thus positive values move the picture to the right, negative values move the picture to the left. I added this feature to correct for some HAM-E pictures that overscan out of the detection range of the HAM-E hardware. ------------------------------------------------------------------------ Keyword: YOFFSET (YO) Type: Numeric (Default 0) Description: When displaying pictures and animations, the value given here will be added to the vertical overscan position of the image. Thus positive values move the picture downward, negative values move the picture upward. I added this feature to correct for some HAM-E pictures that overscan out of the detection range of the HAM-E hardware. ------------------------------------------------------------------------ As you can see, the options are pretty extensive. Most times, however, it will be sufficient to run the program with few options. However... 3.2. Option Defaults File A lot of times you might find yourself using the same options over and over again on the command line. TIV allows you to place these frequenty-used options in an `Options Defaults File'. Before examining command line options, TIV will read in this Options Defaults File and use any options that it finds there. This will eliminate the need for you to type them every time you need them. The file is a standard ASCII text file which resides in your current S: directory, called `TIV.Defaults'. Each line of the file can contain an option for TIV, but only one option can be on each line. Blank lines and lines beginning with a semi-colon (;) are ignored by TIV, so you can place comments in the file. The options must be in the same format that you would type from CLI; that is, you must use (for example) `VIEW' or `NOCYCLE' rather than `VIEW=YES' or `CYCLE=NO'. Here is a sample TIV.Defaults file: ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; TIV Defaults File ; ; Each option MUST be on a seperate line. ; ; Ignore object's .info files... NOINFO ; ; Picture Options: NOCYCLE ; ; Animation Options: CONTINUOUS RATE 0 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Options specified on the command line or in a file's Tool Types array will override what is given in the defaults file. So if, with the above defaults file, you specify `CYCLE' on the command line, then pictures will be color cycled despite what it says in the defaults file. The Options Defaults File is read from Workbench as well as CLI, although it is less necessary from Workbench, as frequently used options can be placed into the TIV program's Tool Types. From Workbench, options in the TIV program's Tool Types will override what is found in the TIV.Defaults file. In addition to the Defaults File in the S: directory, you can also place an Options Defaults File in any subdirectory. If you tell TIV to show all pictures in that subdirectory, it will read in the options found in that file and use them. This allows you to have specific options for certain directories. * - * - * - * - * - * - * - * - * - * - * - * - * - * - * 4. TIPS, TRICKS, AND EXAMPLES 4.1. Brushes and ANIM Brushes TIV can display all kinds of brushes and ANIM brushes. However, at least DeluxePaint brushes and ANIM brushes do not save in their CAMG chunks the screen format that the brush came from. TIV will do its best to guess at the proper screen resolution by looking at the source page width/height of the image. In most cases this should suffice, but there are times when a brush still might fool TIV. Therefore, you might need to use the `HIRES' or `LACE' options in order for TIV to display the brush or ANIM brush correctly. If you know that a particular brush came from an interlaced screen, for example, and TIV is displaying it as non-interlaced and the image is stretched vertically, then you will have to specify the `LACE' option. A note on ANIM brushes: ANIM brushes use a really odd format for storage, which took considerable hacking and a few hints from various people before they became operational. Anyway, you must have the CONTINUOUS option OFF to display ANIM brushes correctly (at least the ones that come from DeluxePaint3). This is directly opposite from the way DeluxePaint3 (regular) animations are. Note that as of version 1.5o, TIV will automatically turn continuous off when displaying ANIM brushes. 4.2. Slideshows TIV can be used to create quick and simple slideshows, with varying degrees of sofistication. For example, suppose you have a disk in drive DF0: that contains a bunch of pictures. To create a slideshow, from CLI you can type: 1> TIV DELAY 2 ALL DF0: Presto! All the pictures on the disk will be viewed, each one for 2 seconds before moving on. You will see the Workbench between the pictures, though, so you might want to give it another option: 1> TIV SLIDESHOW DELAY 2 ALL DF0: With the addition of the SLIDESHOW option, TIV will double buffer the picture show, preventing Workbench from being visible between pictures. As noted above, this looks better, but uses more chip memory. In reality, the above commands would show ALL IFF files on the disk, not just pictures. So if you happen to have animations or sounds mixed in with the pictures, they will be displayed too. You can, however, mask them out: 1> TIV NOANIM NO8SVX SLIDESHOW DELAY 2 ALL DF0: `NOANIM NO8SVX' will mask out animations and sounds in the slideshow. You can see that after a while the options get cumbersome to type. There are two ways to get around this: 1) Create a small script file that performs the above command, or 2) Create a Workbench project icon that, when double-clicked, launches into the slideshow. To make the icon, you need to make a Project icon (a few are supplied in the TIV archive). Make sure the Default Tool for the icon is set to where you are keeping the TIV program. Then you need to add a bunch of Tool Types to reflect what you were typing on the command line: ANIM=NO 8SVX=NO SLIDESHOW=YES DELAY=2 ALL=DF0: Once these are added, save the icon. Then double-click on it and there you have your slideshow from Workbench. 4.3. DeluxePaint3 Animations I have noted a probem with DeluxePaint3's saving of animations. I believe that if you save only a portion of a larger animation, that DeluxePaint somehow trashes the last few frames where the "loop" frames should be. Playing this animation with CONTINUOUS on can cause strange results. I would suggest loading the partial animation back into DPaint, then saving it back out. This should correct the problem. 4.4. TIV and Workbench 2.0 TIV has been tested and works largely as expected under Workbench 2.0. It has been tested under Kickstart versions 2.02 and 2.04. However, there are a few problems that appear in certain circumstances. They are documented below: A. View Mode - Apparently, there have been considerable changes in the way 2.0 handles Views and Viewports, especially overscanned. In TIV, this manifests itself in vertically overscanned pictures or animations. The image will not be centered vertically, and using the Control + Arrows do not affect it. This may require a special version of TIV written for 2.0 only. B. Brushes and ANIM Brushes - Another odd problem is in the viewing of brushes. Under 2.0, a double-image appears to the right of the brush, out of the range of the screen or view. I haven't a clue why this is happening. These are the only problems I have encountered. I am in the process of researching them, and hope to have them fixed in the next release of TIV. If you have any suggestions, I'd be glad to hear them. My knowledge of 2.0 programming at this point is rather limited, I'm afraid, especially in the area of graphics. I apologize to you Amiga 3000 owners out there, but TIV has been in Beta for so long and the massively buggy and featureless TIV 1.4 has been out for so long that I felt I should release TIV 1.5 now. Rest assured I will fix the 2.0 problems as soon as I possibly can (I run 2.0 most of the time myself). 4.5. TIV and HAM-E TIV is capable of viewing HAM-E images, as is any viewer program worth its byte count. However, you might notice that TIV can sometimes overscan the HAM-E "magic cookie" out of the hardware's ability to detect it. This can be fixed several ways: A. Adjust your Preferences screen position until HAM-E images "lock in", since TIV gets its idea of where the center of the screen is from your Preferences. This may, however, cause your regular Workbench screen to be a little offset. B. Adjust TIV's overscan offset using the options `XOFFSET' and `YOFFSET'. Once you determine the proper offset, you can place these options into the `S:TIV.Defaults' file so that TIV will automatically add the proper offsets for every picture you view. C. Or you could simply use the Control + Arrows to adjust the overscan position for every picture or animation you view. TIV is also capable of viewing HAM-E super bitmap pictures, which is something that not every viewer program can do. You might be wondering why this is a big deal. If you own a HAM-E you probably know why it's a big deal. If not, well don't worry about it. TIV shows HAM-E super bitmap pictures using double-buffering to largely eliminate the screen flicker or flash when scrolling about in the picture. If enough chip memory cannot be obtained (it will need a bunch), then the old (flickering) method is used. If you still don't have enough chip memory, then the scrolling is disabled altogether. TIV now also supports all forms of HAM-E color cycling (at least the ones I'm aware of). This includes forward and reverse cycling, ping-pongs, and glows. Note that HAM-E color cycling can get rather intensive at times, thus just moving the mouse pointer around while cycling can cause an occasional flicker in the image. 4.6. TIV and DCTV TIV can now recognize that it is displaying a DCTV image. For this to work, you must have Digital Creation's `dctv.library' installed in your current LIBS: directory. Since I don't have a DCTV, I can't really say whether this works or not, but I can't see how it could *not* work. If you're wondering why TIV has more HAM-E support than DCTV support, it's because Black Belt has been kind enough to give out source code and examples for their HAM-E. Digital Creations has been far less generous. 4.7. More Examples The following are some random examples for CLI useage. `TIV VIEW CONT RATE 0 myanim.anim' This line will play `myanim.anim' in the current directory as fast as TIV can possibly play it. Speed will vary depending on the amount of changes from frame to frame, the resolution of animations, and the speed of your CPU. 60 FPS for low resolution animations is not uncommon. And 30+ FPS for higher resolution is also not unheard of. `TIV NOCONT my.animbrush' Play the given ANIM brush. Note that you MUST specify the `NOCONT' option when playing ANIM brushes, otherwise they will not play properly. If you have a directory of ANIM brushes, place an Option Defaults File in that directory with the `NOCONT' option in it. TIV will then turn off continuous mode whenever you show all the ANIM brushes in that directory. `TIV RECURSIVE ALL dh0:pictures' This will view all IFF pictures in the directory `dh0:pictures', AND it will show all IFF files in any subdirectories within `dh0:pictures'. This is handy if you have your pictures broken down into subdirectories of Hi-Res, Lo-Res, HAM, etc. The `RECURSIVE' option will go into each subdirectory to show pictures. `TIV NOANIM ALL dh0:iff_files' View pictures and sounds within the directory `iff_files'. The `NOANIM' option given will cause TIV to skip any animations that it finds in this directory. `TIV RAWSOUND rawsample' Play the raw sound sample `rawsample' in the current directory. You MUST specify the `RAWSOUND' option if you want to play raw sound samples, otherwise TIV will skip them saying they are not IFF files. Note that TIV has no way of knowing the sampling rate of a raw sample, so it just guesses at 10,000KHz for all raw samples. You may need to adjust this using the `PERIOD' option. `TIV NOWINDOW LOOPS 1 neatsound' This command is useful if you want to play a sample from you startup-sequence. `NOWINDOW' will prevent TIV from opening its Information Window, and `LOOPS 1' will play `neatsound' 1 time only and then exit. `TIV SLIDESHOW LOOPS 1 DELAY 2 ALL df0:' Here is a basic slideshow presentation command line. The `SLIDESHOW' option will double-buffer pictures and animations. The combination of `LOOPS 1' and `DELAY 2' means that TIV will never have to wait for you to click a mouse button to continue, making this an automatic slideshow. `ALL df0:' specifies where all the files are, in this case the internal floppy drive. * - * - * - * - * - * - * - * - * - * - * - * - * - * - * 5. ACKNOWLEDGEMENTS Thanks to the following group for beta testing and giving me (usually :) helpful suggestions and ideas: Kermit Woodall Mike Vunck Bob Fisher David Krehbiel Stuart Ragland And everyone else in Late Nite's Developer sub... Also thanks to Kermit for the icons. If you remember the icons supplied with TIV 1.4 and below, you'll notice what an enormous improvement these icons are over the old ones. And once again thanks to Kermit (helpful sort, isn't he? :) for allowing the use of a section of his bulletin board as a spot for TIV beta-testers to rendevous. There are also numerous people who have been kind enough to publicly distribute source code examples that I have used and adapted into this program. I wish I could remember all of them but as this program has been under development for quite some time now (at least a year and a half, off and on) I tend to forget all of my sources. Some of the more notable ones are: Jim Kent for his invaluable `unvscomp.asm' animation uncompression code, Gary Bonham for general animation code, the guys at EA for their IFF reading code, Dan Silva for his color cycling code, the authors of the Rom Kernel Manuals for sample audio code, and all those other bits and pieces that I can't remember. TIV started as just a little program to test out some ILBM routines I'd written for another program... now it's gone completely out of control... :) * - * - * - * - * - * - * - * - * - * - * - * - * - * - * 7. THE FUTURE There are a few things I'd like to do to TIV in the future as I get time. They include: - Fix all the 2.0 problems. Might take a while, unfortunately. - Add internal Dynamic Hires and Dynamic HAM support. Need some more docs and code on this. - Play ANIM's directly from disk at a reasonable rate. - Play 8SVX's directly from disk. If you have a suggestion or two, send them in along with your registration. I can't guarantee that I will implement all of your suggestions but I will certainly make a note of them. Bug reports will be given immediate attention. Please try to describe any bugs as completely as possible (guru numbers if possible, your system, conditions of failure, etc.); just saying "Hey TIV crashed yesterday" doesn't really tell me much. * - * - * - * - * - * - * - * - * - * - * - * - * - * - * 6. THE AUTHOR I can be reached via. U.S. Mail at the following address: Thomas Krehbiel 10747 Surry Road Chester, VA 23831 I can also be reached at the Late Nite Amiga BBS (804-262-9944) as "Tom Krehbiel". This is the Richmond Area's largest Amiga supporting BBS and also happens to be the home of the Richmond Amiga Group, Richmond's largest Amiga supporting user group. Late Nite is also connected to WWIVnet, so if you have access to a local BBS running WWIV software which is also connected to WWIVnet, then you can netmail me at the following address: Tom Krehbiel #13 @ 8405. Or, as a last resort, if you subscribe to a major network, you can relay a message to me through Kermit Woodall (thanks again, Kermit) on the following networks: Plink CAPT*VIDEO BIX kermitwoodall Sorry, I don't have any network accounts myself... yet. Hope you find this program useful. Have fun! - Tom NEW.DOC: TIV 1.6c New Features/Bug Fixes NOTE: I am working on a new version of TIV that will only run under Workbench 2.04. It will very likely have a different name, though, since it is very different from the current version of TIV. Why, you ask? Well, I admit that the current TIV does not work too well under 2.04. Since I needed to rework TIV anyway since I now have SAS/C 5.10, and I now run 2.04 99% of the time, and I now (finally) have some developer documentation, I decided to rewrite TIV from the ground up for 2.04. Look for it RSN... New To 1.6c (20-Jan-92) - Added DEEP option to call `Rend24' on Deep ILBM's. - Fixed bug that caused SCREEN mode to not work under 2.04. - Sort of fixed a bug that under 2.04 caused the pointer to not blank under SCREEN mode. Now the Information window must be active to blank the pointer (lousy but I have yet to discover a legal way of totally eliminating the pointer - suggestions welcome). New To 1.6b (9-May-91) [Public]: - Added the use of the `[' and `]' keys to slow down and speed up color cycling rates, respectively. New To 1.6a (8-May-91) [Private]: - Fixed memory leak on exit after HAM-E color cycling had been done. - No longer requires `hame.library' for HAM-E Color Cycling, which means that this cycling works with View mode now, and hopefully does not crash anymore. - I purposely slowed down the rates on HAM-E color cycling, since it looks to me like RegPaint saves them out about twice as fast as they should be going. New To 1.5p (30-Apr-91) [Private]: - HAM-E Color Cycling works like it should now. - HAM-E Super Bitmaps, if enough chip memory is available, now uses double-buffering to eliminate that annoying flicker when scrolling. - PAGEX and PAGEY options to force a page width and height. - LORES and LACEOFF options to force non-hires and non-interlace. - Can now specify sound playback rate by frequency with the FREQ option, as opposed to trying to figure out a period. New To 1.5o (15-Apr-91) [Private]: - Screen mode now uses considerably less chip memory. - Maximum overscan width is now 736 and 368 (was 768 and 384). - Fixed bug that caused a crash when going to the next picture if Tab was used to turn cycling on. - `TIV ?' now does what it should. - HAM-E Color Cycling now supported - requires `hame.library'. - Checks for DCTV Signature - requires `dctv.library'. New To 1.5n (6-Apr-91) [Private]: - Fixed bug that allocated an extra bitmap for HAM-E pictures when it was not needed. - Rewrote overscan calculation code. Severe overscan now handled better (I hope). - Fixed tiny cosmetic bug in Shareware version when calling Dyna-Show and Movie. - Now automatically turns continuous off when viewing ANIM brushes. - Pressing "C" while viewing an animation now toggles continuous mode on and off. New To 1.5m (27-Mar-91) [Public]: - Fixed major (guru-producing) bug in animation player code. - Fixed yet another bug in the animation player code that caused problems in low-chip-memory conditions. - I believe I've fixed the flashing of Screen mode animations with changing palettes. New To 1.5l (10-Mar-91) [Public]: - Pointer now DEFINITELY remains OFF under any circumstance. - Allowed "escaping" filenames so you can show files with the same name as options. Eg. "TIV nohalfbrite `hal'". New To 1.5k (5-Mar-91) [Private]: - Added [NO]LMB option to let left mouse button skip pictures. - HAM-E super bitmaps finally work as they should. New To 1.5j (1-Mar-91) [Private]: - No longer crashes on 0 bitplane ILBMs (ie. Dpaint stencils). - Added hook for calling external program for displaying GIF's, even though I haven't written the external program that it would call yet. - Shift + Arrows will scroll faster in a super bitmap picture. - If a file `TIV.Defaults' is found in an ALL directory, it is now parsed for options. Lets you have options specific to a certain directory. - Negative numbers in Defaults Files now parsed correctly. - Abbreviations should work properly now. New To 1.5i (27-Feb-91) [Private] - I believe I've fixed the problem of ANIM brushes crashing under Workbench 2.0. Not entirely sure why what I did fixed it, tho... - I also think I've fixed the occasional sprite "stripe" when turning off sprite DMA. - Fixed file requester problem of not finding file in current dir. - Fixed bug that caused crash and memory loss when aborting a DELAY timeout prematurely. - TREMENDOUSLY improved Super bitmap scrolling. Should also handle HAM-E super bitmaps "correctly". - Pointer should not appear anymore on Screens. New To 1.5h (24-Feb-91) [Private] - Now contains a kludge to show Opcode J movies using the external program `Movie', which should be in your command path. - Ugh, fixed it to handle older non-standard BMHD's again. - Fixed bug that caused LOOP x animations to exit TIV when the animation had finished its loop. - Now TIV will skip on to the next file when it is finished playing a sampled sound with a LOOP value, instead of just sitting around. - DELAY now can be used with or without the Information Window, and takes effect if the object you are viewing will not end by itself via. a LOOPS command. - An ALL specification in Tool Types now works properly. - Hallelujah! Fixed a major bug in View code, which could cause serious memory fragmentation and gurus (at least, I hope I did!). - Fixed that annoying trashed screen between slideshow'ed animations in View mode. - Fixed a possibility of an infinite loop when REPEAT was specified and an ALL directory or pattern match was not found. New To 1.5g (21-Feb-91) [Private] - Oops, fixed DHAM and DRES back the way they should have been, which seems to work alright for non-interlaced but is not always successful with interlaced. - Added options to specify overscan offset on the command line, or in Workbench ToolTypes. - Well, you may or may not like this, but I've completely changed the command line option format. It is now more like the regular Workbench CLI command format. So to do what used to be `-vcr0' you now do `VIEW CONT RATE 0'. Don't worry, in a lot of cases you can abbreviate to 2 or 3 letters. - Also changed the Workbench Tooltypes to be the same as the CLI options. EG: `NOVIEW' on CLI would be `VIEW=NO' in Workbench. - Added an `S:TIV.Defaults' file which allows specifying frequently used options automatically, without having to type them. - More efficient color cycling, plus animations are now allowed to color cycle. TAB key also toggles cycling during animation playback. - Can now playback any length stereo sound samples. - Super-bitmap Dynamic pictures (SHAM, DHAM, DRES) are not allowed. - No longer have to specify NOINFO if a file you are trying to display has an icon that TIV doesn't understand. - Fixed bug that allowed HOLDFIRST and HOLDLAST even without a TIV Information Window. - YES! ANIM BRUSHES *FINALLY* WORK!!! Thanks to the guys in the PLink Graphics Conference for tips! - New options `HIRES' and `LACE' to force screen modes for brushes and ANIM brushes. - Okay, I give up on Dynamic Hires and Dynamic HAM pictures... as a temporary kludge I'm taking the Mostra route and executing Dyna-Show if a picture contains a CTBL chunk. Lousy way to do it, so it's optional. New To 1.5f (19-Feb-91) [Private] - Fixed Modes display in information window. - *ALMOST* got Dynamic Hires and AHAM pictures working... not bad, considering the TOTAL LACK OF INFORMATION on these modes... - Fixed ^D to skip pictures and ^C to abort TIV while viewing stuff without the Information Window. - Now the hold on first frame puts the animation into pause mode, where you can use the normal animation controls instead of pressing the right mouse button to continue. - Fixed Bob's problem of not being able to abort a sequence such as `TIV15 Pics/*'. Also fixed a problem that would cause an infinite loop when you aborted a sequence that was supposed to be repeated. - Fixed bug that caused a crash when aborting the loading of an animation while it was loading the initial ILBM frame. - Cleaned up the No Information Window display mode a bit. - Now tries to fit full picture into an overscan screen, no matter what the picture's Page size is. - Will now play AudioMasterIII compressed samples. - Added RECURSIVE (-D) option to show all files in subdirectories when using the SHOWALL (-a) option. - Fixed horrendously stupid bug that left animations RUNNING after TIV had exited from a slideshow mode! - No longer crashes trying to play a sample with no sample rate specified in the file. - Now correctly handles `-a' with no directory given, which means to use the current directory. - Stack depth checking code added, so if you see a message like `Stack overflow', tell me what the stack size is that you were running it under. New To 1.5e (16-Feb-91) [Private] - Better display of ViewPort stuff. No longer a momentary flash. - Possibly fixed Kermit's Free Memory Twice guru when playing an animation in View mode. Not sure though, since I've never seen it happen on my computer. - Now properly offsets overscan when playing an animation in View mode. - Restores pointer between pictures/animations now. - Now displays pictures/animation information *while* loading, not after. - Pressing a mouse button while loading now skips the file. Hitting the close gadget while loading will exit TIV immediately, too. - Now uses the 2.0 ASL File Requester if present. New To 1.5d (14-Feb-91) [Private] - Added a HOLDFIRST option to hold an animation on the first frame until user says to go ahead and play the animation. - Control+Arrow Keys now allows you to adjust the overscan position of pictures or animations while viewing them, similar to DPaint. Mostly to correct for HAM-E images. - Unix-style pattern matching (*,?) added. EG: `TIV *.pic' - Handles more off-the-wall and non-standard ILBMs. - Super Bitmap images (ie. larger then will fit on screen) no longer eat chip memory for breakfast. - Better slideshow mode. No more screen flicker between pictures. - Squashed the view mode animation memory leak bug! Which might accidentally fix the memory thrashing problem, too. Not to mention the odd crashing that happened. - No longer locks up attempting to display 24-Bit pictures. Now ignores them. - A *little* better ANIM Brush playback now... better than most ANIM showers, at least. Not *quite* perfect yet. - Squashed another memory leak bug buried within my IFF reading code. New To 1.5c [Private] - A little more accurant frame rate timing. - Zoom mode (-Z) for slightly faster animation playback speed. - Can specify files without specific information as to whether they are half bright or HAM to default to either one. Gee, did that make any sense at all?? - Can change speed of animation during playback with F1 - F10. - Can toggle color cycling on/off with TAB key while viewing ILBMs. - Can now scroll around in large sized ILBMs that will not fit on the screen via. the arrow keys. New To 1.5b [Private] - Changed some of the command line options and Workbench Tool Types to make them more logical. - No more double-imagery in VIEW mode! - Now blanks the pointer automatically when viewing a picture or animation. Use the new POINTER (-m) option to disable blanking. - Provides an animation timing feature to figure out how fast an animation can be played. Use TIMING (-t) to enable this feature. - Better error checking and recovery in SHOWALL (-a) mode. Will now just skip pictures/animations that cannot be viewed instead of aborting completely. - Fixed the problem of the mouse buttons "bouncing". - Added a NOWB (-x) option to attempt to turn WorkBench off while viewing pictures or animations. Use this if you are having problems running out of memory. You have to also turn the TIV window off, as well. - Now brings up file requester if no arguments given from CLI, too. - New option to just display information about file, but not actually view it. - Pretty extensive help screen from CLI. - Doesn't hang up now if it encounters a shorter ILBM BODY than is expected based on the BMHD dimensions. Now displays what it can. - Fixed the "Error: No Error" stuff that cropped up. - Now shows brushes correctly (but not ANIM brushes!! Aaargghh!!). - Prints warnings from Workbench as well as CLI. - "Sift" option to sift through *any* IFF file and print out a structured analysis of its contents. - Option to have animation freeze on its last frame (HALT -h). - Can now pause and single step through animations while they are playing. Up Arrow/Down Arrow = Pause/UnPause. Right Arrow = Step Forward. New to 1.4 (17-Jun-90) [Public] - Supports SHAM mode ILBMs now (it was easier than I thought!). - Fixed some bugs from previous versions. - Converted some routines to assembly for a little smaller code. - Code 3K smaller from removing sprintf() reference. - Can show all IFF files in a directory (-a option). - Supports a "slideshow" mode (-e option). - Can now play raw sampled data files (-b option). - Code smaller due to removing a reference to wipe effects. - Removed playing animations from disk until I can make it work better. - Rewrote IFF handling routines. - Incompatible with TIV 1.3 (as far as animations with sound)!! - Escape key to abort multiple IFF viewing. New To 1.3 (31-May-90) [Public] - Name change from "Tiff" to "TIV". - Better handling of ANIMs with synchronized sounds. - Added the Sounds Directory for ANIMs with sound. - Can now specify more than one file on the command line. - Now works from Workbench via. Default Tool or extended selection. - Keeps that Workbench window active at all costs for RMB presses. - Also you can put ToolTypes in IFF Project Icons for each IFF. - Can now play any length 8SVX sample via. double-buffering. - Now handles color cycling ILBMs (finally!). - Can now abort an 8SVX playing in progress with RMB. - Correctly centers ILBMs and ANIMs with interlaced Workbench. New To 1.2 [Private] - Good question. - I think it sorta handles an ASND with frame 1 of the animation now. New To 1.1 [Public] - Correctly handles overscanned ILBMs or ANIMs on a MoreRow'ed WB. - Correctly handles ILBMs that are larger than will fit on screen. - Will interpret ASND chunks in an ANIM file to playback sounds with the animation. BUGS.DOC Here is a list of all known problems with TIV. All of them have to do with Workbench 2.0, so I apologize to Amiga 3000 owners in advance. Rest assured, I will attempt to correct them as soon as I have time and as soon as I figure out HOW to fix them. - Under 2.0, View mode doesn't overscan too well in the vertical direction. Works fine under 1.3. - Under 2.0, brushes and ANIM brushes have an odd double image to the right of the picture. Works fine under 1.3. REGISTER.DOC TIV Registration Information ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ TIV is being distributed as Shareware for non-commercial use only. Try the program for a week or so and see if you like it. If you find yourself using it frequently, please consider sending in the registration fee of $20. I have spent a considerable amount of time programming TIV and I feel it is well worth the minimal cost of registering. To register TIV, mail your $20 to me at the following address: Thomas Krehbiel 10747 Surry Road Chester, VA 23831 Please include your name and address along with your registration. You may also include any comments or suggestions you may have with your registration. If you have a network account on either PeopleLink or BIX, please include your E-Mail address as this is the fastest and most convinient way for me to contact you. When I receive your registration fee, you will be placed in my database of registered TIV users. When a significant new upgrade becomes available, I will send out notices (either by mail or E-Mail) to all the registered users in my database that a new version is available. You may then request the new version one of three ways: 1) If you have a network account on either PeopleLink or BIX, I can have new versions of TIV E-Mailed to you directly for you to download at no charge. 2) If you send me a self-addressed, stamped envelope with a blank disk, I will place the new version of TIV on it and mail it back to you, again at no charge. Be sure to stamp the envelope with enough postage to cover the weight of a disk (I'm not sure if one stamp is enough). 3) Finally, if you send me a check for $5, I will supply a disk and mail it to you with the latest version of TIV on it. Upon receiving your registration fee, I will send the latest version of TIV to you as soon as possible one of the above three ways (please indicate which). For example, when sending your registration fee, if you want me to mail you a disk with the latest registered version of TIV on it, enclose a total of $25. The registered versions of TIV that I send to you will not contain any annoying Shareware messages, by the way. Registered versions of TIV *MAY NOT* be freely distributed to anyone at any time for any reason. NOTE: Version 1.6 will be the LAST publicly available version. Future versions of TIV will ONLY BE AVAILABLE TO REGISTERED USERS. I have several features planned for versions beyond 1.6, including playing animations and sounds directly from disk, greyscale display of 24-Bit ILBM's, and an Intuition front-end. If you do not send in your registration fee, YOU WILL NEVER SEE THESE FEATURES IN TIV. Thanks and enjoy TIV! Tom