home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Otherware
/
Otherware_1_SB_Development.iso
/
amiga
/
programm
/
utility
/
resgrep0.lzh
/
ResGrep
/
doc
/
ResGrep.doc
Wrap
Text File
|
1992-04-24
|
10KB
|
337 lines
ResGrep
Version 0.2 beta
Idea and Written: Andre Florath
copyright 1992 by Andre Florath
Introduction
ResGrep is a program to convert Apple Macintosch resource forks
to IFF. In the program there are two functional units: you can
decide which resource will be converted, and you can determine
how to convert the data.
I wrote this program, because there are a lot *good* icons,
sounds, pictures on a Mac, and because I want to learn C++.
(It's my first program written in C++.)
To select the resources you only have to click (only once; no
doubleckick is needed) at the type and id of the resource
(similar to ResEdit). But in ResGrep there are no editors or
viewers as there are in ResEdit. Your "normal" programs, i.e. a
texteditor, a graphic- or a soundeditor, undertake the task of
viewing or editing the data. The interface between ResGrep an
the application is ARexx. The selected resource is converted to
IFF and written to a file or the clipboard. After that, an ARexx
script or an external (shell-)command is executed.
Hard- and Software Requirements
You only need an Amiga with 512KB RAM, AmigaOS 2.0, ixemulib
and some Mac Resource Files.
Life is easier if you have a little bit more memory, a harddisk,
a lot of Mac Resource Files and some programs that support
ARexx, e.g. a graphic program, a sound program, a binary file
editor...
Recomanded is a >50Mhz chip set if you want to open more than
ten windows. (Try and see! That's no program bug! It's the
7.19MHz chip set. Why it's *SO SLOW*? Como please change!)
Install
Copy the ResGrep executable to somewhere in your path. Copy the
other files to a place where they will live (e.g. 'copy
df1:ResGrep dh0:Progs all'). You may want to delete the sources
placed in the 'src' directory. Assign ResGrep: to the directory.
(e.g. 'assign ResGrep: dh0:Progs/ResGrep'). Be sure to have
'ixemulib.library' in your LIBS: directory.
Mac Files
Mac files consists of three parts, called forks: the data fork,
the info fork and the resource fork.
The info fork contains system data for the MacOS and the Finder.
The data fork contains the data, i.e. the program's code, the
ASCII characters of a text.
The resource fork contains all the other data, i.e. sound,
pictures, icons, menus, menubars, requester, alerts, dialogs,
texts, version numbers, code, window definitions, palettes...
(You see, thats the most interesting fork. :-) )
How to get Mac Files to your Amiga
There are many ways to get Mac files to the Amiga. Two of them
-- those I have used -- are described here.
Use StuffIt archives
The simplest way is to stuff the files on a Mac with StuffIt,
transfer them via modem or M*-DOS disks from Mac to Ami and
unstuff them. Every Mac file falls into the three pieces
described above. (The unstuff program is available on most
boxes -- see Mac/Unix directory.)
Use M*-DOS disks
Save the files on the Mac to a M*-DOS disk. Put the disk in
the Amiga and list the contents. There will be a (hidden)
directory named 'RESOURCE.FRK' or 'RESOURC&'. Change to this
directory. There will be the resource forks of the Mac files.
How to use
Start ResGrep
Doubleclick the icon from Workbench or type 'ResGrep' in a
shell. The main window opens with the title: 'ResGrep -
FileList' and a file requester appears.
Convert Resources to Amiga files
At first open a resource file. You can choose the name with
the file requester. Later on, to do this, select 'Open...'
from the Project Menu. The filename with a unique number
appears in the main window. In every window titel that belongs
to this file, this number will appear. - To display the
resource types of a file, click at the resource's type. A
window with resource types will open.
To display the resources IDs of a specific resource type click
at the resource type. To export the data click on the resource
id.
If you want to open a window that is already open, the window is
activated and popped to front.
Hide and Reveal windows
If you work with some resource files there may be a lot of open
windows. With the menuitem 'Hide >>' you can hide one (the
active) window, some (all windows that are opened while clicking
in the active window) or all windows. These windows disapear
but the contents, sizes and positions are saved. With 'Reveal >>'
the hidden windows appear with their old contents and at the old
position.
Edit the conversion rules
Choose 'Edit Conversions...' from the Settings Menu. A requester
opens. For every resource type you can now specify the data
format to convert to, the filename the data is written to,
whether the data is written to a file or the clipboard and the
command to be executed after the data is written.
To add a rule, select 'Add...', to remove select 'Remove'. ;-)
Conversion Rules
At the moment, there are only a few conversions: (B = builtin,
M = Macro, E = Extern command)
from to type description
<all> raw data B You can ever save the resource 'as
it is' to a file. Be carefull:
*never ever* write non IFF data to
the clipboard!
STR# IFF-FTXT B
M A macro for GnuEmacs is included.
Start GnuEmacs before exporting some
STR#.
STR# plain ascii B I have implemented this, because
a lot of editors do not understand FTXT.
snd IFF-8SVX B Only a very small subset of sound
commands is implemeted: one. It
searches the first sampled sound area
and converts it to 8SVX. Actually the
sound is played after writing it.
vers <display> E A nice demo. Here you can see how to
write your own extern commands.
An ARexx script is called, which
displays the version resource.
Some useful hints
Look through the conversions list in the 'Edit conversions'.
There are examples for all actually implemented functions.
In the 'Command' field specify the full path name of the
command.
I use 'play8svx' to play IFF-8SVX files and 'zap' to dispaly
raw data. If you'll use these programs, you may change the
paths. If you'll use other programs, change the 'Command'
field.
Bugs, bugs, bugs...
The documentation - I'm not good in English. Is there somebody
out, who'll write a new (maybe good) documentation? (Although I
hope all of you can use this program with this bad docs.)
Write more and more conversions. (Feel free to send me your
viewers, conversion routines or ARexx scripts - they will be
included in the archive.)
Clean up the source.
Fix some minor bugs in the menu selection. ('Close' for the main
window does not work; print isn't implemented; the checkmark
before 'Autosave settings?' does not switch; 'Save icons?' isn't
implemented; only one settings file is supported yet, though you
can't choose a filename after selected 'Load Settings...' or
'Save settings as...'.)
If the 'Edit conversions' or 'Add conversion' window is active,
all other windows are disabled, but no clock (or other wait)
pointer is shown.
A direct ARexx Port isn't implemended yet. (Never select the
'ARexx' in the 'Edit conversions' window.) If you want to use
ARexx use the 'rx' command.
The 'Find...' buttons haven't any function yet.
You can't 'Cancel' the modifications in the 'Edit conversion'
window.
If the command does not exsist, no warning or error message is
displayed. The return code of the command is ignored.
It's impossible to close a project.
Trademarks
Amiga is a registered trademark of Commodore-Amiga, Inc.
GCC by GNU. (all to say) ported by Markus Wild.
ResGrep is no trademark of Andreas Florath.
AmigaDOS is a trademark of Commodore-Amiga, Inc.
GUI the Commodore HI (greetings from LISA).
ARexx is a trademark of Wishfull Thinking Development Corp.
Mac built by Apple Computer.
ResEdit by Apple Computer.
M*-DOS is no operating system and not running on HALs.
Thanx
Jan van den Berg for GadToolsBox. A great program.
Markus Wild for GCC20.
The Mac users Armin and Joannes.
Ute for mental support.
Bibliograpy
"Inside Macintosch"; Addison-Wesely; Reading, Massachusetts;
all volumes.
"AMIGA - User Interface Style Guide"; Addison-Wesely; Reading,
Massachusetts; 1991
Copyright
ResGrep IS COPYRIGHTED BY ANDREAS FLORATH.
THIS IS THE WRITTEN PERMISSON TO OWN IT, USE IT, COPY IT AND
GIVE IT TO EVERYBODY.
But there are some restrictions:
- it's strictly forbidden to use ResGrep for any military
program or programs that discriminate against somebody or
against a group
- it's forbidden to use ResGrep for any commercial program (if
want to use, please contact the author) or to sell a disk
which contains it for more than 6,- DM (value at 04.1992)
- it's forbidden to modify the executable module
- only Fred Fish may distribute this program on a PD-Disk serie
No warranty is given to any part of this porgram.
USE IT ON YOUR OWN DISK! :-) (Oh, I mean RISK!)
Why ResGrep? Why Version 0.2 beta?
I released it in this early state, because the program is
stable, (never called the Guru to meditation) and I don't know
*who* will use it and *what* (s)he will need. (I will not invest
more time and work in this project if nobody will use it.) I
write it because I love the nice pings, pongs and ticks shipped
with the MacOS.
The big request
*Please*, if you use the program, (e)mail! If you need some
other conversion *please* contact me (or write one, see file
'export.cc')! If you have written an ARexx script for an external
program or a conversion function *please* send! If you find a
bug *please* let me know!
The address
Andreas Florath
Boxgraben 12
D-5100 Aachen
Germany
Email: AX000FL@DACTH11.bitnet
(preferred!)
AX000FL@vm1.rz.rwth-aachen.de
florath@cip-s01.informatik.rwth-aachen.de
(please use only when problems with DACTH11)
The End
Have Fun!