PicBase - An IFF Picture Data Base Program v0.36 - 5 Jul 1991 - Freely Distributable, but All Rights Reserved ShareWare: Mike Berro P.O. Box 923113 Sylmar, CA 91392-3113 Pre-Introduction PicBase came about because I had wanted to do a non-linear editing system on the Amiga. I could not get funding for the project, so I developed it into what you have here. I tried getting a publisher interested in it, to no avail. So here it is; incomplete, but what it does I think it does well. If there is interest (i.e. shareware dollars), I will add support for non-native graphics modes (IFF24, DCTV(tm), HAM-E(tm), etc.), support for ARexx(tm), and whatever else comes along. Feel free to suggest improvements when you send your money. My personal feeling is that if Amiga users don't stop passing around commercial software instead of buying it, they will have to shop for another computer rather soon. Introduction PicBase requires WB2.0 or the ARP library. PicBase is a program that allows the user to organize and manage all IFF images and brushes stored on disk. The program displays a miniature monochrome (8 or 16 level) image of each file, with information such as the full pathname, the creation date, file size, image size and depth, display mode (LACE, HAM, etc.), and filenote (comment). The images are displayed four at a time, and can be scrolled in real-time. Images can be manually or automatically sorted. You can search to a particular image using keywords. The image files can be renamed, moved, copied or deleted from disk, either individually or in groups using the multiple-select clipboard. Double-clicking an image will display it. A special "multi-view" window allows you to view up to 108 images at once. The images can also be presented as a slideshow, moving automatically or manually forward and reverse. The images can also be played back in reduced size monochrome form as an animation preview, at up to 30 frames per second. A list of images can be printed, or saved as a text file. A script file can also be created. Help mode gives on-line information about every gadget. Features *Two modes: full-screen display of 108 "sub-miniature" images, and a "story-board" display of 4 miniature images. *Stores and displays full pathname, file size, creation date, filenote, image specifications and time code for each image. *Scans directories and disks automatically. Update data automatically. *Extremely fast image shrink and color remap on all Amiga graphic modes, including HAM and Halfbright. *Cut, copy and paste IFF data. *Copy, Move, Rename and Delete individual or groups of image files. *Sort the images by pathname, filename, creation date, file size and time code. *Search for any image. *Automatic double-buffered slide show. *Animation preview of miniature images. *Export image data list to printer or file. Export a script file based on image data order. *Uses DOS 2.0 if available, otherwise requires the ARP library. *Full prompting on any command that might lose data. *On-line help: In Help Mode you can click on any gadget and get a full description of what it does. *File requester keeps track of last used Load path, Save path & file, Copy/Move path and file, and Print path and file. Load path & filename are transferred to Save path & filename only if compiled data is loaded. Full paths are always displayed, even if user enters assigned name or relative path. *Creates data file icons. Version History v0.28 Added halfbright support. v0.29 Added the PLAY function. Fixed crash bug after search request. v0.30 Added the SHOWIMAGE window gadget. The sorting speed has been increased dramatically. Left mouse button aborts most things. v0.31 Added the shrink gadget ("Iconify"). Added the "clipboard of images". v0.32 Added HELP mode. v0.33 Added the Multi-View window. v0.34 Fixed bug when loading images (brushes) smaller than shrink. v0.35 Miscellaneous minor improvements. v0.36 Added multipage gadgets to Multi-View. Current Bugs Dynamic hires, dynamic HAM, SHAM, HAM-E and DCTV images are loaded and catalogued, but are not displayed properly. IFF24 images have not been tested, may crash. "Stencil" images (whatever they are) may also cause PicBase to crash. Cut, Copy & Paste do not update the display properly when there are less than four compiled images. Click on the scroll bar to update the display. When using WB 1.3, brushes smaller than standard screen size can cause a problem. When displaying a brush, a mouse click to the right of the screen will have no effect. Move the mouse pointer to the upper-left and click. Under 2.0, the mouse is constrained to stay within the screen, so there is no problem. Because of this problem, brushes smaller than standard image size are not displayed centered. Future Additions and Notes Load and remap ANIM, IFF24, HAM-E and DCTV images. Write the filenote when moving or copying a file. Search & Replace. Preferences: Ignore brushes, wildcard selection criteria, no viewing of images during scanning. Data compression on compiled data. The compiled bitmaps are currently stored raw, which yields about 170 images in 860K. Compression should help immensely. Note: HAM images are shrunk first, then remapped. This speeds the process considerably, but results in streaking in some HAM images. Perhaps slow/fast should be user-selectable. Quick Instructions 1 Running PicBase PicBase can be run from the CLI, Shell or Workbench. There are several methods of running PicBase from the Workbench. Double-clicking the PicBase icon will cause it to appear with an empty list. Double-clicking on a PicBase data file icon will cause PicBase to load the data from that file. If you first click on a drawer, and then double-click on the PicBase icon while holding down the SHIFT key (this is called "extended selection"), PicBase will load and compile each image in the drawer. If you first click on a IFF image file icon, and then double-click on the PicBase icon while holding down the SHIFT key, PicBase will load and compile that one image. When running PicBase from the CLI or Shell, you can add the data file name, a directory name, or an IFF image file name, and PicBase will load the appropriate file(s). 2 The PicBase Screen At the top of the screen are displayed four images from the list of compiled data. Each image has the cel number (0001-9999) in the upper-left, and the associated time code (see below) in the upper- right. Below each cel is the filename (not the full pathname, due to space limitations). If there are more than four compiled images, you may scroll through the list using the scroll gadget below the images, clicking on the arrow gadgets, or by pressing the left and right arrow keys on the keyboard. The left and right arrow gadgets can be clicked once to scroll one image, or held down to continuously scroll. If you hold down either shift key and click an arrow gadget, the list scrolls to the beginning or end immediately. Below the four images is the data display for the "current image", which includes a copy of the compiled image itself. A new current image is chosen by clicking on one of the four displayed images (double-clicking displays the actual image, see below). Note that the current image does not have to be one of the four images displayed in the list. This is important, because some commands described below only operate on the current image. Below and to the right of the current image data is a blank area for an extra image. This area displays the "image buffer", which is used for the commands CUT, COPY, and PASTE (see below). In the center of the screen are the command gadgets. Useful information about the compiled data is displayed near the bottom of the screen. This includes the number of cels in the list, followed by the number of additional cels you can load, given how much free memory is available. This number is approximate (and under- estimated), because the amount of memory used by each cel depends on the length of the filename and comments. Also shown is the date ("Data Date") of the last loaded or saved compiled data file, and the total memory used by all the original IFF files in the list. Note that the Data Date will revert to dashes if there is no "current" compiled data file (as indicated in the window title), which happens after loading individual IFF images. At the top of the screen are two "title bars". The upper one belongs to the "screen". You can click and hold down the left mouse button with the pointer over the screen title bar and drag the screen up or down. You can also click on the screen's front/back gadget(s) [two for Workbench 1.3, one for 2.0]. The window title bar contains the standard CLOSEWINDOW gadget in the upper-left, and in the upper-right four miscellaneous window gadgets. From left to right, these window gadgets are HELP, WINDOWSHRINK, MULTIVIEW, UP-DOWN and SHOWIMAGE. The HELP gadget puts PicBase into the Help Mode. The WINDOWSHRINK gadget reduces PicBase to a tiny window on the Workbench screen. This saves graphic memory, and gets the screen out of your way when not in use. The MULTIVIEW gadget displays the Multi-View window (see below), which allows you to view up to 108 images at once. The UP-DOWN gadget toggles the screen between fully up and just low enough to grab the scroll gadget. The SHOWIMAGE gadget loads the current image and moves the screen to the lower position. The window title bar will be ghosted when PicBase is not active. To activate PicBase, click the left mouse button anywhere inside the Picbase window. 3 Compiling Data PicBase must compile data before it presents it to you. PicBase has the ability to scan any directory and compile every IFF image in that directory. It will also optionally (soon) scan every subdirectory within a given directory, which allows you to compile a whole disk at once if desired. Images are compiled using the LOAD, APPEND and UPDATE commands. The only difference between the first two is that LOAD clears the existing list first. The difference between the last two are that APPEND adds every IFF to the list, even if it already exists in the list, while UPDATE only adds new IFF images to the list (for more information on UPDATE see below). After selecting one of these commands, a file requester will appear. Below the file requester will appear the ALL gadget. Clicking on the ALL gadget will toggle it on or off. If it is on when you compile a directory, PicBase will scan all subdirectories within the directory you choose. The ALL gadget appears in the state you last set it to. Select the directory you want to compile, but leave the filename gadget blank (PicBase clears the filename gadget for you when selecting one of these commands). Click on ACCEPT or OK to compile the directory. PicBase will scan through the directory, and will display each IFF image in turn. The pointer will change to "PLEASE WAIT" as the image is loaded, then to "IMAGE SHRINK", and finally to "COLOR REMAP", as these two functions are performed (invisibly). Note that on some IFF images the pointer may not be visible. The image will then disappear, and will appear reduced and in grey on the PicBase screen. The next image will then be loaded. To abort a directory scan at any time, hold down the left mouse button. You must continue to hold it until the PicBase screen reappears. PicBase fills the "timecode" field for each image with "00:00:00:00". This field can be modified later for each image. The "comment1" field is filled in with the filenote for that image file, or left blank if there is no filenote (see the AmigaDOS Manual for information about filenotes). PicBase also fills in the "comment2" field with data about the image, including its size, depth and mode (e.g. HIRES, LACE or HAM). To continue to compile data from other directories and disks, use the APPEND command. You can also load or append individual IFF image files by specifying the particular filename in the file requester. Note that if an image or brush is smaller than the PicBase shrunken images, PicBase will not shrink the image. If the image is taller but narrower than the shrunken image, PicBase will only reduce its height. This, and the fact that there are different image resolutions, will change the aspect ratio of some images. However, this also yields the largest and thus most easily recognizable images. 4 Saving Compiled Data To save a compiled list, use the SAVE command. A file requester will appear. Enter the new filename, and click on OK or ACCEPT. The PicBase title bar will display the full pathname of the saved file. 5 Loading Compiled Data To load a compiled list, use the LOAD command. A file requester will appear. Enter the old filename (or click on the name in the list), and then click on OK or ACCEPT. The PicBase title bar will display the full pathname of the loaded file. 6 Updating Compiled Data As you continue to add and modify the IFF images on your disks, your PicBase data file(s) will need to be updated with the new information. There are two commands to facilitate this; UPDATE and CHECK. UPDATE scans an entire directory for any new images. New images are automatically compiled and added to the end of the list. Also, it compares the file creation date of each image it finds on the disk with the image in the compiled list. If the image on the disk is newer than the one in the list, the disk image is compiled, and replaces the old image. After selecting the UPDATE command, a file requester will appear. Below the file requester will appear the ALL gadget. Clicking on the ALL gadget will toggle it on or off. If it is on when you update a directory, PicBase will scan all subdirectories within the directory you choose. The ALL gadget appears in the state you last set it to. CHECK is used simply to detect if any images in the compiled list have been deleted from the disk(s). For each image in the compiled list, it checks the appropriate disk and directory to see if it exists. If it does not, PicBase will ask you if you want to delete the image from the list. You can click on YES or NO, and PicBase will go to the next image in the list. Note that CHECK will prompt you to insert a disk for each image if the disk is not already available to PicBase. If you use floppy drives, you should sort the list by "PATHNAME" (see sorting below) before performing CHECK. Also, if you must delete an image file to make more room on your disk(s), you may want to keep a record of that image. 7 Modifying Compiled Data Some of the data associated with each image can be modified after it has been compiled. The following fields can be changed: "timecode", "comment1" and "comment2". Make the image to be modified the current image, then click on the field you want to change. Type or edit the changes, then press RETURN to accept the changes. Click anywhere outside the field to abort the changes. The order of the list of images can be modified manually or automatically. Manual modification uses the commands CUT, COPY, and PASTE. Automatic modification uses the SORT command. CUT, COPY, and PASTE are used to move and copy individual images. CUT and COPY work only on the currently selected image. In both cases the current image (and associated data) is moved into the image buffer, and displayed below and to the right of the current image. For CUT, the image is also removed from the list. PASTE merely inserts the image from the image buffer into the list just prior to the current image. Make certain you select the appropriate current image before you select PASTE. Note that CUT, COPY, and PASTE only affect the compiled list, and have no effect on the files on your disk(s). See below for disk files modification. The SORT command automatically rearranges the list according to criteria you select. After clicking on SORT, the command gadgets disappear and five sort gadgets appear. They are PATH, FILE, DATE, TICODE, SIZE and CANCEL. Clicking one of the first five will sort the list based on the full pathname (useful for keeping images from the same disk and directory together), the filename (ignoring the path), the creation date (oldest to youngest), the timecode number or the file size. Note that the alphabetical sorts (PATH and FILE) are not case- sensitive. CANCEL merely aborts the sort request. When sorting, a progress report is displayed below the command gadgets. You can abort sorting by holding down the left mouse button. 8 Modifying the Disk Files One the most powerful features of PicBase is its ability to help you organize your image files on your disk(s). PicBase allows you to DELETE, COPY, MOVE and RENAME image files from one disk or directory to another. The compiled list is updated automatically after each operation. The first three operations work on individual files, or files saved in the clipboard. Rename only works on individual files. If there are any files in the clipboard, PicBase assumes these are the files you want to copy, move or delete. To add an image to the clipboard, simply hold down either SHIFT key while clicking the left mouse button on the image. Up to twenty- two images may be added. If you hold down the CTRL key while clicking the left mouse button on an image, the clipboard will fill up with all subsequent images, up to the maximum. To clear the clipboard, click on an image without holding the SHIFT key. DELETE deletes the current image file (or all clipboard files) from your disk. You will prompted if you want to continue with this operation. Once an image is deleted from the disk, it is gone forever, unless you have another copy of it somewhere. COPY copies the current image file (or clipboard files) from one disk or directory to another. After selecting COPY, the file requester appears, prompting you to enter a new directory (the filename may also be changed if desired). Select a new disk or directory, then click on OK or ACCEPT. Click on CANCEL to abort. Note that the new file is not automatically added to the list; you must do that manually if desired. Note also that when copying files from the clipboard, you should leave the FileName in the file requester blank. Otherwise, the filename you enter will be prepended onto all copied files (which can be useful at times). MOVE moves the current image file (or clipboard files) from one disk or directory to another. After selecting MOVE, the file requester appears, prompting you to enter a new directory. Select a new disk or directory, then click on OK or ACCEPT. Click on CANCEL to abort. Note that the compiled list is updated with the new file information. Note also that when moving files from the clipboard, you should leave the FileName in the file requester blank. Otherwise, the filename you enter will be prepended onto all moved files (which can be useful at times). RENAME simply renames the image file. You will be prompted to type in a new name. Press RETURN after entering a new name, or click anywhere outside of the string gadget to abort the operation. 9 Miscellaneous Commands SEARCH searches the compiled list for a specific text string, starting at the image after the current image. The text search is not case-sensitive, and currently does not support wildcards. REVIEW displays every image in the compiled list in sequence, starting with the current image. After an image is displayed, the next image will be displayed after ten seconds. The next image can be displayed immediately by briefly clicking the left mouse button. The previous image can be displayed by clicking the right mouse button. Review is aborted by hitting any key on the keyboard. REVIEW is double-buffered, and the pointer is invisible, which makes it ideal for quick slideshow presentations. PLAY displays the images in sequence as an animation. Playback occurs in the "current image" display area. After selecting PLAY, the frame rate will be displayed. Use the left and right arrow keys to slow down or speed up playback. The up arrow selects maximum speed (30 frames per second), the down arrow minimum speed (6 frames per second). Click either mouse button to exit the play mode. PRINT prints a list of IFF images, in the current order. Two or three lines of data are printed for each image. The first line contains the node number, the full path name, the date created, and the file size. The second (optional) line contains the Comment1 information, and the third line contains the Comment2 information. After selecting PRINT, the file requester appears. It defaults to "PRT:", which will send the list to the printer. If you change the filename or directory, it will print the information to a file. You will be prompted if you attempt to overwrite an existing file. A page break and heading is inserted after 58 lines. 10 The Multi-View Window This window is displayed when the MULTIVIEW gadget is clicked. You cannot display the Multi-View window if the list is empty. Click on an image and it will become highlighted with a flashing border. The border will flash only while this window is active. Double-click to display any image. In the upper-right corner are two arrow gadgets, one up and one down. Click on the down arrow to display the next page of images (if there are any). Click on the up arrow to display the previous page of images. Click on the CLOSEWINDOW gadget to exit this mode. 11 To be continued?...