haitex@pnet01.cts.com (Wade Bickel) (09/15/88)
[for the mithical line-eater (is there really such a thing?)] Having had to get into EA's IFF code this summer, I've been more than a little disappointed. The code is cumbersome and hard to work with. So, I started working on a re-vamp. Recently I spoke with Stu Furgeson and discovered that I had minor misconception as to how the format was defined. In particular, the form specifier (such as ILBM) is not a chunk. This makes my elegant solution to the whole problem un-workable, requiring a much less generic parser design. So the question I wish to pose is; Would you (the Amiga community) reject a re-design of the current IFF standard? In order to maintain compatablility, I figure all current formats would have to be supported by any forthcomming library, to allow old programs to be functional. I realize this would not be a completely painless change, but the current definition is flawed and if we don't do something about it, it must die eventually. I'd hate to see some other machine support a different IFF standard which is clearly superior, and thus hurt the Amiga, which is still clinging to a flawed standard in the belief that any standard is better than none. Thanks, Wade. UUCP: {cbosgd, hplabs!hp-sdd, sdcsvax, nosc}!crash!pnet01!haitex ARPA: crash!pnet01!haitex@nosc.mil INET: haitex@pnet01.CTS.COM Opionions expressed are mine, and not necessarily those of my employer.
rap@ardent.UUCP (Rob Peck) (09/16/88)
In article <3427@crash.cts.com>, haitex@pnet01.cts.com (Wade Bickel) writes: > Having had to get into EA's IFF code this summer, I've been more > than a little disappointed. The code is cumbersome and hard to work with. > So, I started working on a re-vamp... > [more details deleted] There is an alternative to EA's code... a fella named Jim Kent (of Aegis Animator fame, I believe) who did a rehash of the EA code in a far more understandable fashion and (I believe) placed it in the public domain. The name of the program group in general is "JIFF". Lattice was sufficiently impressed with its (relative) simplicity that it is now on the Lattice 4.0 disks as source code. Perhaps John Toebes can comment on the PD status or if Jim is listening, he can confirm? I have a copy of the code and I thought that it was once submitted to Fred Fish for possible inclusion in the usual way, but I don't keep a CAT-FISH list handy so I cannot look it up. When last I talked to Jim, he had taken care of all of the data compression stuff and he said that JIFF now included a fully EA compatible IFF reader and writer program. Posted in the hopes of preventing reinventing the wheel and letting Wade get on to the more important things in life, like creating real (money-making?) software for Amy. Rob Peck
papa@pollux.usc.edu (Marco Papa) (09/16/88)
In article <3427@crash.cts.com> haitex@pnet01.cts.com (Wade Bickel) writes: >[for the mithical line-eater (is there really such a thing?)] > So the question I wish to pose is; Would you (the Amiga community) >reject a re-design of the current IFF standard? Yep. I would. > In order to maintain compatablility, I figure all current formats >would have to be supported by any forthcomming library, to allow old programs >to be functional. > > I realize this would not be a completely painless change, but the >current definition is flawed and if we don't do something about it, it must >die eventually. I'd hate to see some other machine support a different IFF >standard which is clearly superior, and thus hurt the Amiga, which is still >clinging to a flawed standard in the belief that any standard is better than >none. So far I haven't seen anything that can't be done with the current standard and its "extension" features. Show an example of such a case. The claims "if we don't do something about it, it would die" and "some other machine ..." are clearly unsubtantiated, and do nothing to make me change my opinion. Note also that one of the Working Groups set up at DevCon is involved in movin the "current" standard to a loadable/sharable library. If you do thing on your own, without CBM's blessing you are simply bound to failure. -- Marco Papa 'Doc' -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= uucp:...!pollux!papa BIX:papa ARPAnet:pollux!papa@oberon.usc.edu "There's Alpha, Beta, Gamma and Diga!" -- Leo Schwab [quoting Rick Unland] -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
cmcmanis%pepper@Sun.COM (Chuck McManis) (09/17/88)
In article <3427@crash.cts.com> haitex@pnet01.cts.com (Wade Bickel) writes:
->[for the mithical line-eater (is there really such a thing?)]
--No it was fixed in all US sites by 1985--
-> Having had to get into EA's IFF code this summer, I've been more
->than a little disappointed. The code is cumbersome and hard to work with.
True.
-> So, I started working on a re-vamp. Recently I spoke with Stu
->Furgeson and discovered that I had minor misconception as to how the
->format was defined. In particular, the form specifier (such as ILBM) is not
->a chunk. This makes my elegant solution to the whole problem un-workable,
->requiring a much less generic parser design.
First what was your misunderstanding? IFF can be parsed fairly readily by
most "types" of parsers primarily because it's grammar is self consistent.
-> So the question I wish to pose is; Would you (the Amiga community)
->reject a re-design of the current IFF standard?
Yes if you decided to redesign it simply because you blew it while reading
the documents. Please, don't be offended but there are already "other"
standards that are competing with IFF and you should really check out one
of those first before making a subtly different IFF. (GIF and TIFF come to
mind)
-> I realize this would not be a completely painless change, but the
->current definition is flawed and if we don't do something about it, it must
->die eventually. I'd hate to see some other machine support a different IFF
->standard which is clearly superior, and thus hurt the Amiga, which is still
->clinging to a flawed standard in the belief that any standard is better than
->none.
Please, let us know what the "flaw" is first and *then* ask us if we want
to change it.
--Chuck McManis
uucp: {anywhere}!sun!cmcmanis BIX: cmcmanis ARPAnet: cmcmanis@sun.com
These opinions are my own and no one elses, but you knew that didn't you.
jms (joe smith) (09/17/88)
I don't understand your posting. IFF compares favorable to X.409, is much better than GIF (by having self identifying sections), and is self consistent as documented. What in particular bothers you? The fact that the top level descriptors are 12 bytes instead of 8? This is not a flaw. To do it any other way would invalidate the concept for "FORM", "LIST", "CAT". > I realize this would not be a completely painless change, but the > current definition is flawed and if we don't do something about it, it must > die eventually. I'd hate to see some other machine support a different IFF > standard which is clearly superior, and thus hurt the Amiga, which is still > clinging to a flawed standard in the belief that any standard is better than > none. First you need to prove that the current standard really is inferior (and not merely just difficult for novice programmers) and then you need to demonstrate your new proposed standard - not just say "it should be changed". If the question is "will we accept a major and unnecessary change to IFF so that one person's elegant hack will work", my vote is a resounding NO. +-----------------------------------------------------------------------------+ | TYMNET: JMS@F29 "POPJ P," UUCP: {ames|pyramid}oliveb!tymix!antares!jms | | INTERNET: JMS%F29.Tymnet@Office-1.ARPA PHONE: Joe Smith @ (408)922-6220 | +-----------------------------------------------------------------------------+
peter@sugar.uu.net (Peter da Silva) (09/17/88)
I am quite satisfied with the design of IFF, thank you, and I don't see how a new (and eventually incompatible) standard can help. Certainly I don't see how making it into a chain of chunks (as you seem to want) can help... a tree is much more powerful. Now I do agree that the sample IFF code is a lot more complex than it needs to be. A cleaner version of that would help immensely. -- Peter da Silva `-_-' peter@sugar.uu.net Have you hugged U your wolf today?
ewhac@well.UUCP (Leo 'Bols Ewhac' Schwab) (09/18/88)
In article <584@ardent.UUCP> rap@ardent.UUCP (Rob Peck) writes: >In article <3427@crash.cts.com>, haitex@pnet01.cts.com (Wade Bickel) writes: >> Having had to get into EA's IFF code this summer, I've been more >> than a little disappointed. The code is cumbersome and hard to work with. >> So, I started working on a re-vamp... >> [more details deleted] > >There is an alternative to EA's code... a fella named Jim Kent >(of Aegis Animator fame, I believe) who did a rehash of the EA >code in a far more understandable fashion and (I believe) placed it in the >public domain. The name of the program group in general is "JIFF". Jim Kent's code, while infinitely more readable, is still not an optimal solution. Error handling is a b*tch, and the code is designed to work only with FORM ILBM's; translation to 8SVX or SMUS is non-obvious. There is, however, an even better alternative (I think). #define SOAP_BOX_MODE Stuart Ferguson and I have been working on some IFF parsing code (that is to say, Stu's been writing it, and I've been nodding my head). Believe it or not, it makes dealing with IFF files *easy*. It reads and writes to all filesystem devices (PIPE: included), as well as the clipboard. We don't use EA's method or interface for scanning files; we do it in a way such that control is maintained at top-level as much as possible. You can use the library to scan for chunks yourself, or you can let the library do it for you. The library also correctly maintains the various context levels and property scopes, so you don't have to. You can read an ILBM inside a LIST VDEO as easily as you can out of a FORM ILBM. It's all utterly painless. We think it's Zen. We're trying to get together with some AmiGuys to discuss some periphery issues. We hope to have it available Real Soon Now (I won't give a specific date, since it's a middle-burner project for both of us). Rest assured that it *will* see the light of day in one form or another. _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ Leo L. Schwab -- The Guy in The Cape INET: well!ewhac@ucbvax.Berkeley.EDU \_ -_ Recumbent Bikes: UUCP: pacbell > !{well,unicom}!ewhac O----^o The Only Way To Fly. hplabs / (pronounced "AE-wack") "Work FOR? I don't work FOR anybody! I'm just having fun." -- The Doctor
haitex@pnet01.cts.com (Wade Bickel) (09/18/88)
rap@ardent.UUCP (Rob Peck) writes: [discussion of JIFF, deleted. Subject is my suggestion to re-do IFF.] >Posted in the hopes of preventing reinventing the wheel and letting >Wade get on to the more important things in life, like creating real >(money-making?) software for Amy. > So far I have only spec'd the thing. The purpose is to allow more flexability in the reading of complex data. The nice thing about the method I've come up with is that it is very simple and straitforward. The actual writer code (not including the low level io stuff, such as WriteBytes) is only about 10 lines of code. The support routines (used to locate the data to be written and specify what kind of chunks it should be stored in) take up perhaps another 100 lines, max. The reader is a bit more complicated, but would make things like ANIMS, or ANIMS where multiple paths (for Laser Disk like applications) reasonable undertakings. As far as getting on with creating "real" software, that's what I AM doing. Otherwise I'd spend a month writing this code, and just present it. Thanks, Wade. UUCP: {cbosgd, hplabs!hp-sdd, sdcsvax, nosc}!crash!pnet01!haitex ARPA: crash!pnet01!haitex@nosc.mil INET: haitex@pnet01.CTS.COM Opionions expressed are mine, and not necessarily those of my employer.
karl@sugar.uu.net (Karl Lehenbauer) (09/21/88)
People looking for alternative code to read and write IFF files are directed to my IFF CAT archiver that was recently published in comp.sources.amiga. It's a rewrite from the original EA code, but I think it's pretty good, and moderately commented. It does a bit more work than it needs to, insuring that the sums of the lengths of the chunks within FORMs, LISTs and CATs match the length of their parent chunk, but the IFF spec requests that this be done and it's probably a good idea for an archiver, eh? -- -- uunet!sugar!karl, Unix BBS (713) 438-5018
mp1u+@andrew.cmu.edu (Michael Portuesi) (09/29/88)
> *Excerpts from ext.nn.comp.sys.amiga.tech: 17-Sep-88 Re: How satisfied are* > *you w.. Peter da Silva@sugar.uu. (474)* > Now I do agree that the sample IFF code is a lot more complex than it needs > to be. A cleaner version of that would help immensely. A better solution (which someone else mentioned is being worked upon) is to make the IFF code into a dynamic library so we don't even have to look at it in the first place. Of course, a set of clean IFF code would help a lot with those who want to understand how IFF works. Perhaps the IFF library source code will be made public? How will the iff.library be revised to handle new IFF codes? The Andrew Toolkit environment is extensible by making each new piece of code its own dynamically loadable object. It is possible to extend the system merely by writing a new code object and dumping it in a system directory -- nothing needs to be recompiled. If one basic iff.library were created, containing a general IFF parser, and subsequent separate libraries for ILBM, 8SVX, SMUS, ANIM etc were created, it would be possible to add new IFF formats merely by writing a new library containing routines to handle that format and installing it. None of the other IFF libraries would have to be removed or changed, and it would be possible for Amiga owners to quickly update their system software without waiting for a new release of one monolithic library that handles a batch of new formats. Is someone on the IFF Working Group reading this newsgroup? Could someone forward this suggestion to them? --M Michael Portuesi / Information Technology Center / Carnegie Mellon University ARPA/UUCP: mp1u+@andrew.cmu.edu BITNET: rainwalker@drycas "my friends say she's a dumb blonde, but they don't know she dyes her hair"
ewhac@well.UUCP (Leo L. Schwab) (09/30/88)
In article <8XEH6zy00VsfM3KmIu@andrew.cmu.edu> mp1u+@andrew.cmu.edu (Michael Portuesi) writes:
:Of course, a set of clean IFF code would help a lot with those who want to
:understand how IFF works. Perhaps the IFF library source code will be made
:public?
:
Personally, I think a lucid programmer interface to a parser will go
a lot farther than staring at the parser's innards. Even though our parser
is relatively small and extremely concise, I still get lost looking at Stu's
code.
:If one basic iff.library were created, containing a general
:IFF parser, and subsequent separate libraries for ILBM, 8SVX, SMUS, ANIM etc
:were created, it would be possible to add new IFF formats merely by writing a
:new library containing routines to handle that format and installing it. None
:of the other IFF libraries would have to be removed or changed, and it would be
:possible for Amiga owners to quickly update their system software without
:waiting for a new release of one monolithic library that handles a batch of new
:formats.
:
This is exactly how we're doing it, for precisely the reasons you
gave.
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
Leo L. Schwab -- The Guy in The Cape INET: well!ewhac@ucbvax.Berkeley.EDU
\_ -_ Recumbent Bikes: UUCP: pacbell > !{well,unicom}!ewhac
O----^o The Only Way To Fly. hplabs / (pronounced "AE-wack")
"Work FOR? I don't work FOR anybody! I'm just having fun." -- The Doctor