@database Viewtek.guide @node Main "Viewtek Documentation" Viewtek A freely distributable picture and animation viewer for the Amiga Written by Thomas Krehbiel (Another fine UBTASITE product) Copyright © 1992-1994 Thomas Krehbiel All Rights Reserved (Notice how the 'tek' in Viewtek is not capitalized in any way.) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This documentation assumes a basic familiarity with AmigaDOS and the Amiga interface. If you aren't familiar with the concepts of files, directories, gadgets, windows, etc. you should consult your "Introduction to the Amiga" manual. Another excellent source of information is your local Amiga users group. (Veteran users: Areas with new information are marked with a '*'.) Contents: @{" * Distribution, Copyrights, Etc. " link Legal } @{" Introduction " link Introduction } @{" * Useage From CLI " link CLIUseage } @{" * Useage From Workbench " link WBUseage } @{" Viewing Commands " link ViewCmds } @{" * Configuration File " link ConfigFile } @{" Playing Anims From Disk " link DiskAnim } @{" Using Viewtek with Datatypes " link DataTypes } @{" Using Viewtek with XPK " link XPK } @{" * Viewtek for DCTV " link DCTV } @{" * Viewtek for EGS " link EGS } @{" * Viewtek for Firecracker " link FC24 } @{" * Viewtek for IV-24 " link IV24 } @{" * Viewtek for OpalVision " link Opal } @{" * Viewtek for Retina " link Retina } @{" * Viewtek for Picasso " link Picasso } @{" The MakeAnim7 Utility " link MakeAnim7.guide/Main } @{" * Known Bugs " link KnownBugs } @{" * Frequently Asked Questions " link FAQ } @{" Examples of Useage " link Examples } @{" The Author " link Author } @{" * Acknowledgements " link Acks } @{" * Reporting Bugs & Suggestions " link Bugs } Hope you enjoy the program! - TEK @endnode @node Legal "Distribution, Disclaimer, Etc." Copyright ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The Viewtek executables and documentation are Copyright © 1992-1994 by Thomas Krehbiel, All Rights Reserved. Viewtek is NOT public domain. The author retains all rights to the program. This software is based in part on the work of the Independant JPEG Group. Distribution ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Viewtek may be freely distributed to any bulletin board service, commercial network, public domain collection, human being, or alien race so long as the following conditions are met: 1) No fees (beyond reasonable media fees) may be charged for its sole distribution. (That is, no unreasonable fees may be charged for, say, a disk containing only Viewtek.) I would call more than $3 unreasonable. 2) All Viewtek-related files included in any distribution must remain unchanged from the original archive as uploaded by me. 3a) Any distribution of Viewtek must include all files as contained in the original archive as uploaded by me, with the following exception: 3b) If Viewtek is being used only as a viewer utility (ie. generally hidden from the user) for another package (commercial or otherwise), you are free to select only the files you require from the original archive. You must, however, include somewhere in your documentation (either on disk or printed), the following statement: Viewtek © 1992-1994 Thomas Krehbiel, All Rights Reserved 3c) If you receive an incomplete copy of the Viewtek distribution (such as within a larger commercial package; see 3b above), you are free to use it for yourself, but heed conditions 3a and 3b above (ie. you may not distribute incomplete Viewtek packages unless it is used only as a viewer for a 'larger purpose'). 4) There are no special limitations on distributing Viewtek with commercial products or disk magazines (beyond the above conditions, that is). (I think that covers it. Basically I wrote Viewtek for anybody that wants to use it for whatever reason; I just don't want partial archives floating around that people might mistake for a complete release.) Disclaimer ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ No warranties of any kind are made as to the functionality of this program. You are using it at your own risk. @endnode @node Introduction "Introduction to Viewtek" Viewtek is a picture and animation viewer utility designed for Workbench 2.0 and up. It started out as a pretty simple project, but naturally it's developed into a large shambling behemoth of a program (well, sort of). Viewtek can show the following types of files: IFF ILBM (any depth, including SHAM, CTBL, PCHG) IFF ANIM (op5, op7, and op8) Compuserve GIF (GIF87a or GIF89a) JPEG (the standard JFIF format) Amiga Icons (.info files, that is) When showing an image, Viewtek tries to put the picture on a native Amiga display without any rendering or color reduction. If this is not possible (eg. the image is 24-bit), then Viewtek will then try to make a passable rendering of the image to a HAM mode. Or, if you are using one of the versions of Viewtek specifically made for a certain display board, the image is rendered to that display board. Animations are always shown in native Amiga modes. Starting Quickly ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ From Workbench: Double-click the VT program icon, and select one or more files from the resulting file requester to view images or animations. See @{" Useage From Workbench " link WBUseage } for more details about Workbench operation. From CLI: Type VT followed by one or more image files or directories. See @{" Useage From CLI " link CLIUseage } for details about CLI useage. Use the left mouse button to proceed to the next image when viewing a batch of images. See @{" Viewing Commands " link ViewCmds } for details on keyboard commands while viewing pictures and/or animations. @endnode @node ViewCmds "Viewing Commands" Viewing Commands ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ESCAPE Abort viewing immediately. BACKSPACE Abort viewing current directory (when using 'ALL'). LMB/RMB Go to next picture (unless using the 'NOCLICK' option). SPACE Will hold on the current picture, when using DELAY. S (Picture Only) Will save the currently displayed picture as an ILBM (you will be asked for an output filename). ANY KEY Go to next picture. Arrow Keys (Picture Only) Certain versions of Viewtek use the arrow keys to scroll around in images larger than the screen. (For example, the OpalVision and EGS versions.) CTRL+Arrows Move image/anim around on the display (overscan position). Up Arrow (Anim Only) Return to beginning of the animation. Right Arrow (Anim Only) Pause/single step animation. Down Arrow (Anim Only) Resume playing animation after paused. C (Anim Only) Toggle "continuous" mode. F1 (Anim Only) Play animation as fast as possible. F2 (Anim Only) Play animation at 60fps. F3 (Anim Only) Play animation at 30fps. F4 (Anim Only) Play animation at 24fps. F5 (Anim Only) Play animation at 15fps. F6 (Anim Only) Play animation at 12fps. F7 (Anim Only) Play animation at 10fps. F8 (Anim Only) Play animation at 5fps. F9 (Anim Only) Play animation at 1fps. F10 (Anim Only) Play animation at rate specified in ANIM file. @endnode @node CLIUseage "Useage From CLI" Useage From CLI ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Viewtek generally works better from CLI (assuming you can type), since you have more options immediately available to you. Command lines are given in the standard AmigaDOS format used by all the system commands. The basic syntax is: VT [options] The following CLI options are available: VT @{"[ALL]" link OptAll} @{"[BUFSIZE ]" link OptBufSize} @{"[CONFIG ]" link OptConfig} @{"[CLIP]" link OptClip} @{"[CONT]" link OptCont} @{"[DELAY ]" link OptDelay} @{"[DEFAULT]" link OptDefault} @{"[DISK]" link OptDisk} @{"[DATATYPES]" link OptDataTypes} @{"[FOREVER]" link OptForever} @{"[FPS ]" link OptFps} @{"[HIDE]" link OptHide} @{"[HIRES]" link OptHires} @{"[ICONIFY]" link OptIconify} @{"[ILBM]" link OptILBM} @{"[INFO]" link OptInfo} @{"[LACE]" link OptLace} @{"[LOWMEM]" link OptLowMem} @{"[LORES]" link OptLores} @{"[LOOP ]" link OptLoop} @{"[MAXFRAMES ]" link OptMaxFrames} @{"[NOBUSY]" link OptNoBusy} @{"[NOCLICK]" link OptNoClick} @{"[NODISK]" link OptNoDisk} @{"[NOLACE]" link OptNoLace} @{"[NOSCROLL]" link OptNoScroll} @{"[NTSC]" link OptNTSC} @{"[PAUSED]" link OptPaused} @{"[PAL]" link OptPAL} @{"[POINTER]" link OptPointer} @{"[QUIET]" link OptQuite} @{"[REPEAT ]" link OptRepeat} @{"[SUPER72]" link OptSuper72} @{"[SAVE ]" link OptSave} @{"[SCREENMODE ]" link OptScreenMode} @{"[SPEED ]" link OptSpeed} @{"[SUPERHIRES]" link OptSuperHires} @{"[UNDERSCAN]" link OptUnderscan} @{"[UNIT ]" link OptUnit} @{"[ ... ]" link OptFiles} Typing VT ? will give you a brief, jumbled display of all available options. If no files are given on the command line, a file requester will be presented from which you can select files to view. All options given on the command line will affect the files selected with the file requester. All options from CLI have two-letter abbreviations to ease your typing burden. See the details about each option for the appropriate abbreviation. @endnode @node WBUseage "Useage From Workbench" Useage From Workbench ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Viewtek may be run from Workbench in several ways. 1) Double-clicking on the Viewtek icon will bring up a requester asking for one or more files to view. Options are read from the Viewtek icon's tool types, and from the configuration file (see @{" Configuration File " link ConfigFile}) if present. 2) You may use extended selection to highlight several picture or animation icons and, while holding shift, double-click on the Viewtek program icon. The files selected will be shown. Options are read from the Viewtek program's icon, and from the configuration file (see @{" Configuration File " link ConfigFile} if present. In addition, options are read from the icons of each picture that is shown, so you can set options up for each picture individually through its icon. 3) You may set Viewtek as the default tool for any picture or animation project icon. Options will be read from the Viewtek program's icon, and from the configuration file (see @{" Configuration File " link ConfigFile} if present. Options will also be read from the picture's project icon. The following tool types are available: @{" DEFAULTDIR= " link OptDefaultDir } @{" ALL " link OptAll } @{" BUFSIZE= " link OptBufSize } @{" CLIP " link OptClip } @{" CONT " link OptCont } @{" DEFAULT " link OptDefault } @{" DELAY= " link OptDelay } @{" DISK " link OptDisk } @{" DATATYPES " link OptDataTypes } @{" FOREVER " link OptForever } @{" FPS= " link OptLoop } @{" LOWMEM " link OptLowMem } @{" LORES " link OptLores } @{" MAXFRAMES= " link OptMaxFrames } @{" NOBUSY " link OptNoBusy } @{" NOCLICK " link OptNoClick } @{" NODISK " link OptNoDisk } @{" NOLACE " link OptNoLace } @{" NOSCROLL " link OptNoScroll } @{" NTSC " link OptNTSC } @{" PAUSED " link OptPaused } @{" PAL " link OptPAL } @{" POINTER " link OptPointer } @{" QUIET " link OptQuiet } @{" REPEAT= " link OptRepeat } @{" SPEED= " link OptSpeed } @{" SUPER72 " link OptSuper72 } @{" SUPERHIRES " link OptSuperHires } @{" UNDERSCAN " link OptUnderscan } If you are planning to put Viewtek into your WBStartup drawer and use the @{" ICONIFY " link OptIconify} option, you should also add the tool type DONOTWAIT to the icon. Otherwise, you will get a requester to the effect of "Program Viewtek not finished. Wait some more?" every time you reboot. @endnode @node ConfigFile "Configuration File (2.0)" Configuration File (2.0) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Viewtek 2.0 supports a simple configuration file which can be used to set commonly used options so you don't have to type them every time. By default, Viewtek looks for the configuration file as "ENV:VT.defaults", however you may change this with the @{" CONFIG " link OptConfig} option. Note that command line options override whatever is in the configuration file. Also note that if you specify a switch in the configuration file there is no way to "undo" that switch from the command line. Each line in the configuration file must contain its own option (ie. you cannot put more than one option on a line) just as you would specify them on a CLI command line. However, note that you cannot abbreviate options in the configuration file, they must be spelled out. Blank lines and lines beginning with a semi-colon (;) are ignored. A sample configuration file: ; Sample Viewtek config file DELAY 2 CONT POINTER The file "VT.defaults", included with the archive, contains a template for building your own configuration files. Simply uncomment the lines that you want to include (by removing the leading semi-colon). @endnode @node DiskAnim "Playing Animations From Disk" Playing Animations From Disk ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Viewtek can play animations directly from disk... sort of. How well it works depends on many factors: - The speed of your computer. - The speed of your hard drive and/or controller. - The complexity/resolution of the animation. - The chosen playback rate. - The chosen buffer size. - How much you're willing to fiddle with parameters. Here's an overview of how it works: Playback from disk is done with two tasks; one task is responsible for reading data from disk, the other task is responsible for decoding and displaying the frames. Basically, while the disk reader is getting data from disk, the playback task is playing the frames from the previous batch. Buffer Size. The buffer size is very important to the performance of the playback. The idea is to make the buffer size such that a new batch of frames can be read from disk faster than VT can play the frames from the previous batch. If the buffer size is too small, VT will end up stuttering during playback because it has to wait for the disk reader to catch up to the playback task. However, if the buffer size is too large, a lot of wasted time will be spent reading from the hard drive (on my system, reading from the drive for extended periods of time also causes the animations to stutter - not sure if this is just my own HD or a universal problem tho). (Buffer size is set with the @{" BUFSIZE " link OptBufSize} option.) (NOTE: Animations with large deltas will require larger buffer sizes. Viewtek will inform if you need to increase the buffer size (and give you an approxiamate target size).) Playback Rate. A good way to smooth out the playback is to slow down the playback rate. This will give the disk reader task more time to read from the disk. Animation Complexity. Let me be blunt: If you think a 736x480, HAM8 animation of a camera pan is going to animate well, you're crazy. The Amiga's good, but it ain't *that* good. :) Computer Speed. Obviously, the faster your computer, the better the results are going to be. I personally haven't tried VT on a system equipped with less than a 68040 for quite some time, so I can't really comment on whether it will even work at all on a 68000. Hard Drive Speed. I've tried HD playback on two systems: One is an A4000 with the internal IDE drive, along with a GVP SCSI controller and a Maxtor drive. The other is an A2000 with a GVP G-Force 040 (SCSI controller built-in) and a couple Quantum drives. (Funny how I have all this GVP stuff, ain't it? :) The results I get are generally pretty good, although stuttering animations definitely do happen. Fiddling with the playback rate and buffer size usually helps in all but the most severe cases though. In short, if you have a 1MB A500 and want to genlock your 40MB HAM interlace animations onto videotape for production work, you'll be disappointed. This feature is strictly a novelty at this point. CAVEATS: The Up Arrow does not work when playing anims from disk, and the animations are always played in "continuous" mode; ie. if the anim doesn't have loop frames it's going to look pretty strange. Also, animations with small numbers of frames will not work very well (they might even crash, actually). @endnode @node DataTypes "Using Viewtek with DataTypes" Datatypes (Kickstart 3.0 And Above) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Viewtek 1.05 makes use of 3.0's datatypes.library. This means that when VT runs across a file it is not capable of reading, it then asks datatypes to try and read the file. If it can, then VT will still be able to show the file. If you want VT to use datatypes exclusively (ie. not try to identify or decode the files within VT at all), use the @{" DATATYPES " link OptDataTypes} option on the command line. This lets you, for example, use the GIF datatype instead of VT's own GIF decoding. NOTE: Processing files via. datatypes works a little differently than things normally work in VT... there is no way to abort reading a file, and the file is read entirely into memory before even opening a display screen. @endnode @node XPK "Compressed Files (Using XPK)" Compressed Files (Using XPK) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Viewtek 1.05 supports the XPK compression package (a nice package, BTW), allowing it to read any kind of encoding scheme that XPK itself supports. In order to continue using iffparse.library and in general keep VT the way it is, it works a little strangely: the encoded file is decompressed to a temporary file in T:, which is then shown normally by Viewtek. Obviously, this could impose some memory problems if your T: directory happens to be in RAM:. Once you have XPK installed properly, Viewtek's handling of compressed files is totally transparent. You'll have to get the XPK package elsewhere; consult a BBS near you (I got it from BIX). @endnode @node DCTV "Viewtek for DCTV" Viewtek for DCTV ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The program "VT_DCTV" is a special version of Viewtek compiled to take advantage of Digital Creations' DCTV display gizmo. Images that cannot be displayed on your normal Amiga display will be rendered to the DCTV in 24-bits. At this time, the DCTV version does not support scrolling in images larger than your screen. (You will be able to autoscroll around in them like a regular Amiga pic, but the DCTV cookie and such will not update and you'll likely get a garbage display.) Note that all DCTV renderings are by necessity HIRES, which means that lores images will appear squished horizontally. Small images may not render successfully to DCTV - you will get a message that says "Cannot allocate DCTV context" if this is the case. It should work with any version of the dctv.library. @endnode @node IV24 "Viewtek for IV24" Viewtek for IV24 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The program "VT_IV24" is a special version of Viewtek compiled to take advantage of GVP's IV-24 24-bit display adaptor. Images that cannot be displayed on your normal Amiga display will be rendered directly to the IV-24 in 24-bits. At this time, the IV-24 version does not support scrolling in images larger than your screen. Note that the image will not be shown until it is finished reading from disk. (In effect, the @{" HIDE " link OptHide} option is always on.) @endnode @node Opal "Viewtek for OpalVision" Viewtek for OpalVision ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The program "VT_Opal" is a special version of Viewtek compiled to take advantage of Opal Technologies' OpalVision 24-bit display adaptor. Images that cannot be displayed on your normal Amiga display will be rendered to the OpalVision display in either 8-bits or 24-bits. 8-bit images (GIFs, for example) will be shown in an 8-bit OpalVision screen. Deeper images will use a 24-bit screen. Images larger than the screen can be viewed in their entirety by using the arrow keys to scroll around. Sorry about the flash, but I couldn't find a way to avoid this without using gobs of chip memory. Note that showing super-bitmap images requires a great deal more (Amiga) memory than normal - if enough memory cannot be allocated, you will not be able to scroll around in the image. Note that the image will not be shown until it is finished reading from disk. (In effect, the @{" HIDE " link OptHide} option is always on.) @endnode @node Retina "Viewtek for Retina" Viewtek for Retina ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The program "VT_Retina" is a special version of Viewtek compiled to take advantage of Macro Systems' Retina 24-bit display adaptor. Images that cannot be displayed on your normal Amiga display will be rendered to the Retina display in either 8-bits or 24-bits. 8-bit images (GIFs, for example) will be shown in an 8-bit Retina screen. Deeper images will use a 24-bit screen. Super-bitmap images (ie. images larger than will fit on the screen) can be viewed in their entirety using the arrow keys. Note that showing super-bitmap images requires a great deal more (Amiga) memory than normal - if enough memory cannot be allocated, you will not be able to scroll around in the image. IF YOU USE ONE MONITOR AND RETINAEMU: You will want to add an entry to the screen list of RetinaEmu. The screen name is called "Viewtek's Screen" (without quotes), and you will need to set it to output to Amiga instead of the Retina. In order for the "Viewtek's Screen" entry to show up in the RetinaEmu list, you will need to run VT_Retina at least once on an image that will be rendered to the Retina display (eg. a 24-bit or JPEG image, or a GIF on a non-AGA machine). VT_Retina was tested using Retina software version 1.4, I have no idea whether it will work with earlier versions (it probably will, but I won't make any guarantees). @endnode @node FC24 "Viewtek for Firecracker" Viewtek for Firecracker ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The program "VT_FC24" is a special version of Viewtek compiled to take advantage of Impulse's Firecracker 24 display card. Images that cannot be displayed on your normal Amiga display will be rendered to the Firecracker display in 24-bits. At this time, the Firecracker version does not support scrolling in images larger than your screen. WARNING: This version has not been heavily tested. @endnode @node EGS "Viewtek for EGS" Viewtek for EGS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The program "VT_EGS" is a special version of Viewtek compiled to work with Viona's EGS libraries. This should work on any EGS-compatible display card. Images that cannot be displayed on your normal Amiga display will be rendered to the EGS-compatible card. Images are always rendered using the same screen mode as the default screen (but the images aren't actually rendered to the default screen). Super-bitmap images (ie. images larger than will fit on the screen) can be viewed in their entirety using the arrow keys. @endnode @node Picasso "Viewtek for Picasso" Viewtek for Picasso ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The program "VT_Picasso" is a special version of Viewtek compiled to work with Village Tronic's Picasso board. Images that cannot be displayed on your normal Amiga display will be rendered to the Picasso board in 24-bits. This is a fairly late addition, and has not been tested very much (although I didn't notice any problems with it). For each picture displayed, VT lets the vilintuisup.library figure out the best scan rate and such to display in, so not all pictures will be displayed in the same resolution. @endnode @node Examples "Examples" Examples ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1> VT picdir Show all files in the "picdir" directory. 1> VT picdir ALL Show all files in "picdir", including subdirectories. 1> VT picdir SUPER72 SUPERHIRES LACE Show all files in "picdir", forcing them into Super72 800x600 mode. 1> VT myjpeg SAVE ram:mypic Show "myjpeg", and save the resulting screen to "ram:mypic". 1> VT picdir HIDE Show all files in "picdir", but don't show each picture until it is fully read into memory. 1> VT picdir FOREVER DELAY 2 HIDE Show each file in "picdir" for 2 seconds, repeat forever. A good way to do a slideshow. 1> VT picdir SCREENMODE "MULTISCAN:Productivity" Show all files in "picdir", forcing each one into Productivity mode. @endnode @node Acks "Acknowledgements" Acknowledgements ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Thanks to the following people (in no particular order): o Peter Bornhall, who sent me a disk with AmigaGuide versions of all the Viewtek documentation. I didn't use his documents, but he did inspire me to create my own. o The Independant JPEG Group for their excellent JPEG decoder. o Kermit for relaying bug reports, suggestions, etc. from the nets. o Bob for "not caring"... :) o All the other ImageFX beta testers who got suckered into testing Viewtek. o And of course, all the people who use and like the program. @endnode @node Author "The Author" The Author ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ I can be reached on BIX as "tkrehbiel". BIX is also connected to the Internet, so my Internet address is "tkrehbiel@bix.com". Note: Any email that was sent to me in February or March sorta got lost. (Warning: I'm pretty slow responding to email these days. And please don't be offended if I answer tersely or not at all, I get a lot of email and I don't really have time to answer each one with pages of text.) (Note: I am currently not available for any sort of programming work, including, but not limited to, custom versions of Viewtek.) @endnode @node Bugs "Reporting Bugs And Suggestions" Reporting Bugs ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ When reporting bugs, it would help me a great deal if you could try to be as specific as possible about the conditions under which the program failed. For example, your configuration, what exactly you were doing, what options you were using, what else might have been running, etc. Usually whatever file caused the problems will help me out too, if it's relatively small (you can bixmail stuff to me, or uuencode stuff to me, or whatever - see my internet address below). Make sure you check the @{" known bugs " link KnownBugs} before reporting a problem! Suggestions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ I am always open to suggestions; however, I do have goals in mind for the program so I may not implement every suggestion I get if it doesn't really fit with my "plan". I'm also under pretty heavy time constraints these days - I don't get much of a chance to work on Viewtek. Generally, I'm more likely to implement simpler suggestions than complex suggestions. And I'm very unlikely to support reading other file formats (use DataTypes for this), or saving to other file formats, or more complex rendering algorithms. @endnode @node FAQ "Frequently Asked Questions" Frequently Asked Questions (well, some, anyway) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Q. Why don't you include versions compiled for 68030's or 68040's? A. The speed difference is so negligable as to not be worth the effort. Q. How come Viewtek's GIF and JPEG renderings on my A2000 don't look as good as some other software? A. Because Viewtek is not meant to be a dedicated rendering program; it is only meant to give you a fairly quick representation of the images. High quality rendering takes time. Viewtek generally works best when you are showing images that aren't deeper than your available display (unless you have a 24-bit card). Q. Will you support display card X? A. Internally, Viewtek 2.0 is organized much better for this type of support, so the chances of supporting new display cards are much better than they used to be. Generally my criteria for picking display cards to support are: 1) how cool is the card, 2) how easy is it to support with the supplied developer info, 3) do I have one, 4) would I be likely to use one regularly. Q. Could you add a feature to show images in little Workbench windows? A. Besides the fact that I think this particular 'feature' isn't even remotely useful, it would require some fairly major internal rewriting. Perhaps when every Amiga owner has a minimum 8-bit (chunky) Workbench I'll consider it. Q. Is there anything I can do to speed up GIF viewing? A. Try using the HIDE option, or find a really fast GIF datatype. Q. Will there ever be a Viewtek for 1.3 users? A. Hah! Good one... :) Q. What about some kind of graphical front-end? A. It's on my list of things to do at some future date. Which could be anywhere from tomorrow to never. Q. What the heck does UBTASITE mean? A. :) Q. How come you don't release new versions every other day? A. Most of my time is spent working on ImageFX / CineMorph, which is what I get paid for so I give them a little more priority. :) My spare time goes to such projects as Viewtek and Rend24, along with about a dozen other programs that will doubtless never see the light of day. Not to mention my recently awakened all-consuming music habit. Q. What was the deal with Viewtek 2.0? A. Somehow, a beta version of the upgrade to 1.05, then called VT 2.0, was released (definitely not by me). Needless to say, it wasn't quite ready to go public, what with the GIF problems and all. I apologize for any inconvenience it may have caused, but unfortunately the program spread like wildfire so there wasn't much I could do about it. Q. How come the program is so S-L-O-W? A. You get what you pay for... :) Q. Is there any way to use DataTypes under 2.0/2.1? A. Not that I know of. Q. How about showing animations on some other display boards, like my super-fast wizbang zappa board? A. ANIMs are sorta optimized for bitplane-type displays, so the process of converting them to the format your super-fast wizbang zappa board could handle would negate any speed advantage the board itself might give. Q. What about MPEG? A. Yeah, right... :) Seriously, I consider this to be totally outside the domain of Viewtek. Q. How come I can't ping-pong anims or show them in reverse? A. ANIMs are encoded to be played forwards only. To play them backwards, you'd have to actually build it that way to start with. @endnode @node KnownBugs "Known Bugs In Viewtek" Known Bugs ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ All: - Slight memory leaking aborting JPEGs in progress. - Memory fragmentation may become a problem when viewing a lot of JPEGs and GIFs. VT_Opal: - Horrid screen flashing when scrolling in super-bitmaps. Not sure what I can do about it though. - Opal screens seems to "jitter" whenever there's hard drive activity (at least with GVP scsi drives on my A2000). Don't think there's anything I can do about it, though. VT_Retina: - Regular Amiga screens (eg. HAM pics) don't show up on the Retina when using RetinaEmu and one-monitor (well, you get a black screen). Unfortunately, there's nothing I can do about this at the moment. If you have two monitors, you can set the "VT_Retina" output to appear on Amiga. - 32 bytes seem to disappear for each file shown. I'm not sure whether this is VT or the Retina software, though. VT_EGS: - EI_ScrollWindow() doesn't seem to scroll in negative directions, so you can only scroll down and to the right in a super-bitmap image. - The way it currently gets a black background frankly sux. @endnode @node OptFiles "File Handling Options: FILES" @{b}FILES (CLI only)@{ub} Format: [ ... ] Template: Files/M ToolType: (not available) One or more files, directories, or patterns. If you give VT a directory, all files in that directory will be shown (in no special order). Standard AmigaDOS wildcards are supported. Basically, anything that is not a recognizable option is assumed to be a file spec. Examples: VT mypicture VT DH0:picturedrawer VT DH0:#?.pic VT DH0:#?.pic DH1: VT DH1:(~#?.info) @endnode @node OptAll "File Handling Options: ALL" @{b}ALL@{ub} Format: ALL -or- AL Template: AL=All/S ToolType: ALL Tells VT to recursively enter subdirectories. Example: VT picdir ALL @endnode @node OptClip "File Handling Options: CLIP" @{b}CLIP@{ub} Format: CLIP -or- CL Template: CL=Clip/S ToolType: CLIP Show the contents of the clipboard. By default, clipboard unit 0 is shown. You can change this by using the @{" UNIT " link OptUnit} option. Example: VT CLIP @endnode @node OptDelay "File Handling Options: DELAY" @{b}DELAY@{ub} Format: DELAY -or- DE Template: DE=Delay/K/N ToolType: DELAY= Number of seconds to show each picture or animation before automatically proceeding to the next one. The timer doesn't start until *after* the picture or animation has been loaded. If you decide you want to look at a picture longer, press the space bar and the timer will be stopped. You can then press the left mouse button normally to proceed to the next picture. Example: VT DH0:pictures DELAY 3 ; hold on each picture 3 seconds @endnode @node OptDataTypes "File Handling Options: DATATYPES" @{b}DATATYPES@{ub} Format: DATATYPES -or- DT Template: DT=DataTypes/S ToolType: DATATYPES Force VT to use Datatypes to identify and display files (normally datatypes is the last thing checked before giving up on a file). This lets you, for example, use a datatypes GIF converter instead of the one built into VT. This only works under Workbench 3.0 or greater. Example: VT DH0:flower.gif DT @endnode @node OptDefaultDir "File Handling Options: DEFAULTDIR" @{b}DEFAULTDIR (Workbench or Configuration File only)@{ub} Format: DEFAULTDIR Template: DefaultDir/K ToolType: DEFAULTDIR= Specify the directory where Viewtek will open its initial file requester. Example: DEFAULTDIR=DH0:pictures @endnode @node OptForever "File Handling Options: FOREVER" @{b}FOREVER@{ub} Format: FOREVER -or- FO Template: FO=Forever/S ToolType: FOREVER Repeat showing the list of files given on the command line forever and ever amen (and/or until cancelled with ESCAPE). Example: VT DH0:pictures FOREVER @endnode @node OptILBM "File Handling Options: ILBM" @{b}ILBM@{ub} Format: ILBM -or- IL Template: IL=ILBM/S ToolType: ILBM Force VT to assume all files are ILBM pictures. This is really only useful in case you only want to show the first frame of an animation and not the whole thing. Example: VT DH0:running.anim ILBM @endnode @node OptNoClick "File Handling Options: NOCLICK" @{b}NOCLICK@{ub} Format: NOCLICK -or- NC Template: NC=NoClick/S ToolType: NOCLICK Disable the standard method of using the mouse buttons to skip to the next picture. With this option enabled, you will have to use the keyboard. Example: VT DH0:pictures NOCLICK @endnode @node OptRepeat "File Handling Options: REPEAT" @{b}REPEAT@{ub} Format: REPEAT -or- RE Template: RE=Repeat/K/N ToolType: REPEAT= Repeat showing the list of files given on the command line the number of times specified (or until cancelled manually with ESCAPE). Example: VT DH0:pictures REPEAT 5 @endnode @node OptSave "File Handling Options: SAVE" @{b}SAVE (CLI Only)@{ub} Format: SAVE -or- SA Template: SA=Save/K ToolType: (not available) Save the resulting image that VT renders to a displayable ILBM file. This allows you to use VT as a (*very*) simple file conversion utility. Note that only images rendered to Amiga screens may be saved this way; you can't, for example, save images that are rendered to an OpalVision. Also note that this only works on still images, not on animations. You can also hit 'S' while viewing a picture to save it. Example: VT DH0:rosebud.JPG SAVE DH0:rosebud.pic @endnode @node OptUnit "File Handling Options: UNIT" @{b}UNIT@{ub} Format: UNIT -or- UT Template: UT=Unit/K/N ToolType: UNIT= Specify clipboard unit when showing contents of clipboard. This is only useful when used in combination with the @{" CLIP " link OptClip} option. (I believe there are 256 clipboard units, or thereabouts - VT does not check to see that you have given a valid unit number.) Example: VT CLIP UNIT 4 @endnode @node OptBufSize "Animation Options: BUFSIZE" @{b}BUFSIZE@{ub} Format: BUFSIZE -or- BU Template: BU=BufSize/K/N ToolType: BUFSIZE= Sets the buffer size when playing animations directly from hard drive, in KB (ie. BUFSIZE 128 == 128KB). VT actually allocates 3 of these buffers, so don't get too crazy. Also see the notes on playing animations from disk elsewhere in this document. Example: VT BUFSIZE 256 big.anim @endnode @node OptCont "Animation Options: CONT" @{b}CONT@{ub} Format: CONT -or- CO Template: CO=Cont/S ToolType: CONT Force animations to be considered "continuous". My definition of a "continuous" animation is one that has those two looping frames stuck on the end (like the kind that DPaint always creates). Normally, VT will only consider an animation to be continuous if a DPAN chunk is found. Example: VT CONT water.anim @endnode @node OptDisk "Animation Options: DISK" @{b}DISK@{ub} Format: DISK -or- DI Template: DI=Disk/S ToolType: DISK Force animations to be played directly from disk. Example: VT DISK water.anim @endnode @node OptFps "Animation Options: FPS" @{b}FPS@{ub} Format: FPS -or- FP Template: FP=FPS/K/N ToolType: FPS= Specify animation playback rate in frames per second. Values greater than 60 FPS are meaningless. Example: VT FPS 24 water.anim @endnode @node OptLoop "Animations Options: LOOP" @{b}LOOP@{ub} Format: LOOP -or- LP Template: LP=Loop/K/N ToolType: LOOP= Number of times to loop an animation before continuing on with the next file. Normally, VT will loop until you tell it to stop. Example: VT LOOP 3 water.anim @endnode @node OptMaxFrames "Animation Options: MAXFRAMES" @{b}MAXFRAMES@{ub} Format: MAXFRAMES -or- MA Template: MA=MaxFrames/K/N ToolType: MAXFRAMES= Maximum number of frames to read from an animation. This is handy if you don't quite have enough memory to load an entire animation, or for some reason the anim is corrupted beyond repair halfway through; VT will only read in the number of frames you specify before going on to show it. Example: VT MAXFRAMES 30 water.anim @endnode @node OptNoDisk "Animation Options: NODISK" @{b}NODISK@{ub} Format: NODISK -or- ND Template: ND=NoDisk/S ToolType: NODISK Never show animations from disk. Normally, VT will try to play an animation from disk if it sees you don't have enough memory to play the animation from RAM. If VT encounters an animation larger than you have memory for and the DODISK option is on, it will fail to play the animation. Example: VT NODISK water.anim @endnode @node OptSpeed "Animation Options: SPEED" @{b}SPEED@{ub} Format: SPEED -or- SP Template: SP=Speed/K/N ToolType: SPEED= Specify animation playback rate in jiffies per frame (one jiffy is 1/60th of a second). Example: VT SPEED 3 water.anim ; 1/20th second per frame @endnode @node OptPaused "Animation Options: PAUSED" @{b}PAUSED@{ub} Format: PAUSED -or- PA Template: PA=Paused/S ToolType: PAUSED Begin animations in paused mode; you must hit the right or down arrow to actually begin playing the animation. Template: VT PAUSED water.anim @endnode @node OptDefault "Display Mode Options: DEFAULT" @{b}DEFAULT@{ub} Format: DEFAULT -or DF Template: DF=Default/S ToolType: DEFAULT Force pictures and animations to use the DEFAULT monitor id. This is handy in a couple of cases: 1) The picture or animation you are viewing was saved using a monitor you do not have (eg. PAL). 2) The picture or animation you are viewing was saved explicitly using a monitor setting you don't like (eg. PAL). 3) You are running on an AGA machine and the picture or animation was saved explictely as NTSC or PAL, but you want the picture or animation to promote to DblNTSC or DblPAL so it won't flicker. @endnode @node OptHires "Display Mode Options: HIRES" @{b}HIRES@{ub} Format: HIRES -or- HI Template: HI=Hires/S ToolType: HIRES Force pictures and animations into HIRES. Use with caution; some viewmode combinations are not allowed on non-AGA machines (eg. HIRES HAM images). @endnode @node OptLace "Display Mode Options: LACE" @{b}LACE@{ub} Format: LACE -or- LA Template: LA=Lace/S ToolType: LACE Force pictures and animations into INTERLACE. @endnode @node OptLores "Display Mode Options: LORES" @{b}LORES@{ub} Format: LORES -or- LO Template: LO=Lores/S ToolType: LORES Force pictures and animations into LORES. @endnode @node OptNoLace "Display Mode Options: NOLACE" @{b}NOLACE@{ub} Format: NOLACE -or- NL Template: NL=NoLace/S ToolType: NOLACE Force pictures and animations into NON-INTERLACE. @endnode @node OptNoScroll "Display Mode Options: NOSCROLL" @{b}NOSCROLL@{ub} Format: NOSCROLL -or- NS Template: NS=NoScroll/S ToolType: NOSCROLL Disable autoscrolling large pictures. Why would you want to do this, you ask? Beats me. :) @endnode @node OptNTSC "Display Mode Options: NTSC" @{b}NTSC@{ub} Format: NTSC -or- NT Template: NT=NTSC/S ToolType: NTSC Force pictures and animations to use the NTSC monitor. (Make sure you have the NTSC monitor in DEVS:Monitors.) @endnode @node OptPAL "Display Mode Options: PAL" @{b}PAL@{ub} Format: PAL -or- PL Template: PL=PAL/S ToolType: PAL Force pictures and animations to use the PAL monitor. (Make sure you have the PAL monitor in DEVS:Monitors.) @endnode @node OptSuper72 "Display Mode Options: SUPER72" @{b}SUPER72@{ub} Format: SUPER72 -or- S7 Template: S7=Super72/S ToolType: SUPER72 Force pictures and animations to use the SUPER72 monitor. Generally only useful on AGA machines. (Make sure you have the SUPER72 monitor in DEVS:Monitors.) @endnode @node OptScreenMode "Display Mode Options: SCREENMODE" @{b}SCREENMODE@{ub} Format: SCREENMODE -or- SC Template: SC=ScreenMode/K ToolType: SCREENMODE= Specify the name of any available screen mode to show pictures and animations in. The name must be exact, as shown in the preferences ScreenMode program (if used from CLI, be sure to put quotes around the name if it has spaces in it). Case is not sensitive. Examples: VT SC "DBLNTSC:Low Res" VT SCREENMODE "MULTISCAN:Productivity" @endnode @node OptSuperHires "Display Mode Options: SUPERHIRES" @{b}SUPERHIRES@{ub} Format: SUPERHIRES -or- SU Template: SU=SuperHires/S ToolType: SUPERHIRES Force pictures and animations into SUPERHIRES mode. @endnode @node OptUnderscan "Display Mode Options: UNDERSCAN" @{b}UNDERSCAN@{ub} Format: UNDERSCAN -or- UN Template: UN=Underscan/S ToolType: UNDERSCAN Disables overscan for any pictures or animations that VT shows. This lets you see all the way to the edges of super bitmap pictures. @endnode @node OptHide "Miscellaneous Options: HIDE" @{b}HIDE@{ub} Format: HIDE -or- HD Template: HD=Hide/S ToolType: HIDE Hide images while they are being decoded. Normally, VT shows you the images while they are being read; this option causes VT to only show you the images when they are completely decoded. You probably want to set this for slideshow-style presentations. Setting this option also speeds up the decoding process slightly. @endnode @node OptIconify "Miscellaneous Options: ICONIFY" @{b}ICONIFY@{ub} Format: ICONIFY -or- IC Template: IC=Iconify/S ToolType: ICONIFY Start VT in iconified mode. When iconified, a little AppIcon appears on your Workbench, where you can drag image icons to view them. Double-clicking the icon gives you options for quitting or showing files interactively. @endnode @node OptInfo "Miscellaneous Options: INFO" @{b}INFO@{ub} Format: INFO -or- IN Template: IN=Info/S ToolType: INFO Only display information about files, do not actually display them. This could be used, for example, to list information about pictures for a BBS system. @endnode @node OptLowMem "Miscellaneous Options: LOWMEM" @{b}LOWMEM@{ub} Format: LOWMEM -or- LM Template: LM=LowMem/S ToolType: LOWMEM Disable double-buffering of pictures. Handy if you don't have a lot of chip memory. @endnode @node OptNoBusy "Miscellaneous Options: NOBUSY" @{b}NOBUSY@{ub} Format: NOBUSY -or- NB Template: NB=NoBusy/S ToolType: NOBUSY Do not show a busy pointer at any time. Effectively blanks the pointer 100% of the time. @endnode @node OptPointer "Miscellaneous Options: POINTER" @{b}POINTER@{ub} Format: POINTER -or- PO Template: PO=Pointer/S ToolType: POINTER Do not blank the mouse pointer when showing pictures. Leaves the mouse pointer visible so you can point to things in the picture (or whatever). @endnode @node OptQuiet "Miscellaneous Options: QUIET" @{b}QUIET@{ub} Format: QUIET -or- QU Template: QU=Quiet/S ToolType: QUIET Do not print information about each file to the shell. Obviously, this is only useful when run from CLI. @endnode