[comp.sys.mac.programmer] MPW vs Lightspeed

jrk@s1.sys.uea.ac.uk (Richard Kennaway) (01/17/89)

I have up to now been using MPW C, but have recently been trying out
Lightspeed C.  I'd like to change over, but I have run into one large problem,
which may make it not worth while.  Does anyone have any help?

The problem is RMaker, Lightspeed's resource compiler.

1.  There doesnt seem to be any resource decompiler, an equivalent for
RMaker of MPW's Derez.  With MPW, I have hardly ever typed in a resource
description.  It's far easier to make the resource with ResEdit, Derez it,
and only then edit the resource description for things like precise alignment
of radio buttons.

2.  I *like* Lightspeed's automatic make feature, as opposed to composing
makefiles by hand in MPW, but as far as I can tell from the manuals,
Lightspeed will not automatically run RMaker when necessary.  And without
a command-line interface, you have to (1) remember which resource description
files need recompiled, (2) use Lightspeed C's Transfer command, (3) find
your way in an SFGetFile dialog over to the directory where RMaker lives,
(4) when RMaker runs, find your way back to your project directory and open
the files (having made a note - on paper! how quaint! - of which files need
compiled), (5) having compiled them, make another SFGetFile journey to
find Lightspeed C, (6) SFGetFile again back to your project directory...

Rez and Derez are MPW tools, not applications, so I cant use them instead.
I dont have enough memory to run RMaker and Lightspeed C together under
MultiFinder, which would eliminate most of the SFGetFile-ing.

Is making resources in the Lightspeed environment really as ghastly as this?
How do other people manage?
-- 
Richard Kennaway                SYS, University of East Anglia, Norwich, U.K.
uucp:	...mcvax!ukc!uea-sys!jrk	Janet:	kennaway@uk.ac.uea.sys

nick@lfcs.ed.ac.uk (Nick Rothwell) (01/17/89)

In article <322@s1.sys.uea.ac.uk> jrk@s1.UUCP (Richard Kennaway) writes:
>The problem is RMaker, Lightspeed's resource compiler.
>
>1.  There doesnt seem to be any resource decompiler, an equivalent for
>RMaker of MPW's Derez.

I use the Shareware ResTools 3.00. This will compile/decompile
resources.  I run LSC under multifinder, and also launch either
ResTools and ResEdit to do the sort of things you want. I believe
you'll find ResTools on the Mac FTP archive at Lancaster.
   LSC does have the problem that it's a bit of a hassle to develop
and test stand-alone code resources, but there's a cute way round this
(recently posted by Rich Siegel).

>Richard Kennaway                SYS, University of East Anglia, Norwich, U.K.

		Nick.
--
Nick Rothwell,	Laboratory for Foundations of Computer Science, Edinburgh.
		nick@lfcs.ed.ac.uk    <Atlantic Ocean>!mcvax!ukc!lfcs!nick
~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~
...while the builders of the cages sleep with bullets, bars and stone,
they do not see your road to freedom that you build with flesh and bone.

dorourke@polyslo.CalPoly.EDU (David M. O'Rourke) (01/18/89)

In article <322@s1.sys.uea.ac.uk> jrk@s1.UUCP (Richard Kennaway) writes:
>2.  I *like* Lightspeed's automatic make feature, as opposed to composing
>makefiles by hand in MPW,

  Note:  I'm not trying to start a war between the two enviroments, both have
         +'s and -'s, you decide which enviroment has more -'s

  How come you've been doing Makefiles by hand.  I've found MPW's build
facility to be very good for the most part, and once it's set up the
generalized form of the make file it's very easy to edit and modify to suit
my needs, sort of like what you do with ResEdit and derez.

-- 
David M. O'Rourke                                  dorourke@polyslo.calpoly.edu

"If it doesn't do Windows, then it's not a computer!!!"
Disclaimer: I don't represent the school.  All opinions are mine!

han@Apple.COM (Byron Han) (01/19/89)

In article <322@s1.sys.uea.ac.uk> jrk@s1.UUCP (Richard Kennaway) writes:
>
>I have up to now been using MPW C, but have recently been trying out
>Lightspeed C.  I'd like to change over, but I have run into one large problem,
>which may make it not worth while.  Does anyone have any help?
>
>1.  There doesnt seem to be any resource decompiler, an equivalent for
>RMaker of MPW's Derez.  

That is correct.

>
>2.  I *like* Lightspeed's automatic make feature, as opposed to composing
>makefiles by hand in MPW, 
 
You can use the "Create Build Commands" item from the Build menu.
+-----------------------------------------------------------------------------+
| Disclaimer: Apple has no connection with my postings.                       |
+-----------------------------------------------------------------------------+ 
Byron Han, Communications Architect      Almost alpha now.
Apple Computer, Inc.                     -------------------------------------
20525 Mariani Ave, MS27Y                 Internet: han@apple.COM
Cupertino, CA 95014                      UUCP:{sun,voder,nsc,decwrl}!apple!han
--------------------------------------   GENIE: BYRONHAN
ATTnet: 408-974-6450   Applelink: HAN1   CompuServe: 72167,1664
------------------------------------------------------------------------------

levin@bbn.com (Joel B Levin) (01/19/89)

In article <24218@apple.Apple.COM> han@Apple.COM (Byron Han) writes:
|In article <322@s1.sys.uea.ac.uk> jrk@s1.UUCP (Richard Kennaway) writes:
|>2.  I *like* Lightspeed's automatic make feature, as opposed to composing
|>makefiles by hand in MPW, 
| 
|You can use the "Create Build Commands" item from the Build menu.

Except that I hate the Makefile (or "foo.make" file) it creates, and I
always have to edit it.  Fortunately, the "source" to CreateMake is
included, since it is a shell script, and one of these days (sigh)
I'll get around to making it work the way I like - and making it
understand about TML Pascal, and so on.  (This flexibility is one of
the things I like about MPW.)

	/JBL
= =
UUCP:     {backbone}!bbn!levin		POTS: (617) 873-3463
INTERNET: levin@bbn.com

jrk@s1.sys.uea.ac.uk (Richard Kennaway) (01/20/89)

In article <24218@apple.Apple.COM> han@Apple.COM (Byron Han) writes:
>In article <322@s1.sys.uea.ac.uk> jrk@s1.UUCP (Richard Kennaway) writes:
>>2.  I *like* Lightspeed's automatic make feature, as opposed to composing
>>makefiles by hand in MPW, 
> 
>You can use the "Create Build Commands" item from the Build menu.

True, but it's rather primitive, isn't it?  I only invoke "Create Build
Commands" to make an initial draft of a makefile, then add the features that
that command doesnt understand.  E.g. dependency on .h files and .r (Rez
input) files - the Commando dialog's "Files" button wont let me select
anything but .c files.  And separate compilation - "Create Build Commands"
just generates a single command to compile all the selected files at once
(as far as I can remember...I tend now to use old makefiles as prototypes
for new ones rather than using the menu command).

Thanks to all who responded to my query about building resources under
LightspeedC, including one person who has offered to send me ResTools,
a resource compiler application more-or-less Rez-compatible.  I'll see
how LSC + ResTools compares with MPW.

Ah, but if only LSC had an MPW-ish command interface!
If only MPW had LSC-ish project files and precompilation!
Something for both to consider for their next versions?  (If they can avoid
each other's copyright suits :-)
-- 
Richard Kennaway                SYS, University of East Anglia, Norwich, U.K.
uucp:	...mcvax!ukc!uea-sys!jrk	Janet:	kennaway@uk.ac.uea.sys

beard@ux1.lbl.gov (Patrick C Beard) (01/21/89)

One annoying thing about the CreateMake is that it doesn't know about .h
files for dependencies.  I'm a C and assembly language programmer and I want
to be able to have my C sources depend on the include files.  Minor, but
it means that I have to edit all of my make files whenever I create a new
makefile.  This is true even under MPW 3.0!  I also think it is unnecessary
to have programs depend on the Makefile itself.  If I want to rebuild every-
thing I'll choose full build.

Patrick Beard
Berkeley Systems, Berkeley CA

david@randvax.UUCP (David Shlapak) (01/21/89)

Newsgroups: comp.sys.mac comp.sys.mac.programmer
Subject: Summary of Help for Beginning Programmer
Summary: 
Expires: 
Sender: 
Reply-To: david@rondo.UUCP (David Shlapak)
Followup-To: 
Distribution: 
Organization: The RAND Corporation, Washington, D.C.
Keywords: 

    Folks---

    Thanks to all who responded to my plight.  There seemed to be two
consensus recommendations:

    (1) "Macintosh Revealed," while perhaps slightly out-of-date with
respect to the II/IIx, remains a valuable "how-to" resource.  Another
addition to my computer library..!

    (2) Paul DuBois' "TranSkel" is nearly priceless as exemplar code.
Unfortunately, I can't access sumex from my site, and I couldn't find
TranSkel on MAUG; could some kind soul possibly forward me an
LSP-compatible (or nearly-compatible) version?  I'll bless you for the rest
of my days.

    One respondent suggested using "Prototyper" to build the front-end of
applications.  Has anyone Out There used "Prototyper" extensively?
Thoughts? Recommendations?

    Again, thanks to all for their time and patience.  I'm *sure* you'll be
hearing from me again!

    Cheers.

					    --- das

keith@Apple.COM (Keith Rollin) (01/21/89)

In article <1727@helios.ee.lbl.gov> beard@ux1.lbl.gov (Patrick C Beard) writes:
>One annoying thing about the CreateMake is that it doesn't know about .h
>files for dependencies.  I'm a C and assembly language programmer and I want
>to be able to have my C sources depend on the include files.  Minor, but
>it means that I have to edit all of my make files whenever I create a new
>makefile.  This is true even under MPW 3.0!  I also think it is unnecessary
>to have programs depend on the Makefile itself.  If I want to rebuild every-
>thing I'll choose full build.
>

Hmmm. Putting in some provision for .h files would probably be very useful.
And people have been complaining about the .make dependancy since the beginning
of time. But I don't think that that part of it is going away.

However, you're not entirely out of luck. CreateMake *IS* a script. You are 
perfectly welcome to open it up and change it to create .make scripts of
your own liking. You can even hammer the Commando dialog to provide support
for any new flags that you add to the script.


Keith Rollin  ---  Apple Computer, Inc.  ---  Developer Technical Support
INTERNET: keith@apple.com
    UUCP: {decwrl, hoptoad, nsc, sun, amdahl}!apple!keith
      "You can do what you want to me, but leave my computer alone!"

drc@claris.com (Dennis Cohen) (01/23/89)

In article <34782@bbn.COM> levin@BBN.COM (Joel B Levin) writes:
>included, since it is a shell script, and one of these days (sigh)
>I'll get around to making it work the way I like - and making it
>understand about TML Pascal, and so on.  (This flexibility is one of
>the things I like about MPW.)
>

Well, you don't really have to do that for TML since it comes with a tool
called TMLProject that creates makefiles that know about dependencies, etc.
It's much better than the "Create Build Commands" choice provided with a
stock MPW.

Dennis Cohen
Claris Corp.
------------
Disclaimer:  Any opinions expressed above are _MINE_!

thompson@uxf.cso.uiuc.edu (01/28/89)

>...  With MPW, I have hardly ever typed in a resource
>description.  It's far easier to make the resource with ResEdit, Derez it,
>and only then edit the resource description for things like precise alignment
>of radio buttons.
>... (description of horrible RMaker accessing)
>Is making resources in the Lightspeed environment really as ghastly as this?
>How do other people manage?
>-- 
>Richard Kennaway                SYS, University of East Anglia, Norwich, U.K.

Umm, this may sound dumb, but if you're in ResEdit in the first place,
 why not do your "precise alignment" there?  I do *all* my resource
 editing in ResEdit - it takes maybe a couple of minutes, and then
 I'm done (well, per resource, anyway).  And then, of course, you just
 stick the resources you want linked with your file into the 
 <projfilename>.rsrc file, and let LSC do the linking upon "Build Appl".
 Never a worry, and never a need to run another program.  Once my
 resources are done, I never leave LSC.  And adding another resource
 is just one program switch away (and with OnCue, it's *no* problem...
 heck, I added the .rsrc file as a document to ResEdit, and everything's
 happy now!)

As mentioned in the manual, if you want to test it before "Build"ing it,
 just add an "OpenResFile" call to the top of main.  (Of course, if
 you're writing a DA (like me at the moment), you need to build it anyway,
 so...)

- Mark Thompson                       "The University Neither Knows Nor
  Hell hath no fury - I took it all.   Cares What I Am Saying."
  University of Illinois at U-C

  ARPANET: thompson@uxf.cso.uiuc.edu
  USMAILNET: 202 E Springfield #3B, Champaign IL 61820

jrk@s1.sys.uea.ac.uk (Richard Kennaway CMP RA) (02/01/89)

In article <1234600020@uxf.cso.uiuc.edu> thompson@uxf.cso.uiuc.edu writes:
>
>>description.  It's far easier to make the resource with ResEdit, Derez it,
>>and only then edit the resource description for things like precise alignment
>>of radio buttons.
>>Richard Kennaway                SYS, University of East Anglia, Norwich, U.K.
>
>Umm, this may sound dumb, but if you're in ResEdit in the first place,
> why not do your "precise alignment" there?

Well, after dragging the items of a DITL roughly into the places I want them,
I find it much easier to derez it, see that some checkboxes are
about 25 pixels apart, and edit the coordinates to make them exactly so.
Easier than trying to judge it by eye in ResEdit, or by opening them all
to see the coordinates and getting zillions of overlapping windows.
And have you ever tried adding an item into the middle of a 30-item DITL?
Trivial with text, next to impossible with ResEdit.

I also dont have enough memory to run MPW or LSC and ResEdit under MultiFinder.
(Should be getting a 2meg upgrade shortly, htat may make it possible.)

> I do *all* my resource
> editing in ResEdit - it takes maybe a couple of minutes, and then
> I'm done (well, per resource, anyway).

I find that I dont make the resources once, then write the code, I edit
the resources about as often as I edit the code.  (Every time I need
another string constant - you do all use STR#s, not hardwired strings,
dont you? :-)

Anyway, I've got ResTools now (Rez+Derez as a standalone
application), now I just need to find where (in the UK) I can get
something like QuickKeys to automate switching between LSC and ResTools
(or wait till I can run both in MultiFinder).

>- Mark Thompson                       "The University Neither Knows Nor
>  Hell hath no fury - I took it all.   Cares What I Am Saying."

-- 
Richard Kennaway                SYS, University of East Anglia, Norwich, U.K.
uucp:	...mcvax!ukc!uea-sys!jrk	Janet:	kennaway@uk.ac.uea.sys

rae@geaclib.UUCP (Reid Ellis) (02/04/89)

jrk@uea-sys.UUCP (Richard Kennaway) writes:
|And have you ever tried adding an item into the middle of a 30-item DITL?
|Trivial with text, next to impossible with ResEdit.

Actually, in the newest version of ResEdit, you can set the item# of any
DITL item.  It's in the DITL menu when you're editing the DITL.

Reid

"What is going on down here?!"
				"You don't really want to know."
"Actually, I don't."
				"Oh, all right -- I'll tell you."
"No, really.  You don't have to."
-- 
Reid Ellis, geaclib!rae@geac.uucp, rae@geaclib.uucp [if you're lucky]