home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Club Amiga de Montreal - CAM
/
CAM_CD_1.iso
/
files
/
500.lha
/
TIV_v1.51
/
TIV.doc
< prev
next >
Wrap
Text File
|
1991-04-09
|
57KB
|
1,276 lines
TEKSoft Presents...
_____________ ___ ___ ____
| | | | | | / /
|____ ____| | | | | / /
| | | | | | / /
| | | | | |/ /
| | | | | /
| | | | | /
|___| O |___| O |_____/ O
Version 1.5l
Released March 10, 1991
Written by: Thomas Krehbiel
Copyright © 1990,1991 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. More Examples
5. Acknowledgements
6. The Future
7. The Author
* - * - * - * - * - * - * - * - * - * - * - * - * - * - *
1. INTRODUCTION
1.1. Distribution Information
TIV 1.5l 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.
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 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.
At this time, TIV is *NOT* able to be made resident. Sorry.
TIV 1.5l 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 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 would be your Workbench Utilities or Tools drawer.
TIV is 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.
Also included in the archive is a version of TIV that has been
"crunched" with PowerPeak's PowerPacker 2.3a. It is approxiamately
half the size of the regular executable but still retains all of the
same features. If you wish to use this version (floppy users in
particular might), then simply rename it to `TIV' and copy it as
above.
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 Key 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.
While Viewing Animation:
TAB Key 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.
(*) 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.
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.5l, 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: 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: 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: 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: 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: 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.
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.
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.
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.
At this time, TIV does not support HAM-E color cycling pictures.
Sorry for the inconvenience. It will in the future.
4.6. 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
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.
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.
- Support HAM-E color cycling.
- 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
Shareware donation. I can't guarantee that I will implement your
suggestions but I will certainly make a note of them. Bug reports will
be given immediate attention.
* - * - * - * - * - * - * - * - * - * - * - * - * - * - *
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 be 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