QuickGrabAGA V1.1 by Steve Hines QuickGrabAGA is a program I wrote to fill a (small) gap in software for 2.0/3.0 (especially the Amiga 4000). Most screen grabbers do not even run under 2.0. The ones that do fail miserably (9 times out of 10) under 3.0. With the Interleaved Workbench and the AA Chipset, almost every grabber was gone. I didn't even need a screen grabber for years until I bought my 4000 and got a Viewer called Viewtek, which translates among other things, J-Peg/24bit into AGA resolutions (like Hires-Interlaced HAM :-) I wanted to grab those converted images and make them Workbench backdrops, but to no avail: there exists not a single screen grabber that saves screen modes in a 2.0/3.0 compatible way. Hence QuickGrab. NOTE: QuickGrabAGA V1.1 is COMPLETELY Freely Distributable. This means that you can use it free of charge and pass it around free of charge. I grant EXCLUSIVE disk-for-$ distribution rights to Fred Fish. Anyone else, ask me FIRST. I claim all copyrights on QuickGrab V1.1, intellectual and otherwise. That being said: New additions to V1.1: Ability to set "Grab Delay" up to 99 seconds after grabkey pressed. Can now save pictures that are changing during the grab. Grabbing is now about 2 times faster (depending on where you save). The grab delay plus an enhancement in V1.1 allows grabbing of pull-down menus, dragging windows, etc. For technical users: Can now grab pictures from screens with the Layers locked. Brief summary of features: 1) Grabs and saves ALL graphics modes, including 8 bits. 2) Saves the screen display modes properly. Old grabbers filter out modes like DoubleNTSC, NTSC-Super-Hires, Super72. 3) Properly grabs and saves new-for-3.0 Interleaved bitmaps. 4) Uses the Commodities Exchange routines in 2.0, so that Hotkeys/popkeys don't contend with other programs. This is certainly not true of non-2.0 grabbers. 5) Loads from Workbench with a full complement of ToolTypes, so that QuickGrab can be installed in WBStartup easily. 6) Has gadget interface that allows you to set save directory, base filename, and grab hotkey. 7) Is able to successfully grab screens even if they are closed DURING the grab. 8) Small and efficient. Totally 2.0/3.0 compatible. 9) I don't worry about making it 1.3 compatible (this IS a feature :-) The program's operation is really very simple: at any time, press the Grab hotkey (it defaults to "control lcommand s") and the frontmost screen is grabbed and saved in the destination directory (defaults to "RAM:") under the base filename (defaults to "QuickGrab") with extension added (extension counts from .000 to .999). All three of the above defaults can be changed through either the icon's ToolTypes or through the program's gadget interface. (These are explained below.) ToolTypes: CX_POPUP: CX_POPKEY: CX_PRIORITY: See the Amiga User Guide for info on these ToolTypes. HOTKEY: Sets the Grab hotkey to any legal key combination. Qualifiers allowed include: control, lalt, ralt, alt, lcommand,rcommand, lshift, rshift, shift. Keys allowed include: esc, space, f1, return, a-z, A-Z 1-10 Examples: HOTKEY=control lalt rshift esc HOTKEY=alt f8 Default: HOTKEY=control lcommand s See the Amiga User Guide for more information. SAVEDIR: Sets the directory where the grabbed pictures will be saved. This can be any valid EXISTING directory anywhere. Example: SAVEDIR=df0:pictures Default: SAVEDIR=RAM: BASEFILE: Set the base filename for all pictures grabbed. For example, if SAVEDIR=RAM: and BASEFILE=QuickGrab, any picture grabbed would be saved as RAM:QuickGrab.xxx, where xxx is 000-999. 28 characters is the maximum length for the base filename. Example: BASEFILE=GrabbedPic Default: BASEFILE=QuickGrab MESSAGE: The message is the window that opens up while QuickGrab is grabbing a screen. If this is checked, a window will open on the public screen informing you when a picture is being grabbed. The window is open only while QuickGrab is grabbing. One of the few reason you might want to turn this off is if you are grabbing the current public screen (i.e. the Workbench screen) and you do NOT want the message window to appear in the picture grabbed. This value can be set to "YES" or "NO". Default: MESSAGE=YES DELAY: This sets the Grab Delay in seconds. The Grab Delay is the amount of time that QuickGrab will wait AFTER the Grab hotkey has been pressed. This allows you to rearrange screens, move windows, etc. in preparation for the grab. In addition, this allows you to, for example, grab pull-down menus, dragging windows, etc. NOTE: With DELAY set for any value greater than 0, the message window (if turned on) may not update to say "Grabbing Screen and Saving..." while the screen is being grabbed. This will ONLY occur if you are trying to grab pull-down menus, or other Intuition features that prevent screen updating while active. This DOES NOT affect the operation of QuickGrab. Gadget window: Save Directory: This string gadget allows you to set the directory where grabbed pictures will be saved. The gadget to the far right of the Save Directory gadget is a GetFile gadget. Clicking on this will allow you to specify the save directory interactively through the standard Amiga File Requester. Base Filename: See BASENAME above for a description of this gadget's function. Grab Hotkey: Specifies the Hotkey used to grab a picture. See HOTKEY above for possible values of this Hotkey. Delay Before Grabbing (seconds): This sets the number of seconds that QuickGrab will wait before grabbing the screen. See DELAY above for implications of this feature. Show message when grabbing: When checked, a message window will open on the current public screen when QuickGrab is grabbing a picture. You may want to turn the message window off when grabbing the current public screen (i.e. the Workbench screen). Otherwise the message window will appear in the saved picture. Hide: Will hide the Gadget Window. It can be reopened four ways: 1) Click on Show Interface in the Commodities Exchange program (see the Amiga User Guide on how to use this.) 2) Press the CX_POPKEY key combination. This can be set in the ToolTypes (see above). The default CX_POPKEY is "control lcommand x". 3) Double click on the QuickGrab icon. 4) run QuickGrab from the CLI. Quit: Closes the QuickGrab window and removes QuickGrab from the system. QuickGrab will no longer be available to grab screens. You can also quit QuickGrab through the Commodities Exchange program (see the Amiga User Guide for info on using this.) In case you were still wondering, QuickGrab is 2.0 ONLY. That's all there is to it. By the way, if you own an Amiga with the AA Chipset, (currently only the 4000), I suggest that you get Viewtek by Thomas Krehbiel. It's fast, very useful, and it renders some beautiful Hires HAM images from J-Pegs and 24 bit IFFs. This program was tested by grabbing Viewtek's screens (among others). I got Viewtek.lha from PORTAL. I also suggest (for pure graphics entertainment) WindowBlender by Fred Mitchell. It renders some beautiful formulae. It also lacks an IFF Save routine, so it's great practice for QuickGrab :-) I got WindowBlender.lha from Portal as well. If you have any questions about the operation of QuickGrab, or any bug reports (bugs???) please feel free to mail me at one of the electronic addresses below. If you are interested in the source code to QuickGrab, I will E-Mail it to you for free, you just have to ask. The code is written in Manx C 5.2, but it should compile with SAS/C just fine, there is nothing complex in it. The source code for QuickGrab is Copyright 1992 Steve Hines. Portions of this program include code from: Jerry Morrison and Steve Shaw, Electronic Arts Jim Kent (Dancing Flame) The Amiga Rom Kernal Manual, Commodore Amiga Everyone above still retains copyrights on their code. QuickGrab's interface was generated using GadToolsBox v1.3 by Jan van den Baard. GTB does a great job of designing interfaces, I recommend it to anyone wanting to use GadTools. (I just wish it didn't have so many darned Enforcer hits!!) My E-Mail Addresses: HOLOSOFT (Portal) HOLOSOFT@cup.Portal.com (USENET & InterNet) shines@ucsd.edu (USENET) Thanks for using QuickGrab. Steve Hines Revision History: V1.1: IFF code now sets NOSIZEYET instead of precalculating the compression. This allows me to save bitmaps that are changing while I'm grabbing. This also speeded up the saving routine. Added Grab Delay feature. Added code to check the Layer locks on the public screen and the screen-to-grab so that the message window does not try to open or update if the public screen is locked, and so that if the screen-to-grab is locked, I don't try to lock it and halt the grabbing of the screen. This also means that the user can grab bitmaps from disappearing screens :-( Unfortunately, there is no way around this (that I know of) V1.0: Original release.