HDTenEightyP/NetNews huggingface dataset:
From: joseph@joebloe.maple-shade.nj.us (Joseph Nathan Hall)
Newsgroups: comp.sys.mac.programmer
Subject: Re: Shareware legality question
Date: Tue, 1 Sep 92 01:36:13 EDT
Organization: 5 Sigma Software
Reply-To: joseph@joebloe.maple-shade.nj.us
Distribution: comp.sys.mac.programmer
X-Mailer: uAccess - Macintosh Release: 1.5v5


In article <BtvFx6.L9x@news.cso.uiuc.edu> (comp.sys.mac.programmer), resnick@cogsci.uiuc.edu (Pete Resnick) writes:
) >I submitted a shareware copyrighted program to sumex-aim.  In the
) >README file I included a line that read <Public domain houses, such as
) >Educorp, must contact me before distributing this program>.  I guess I
) >aint no legal wizard, and I should have worded that more carefully.
) 
) >Do I have any rights here, or did I goof with my language.

You can certainly make them stop.  Alas, you have no other remedy
if your work is not registered with the Library of Congress.

As I understand the law:

If you work is unpublished (which in this case, it is not), you need
not include any copyright notice in order to prevent its unauthorized
distribution and/or reproduction.  In fact, you must explicitly waive
your rights.  Since US copyright law reform you automatically have copyright
of any work (excepting work-for-hire, etc.), even if there is no copyright
notice.

If you distribute your work in a way that looks like publication,
you must have a copyright notice to protect your rights.  However,
this does not allow you to seek any remedy other than to force someone
who is distributing/reproducing/etc. your work without authorization
to stop.  This is the criminal portion of the law, more or less.
I think that the method for sending people to jail if they persist
is contempt of court, but I'm not sure.

If you want civil damages, you must 1) register with LOC, and 2) take
the offender to court.  In that order.  You can't register after the
offense was committed and get post facto damages, alas.

A stiffly worded letter to the offender, either from you or from a
lawyer, should bring results.  Do not be afraid to threaten, even
if your threats are idle!  This is what lawyers do, and you can do
it too.

I'd suggest registering your work with LOC in the future.  That alone
wouldn't save you the trouble of hiring a lawyer ($$$), but you could
possibly recover some $ from the offender.

uunet!joebloe!joseph   (609) 273-8200 day   joseph%joebloe@uunet.uu.net
v   v  sssss | Certified Guru: all-grain brewing,| 2102 Ryan's Run East
 v v  s   s  | C, synthesizer comp & arranging,  | Rt 38 & 41
  v    sss   | photography. Also not a bad cook. | Maple Shade NJ 08052
-----My employer isn't paying for this, and my opinions are my own-----
Newsgroups: comp.sys.mac.programmer
From: keith@taligent.com (Keith Rollin)
Subject: Re: vrefNum from Path Name
Organization: Taligent
Distribution: usa
Date: Tue, 1 Sep 1992 18:31:53 GMT

In article <47022@shamash.cdc.com>, paul@svl.cdc.com (Paul Kohlmiller) writes:
> 
> This may be a FAQ but I didn't find it.
> Most Mac apps have a dialog box to find a file such as the one you
> get with SFGetFile etc.
> When you do this you get the vrefNum but not the parID which is
> another problem for later.
> However, I have an application that wants to get the file from a
> pathname and there is no place for a vrefNum. While this seems
> unMaclike, it seems to work for MPW which can take a path name in
> a Link command. Maybe simply opening a file can be done with just
> a path but LaunchApplication needs a FSSpec which needs the
> vrefNum and the parID. The parID I can set to 0 for now (do I care
> about parID on non-A/UX apps) but the vrefNum I need. The best
> solution I have so far is to do the dialog box once and keep the
> vrefNum info. What I would like is a function that returns vrefNum
> from a file pathname but I don't see it. Any ideas?

Page 25-16 of Inside Mac VI shows that FSMakeFSSpec can take a full pathname.
When you feed it a full pathname, the vRefNum and parID you pass it are ignored.
The vRefNum and parID fields of the FSSpec record it returns will be filled out
properly from the information in the full pathname.

Remember, Inside Mac says that you should _NOT_ create FSSpecs by hand. You
should always call FSMakeFSSpec. Don't go filling in the parID and vRefNum
fields yourself. (There is one exception to this, which is that you can freely
assign one FSSpec record to another.)

--
Keith Rollin
Phantom Programmer
Taligent, Inc.
From: 21602MR@MSU (Mark Rosenberg)
Newsgroups: comp.sys.mac.programmer
Subject: IM 1-7  vs New: FILES, PROCESSES, MEMORY Books
Date: 26 Aug 92 14:48:45 GMT
Organization: Michigan State University

I am jumping into programming the MAC - All sources say I need IM 1, and
a few other IM vols, But Addison Wesley has come out with 3 new books:
Files, Processes, and Memory which replace the original IM books??
Do I STILL need to get IM v1 (with references to 128k MACs and LISA)
or should I get one or all of the New books??
Thanks in advance... Please respond to the net!
Mark Sartor (via Mark Rosenbergs account)
From: minow@Apple.COM (Martin Minow)
Newsgroups: comp.sys.mac.programmer
Subject: Re: Scrolling (was:what remains when the clothes fly off?)
Keywords: ScrollRect()
Date: 22 Aug 92 16:02:50 GMT
Organization: Apple Computer Inc., Cupertino, CA


gil@cse.ucsc.edu asks about scrolling pictures (using ScrollRect). One of
the arguments to ScrollRect is a region handle. It is set to a region that
describes the area that was uncovered. Now, you can do the following:
	ScrollRect(..., myInvalRgn);
	InvalRgn(myInvalRgn);
and your application will get an update event. Your update event handler
should then redraw the entire window (only the "invalid" part will change).
You can get somewhat better performance by doing the update stuff yourself:
	ScrollRect(..., myInvalRgn);
	InvalRgn(myInvalRgn);
	BeginUpdate(myWindowPtr);
	DrawMyWindow(myWindowPtr);
	EndUpdate(myWindowPtr);
This avoids the event-loop overhead. DrawMyWindow calls DrawControls,
DrawGrowIcon, and then draws your application-specific content.

Another possibility is to save the current clip region, set the clip
region to myInvalRgn, and just draw the content, but I suspect that
the BeginUpdate...EndUpdate sequence is more robust.

Read through the description of regions in the QuickDraw chapter, and
update event management in the Window Manager chapter -- both in Inside
Mac volume 1.

Good luck.

Martin Minow
minow@apple.com
Newsgroups: comp.sys.mac.programmer
From: sdorner@qualcom.qualcomm.com (Steve Dorner)
Subject: Re: incrementation differences/THINK C 4.0 vs. 5.0
Organization: Qualcomm, Inc., San Diego, CA
Date: Thu, 27 Aug 1992 18:21:57 GMT

peirce@outpost.SF-Bay.org (Michael Peirce) writes:
>
>In article <38119@unix.SRI.COM> (comp.sys.mac.programmer), mxmora@unix.SRI.COM (Matt Mora) writes:
>> Also why can't the compiler say this when a ";" is missing.
>In a previous life I worked at DEC and used the Language Sensitive
>Editor (LSE) and the Ada compiler on VMS.  IT DID THIS.

You will never see a C compiler that does this, and if you do you won't
find me using it.  C is too sparse.  Fix the following fragment:

	a=b=c d=e;

What goes between c and d? I can think of 3 possibilities.

-- 
Steve Dorner, Qualcomm, Inc.
Yes, I'm still working on Eudora and it's still free.
From: neath@brazil.psych.purdue.edu (Ian Neath)
Newsgroups: comp.sys.mac.programmer
Subject: Keeping the cursor visible
Summary: How do I do this?
Date: 1 Sep 92 15:15:44 GMT
Organization: Purdue University

I have an application that cranks through a simulation model.  Typically,
it takes around an hour to do each run.  I have set up an animated cursor
to let me know the program is still cranking, but everytime the app
writes to the TextEdit record, the cursor is hidden by (I assume) a
call to ObscureCursor.  Is it OK to keep calling ShowCursor to get
my animated cursor back?  IM says to balance ShowCursor with Hide-
or ShieldCursor (or vice versa).  My app seems to run fine, but since
it takes so long to do each run, I don't want the program to bomb.
Any advice, hints, etc appreciated.  Thanks.

-ian
 
--
    Ian Neath, PhD     | There are four kinds of people in this world:
neath@psych.purdue.edu | cretins, fools, morons and lunatics - U. Eco
From: sdorner@qualcom.qualcomm.com (Steve Dorner)
Newsgroups: comp.sys.mac.programmer
Subject: Re: Set/Get Cursor
Date: 3 Sep 92 17:00:06 GMT
Article-I.D.: qualcomm.1992Sep3.170006.12361
Organization: Qualcomm, Inc., San Diego, CA

d88-jwa@dront.nada.kth.se (Jon W{tte) writes:
>> sbill@informix.com (Bill Stackhouse) writes:
>      SetCursor(*GetCursor(iBeamCursor));
>Because there's no iBeamCursor, OR you haven't locked the handle,

Ok.

>OR the handle has been purged.

Say it isn't so.

GetCursor calls GetResource, and GetResource loads data unless ResLoad
is false.  Or so says IM.  Have you actually gotten a purged handle
out of GetCursor()?
-- 
Steve Dorner, Qualcomm, Inc.
Taking arms and by opposing end them, definitely.
Newsgroups: comp.sys.mac.programmer
From: joshr@kronos.arc.nasa.gov (Joshua Rabinowitz-Summer-91)
Subject: Re: Why won't this compile under Think C 5.0?
Organization: NASA/ARC Information Sciences Division
Date: Wed, 26 Aug 1992 22:12:38 GMT

In article <T5L3PB3w164w@uuisis.isis.org> rrwood@uuisis.isis.org (Roy Wood) writes:
>Okay, I'm feeling frustrated and dumb.  Look at this:
>
>/* ----------------------------------------------------- */
>
>extern void MyFunction(char);
>
>void MyFunction(theChar)
>char theChar;
>{
>     /* do stuff */
>}
>
>/* ---------------------------------------------------- */
>
>Actually, the function prototype is getting pulled in from a #include file,
>and the "extern" doesn't really matter much (i.e. it still doesn't work even
>if I leave it out).  The problem seems to center around the use of the
>"char" data type-- it works with int's, long's, mother's-maiden-names, etc.,
>but not for char's.
>
>So, what gives?
>
>-Roy

Try using inline - definitions (is that what they're called?) 
like so:
void MyFunction(char theChar)
{
   /* do stufff */
}

possibly the char you pass is being promoted to an int, or some such.
Also, use strict prototype checking (require).
I assume you are using thinkC.



-- 
----------------------------------
#include <std/disclaimer.h>     Josh Rabinowitz, Mac TCL programmer
joshr@kronos.arc.nasa.gov
"Send a salami to your boy in the army" - Katz's delicatessen, NYC
From: danny@utkux1.utk.edu (Danny W. McCampbell)
Newsgroups: comp.sys.mac.programmer
Subject: Sound Loop in a with a Modal Dialog?
Date: 3 Sep 92 14:55:24 GMT
Organization: University of Tennessee

Hi.  I want to play a sound continuously while a modal dialog is 
present on the screen.  I have successfully go the loop to work
without the modal dialog statement but the loop is only executed
twice when I call modal dialog.  Here is  some sample code:

dialogtrue := true;
while dialogtrue do
begin
  FlushSndChannel(mySndChan);
  if SoundisStopped(mySndChan) then
  begin
    PlaytheSound(mySndChan);
  end;
  ModalDialog(nil, itemHit);			{Call Modal Dialog until the user clicks in the dialog}
  if itemHit = 1 then
    dialogtrue := false;
end;
StoptheSound(mySndChan);
DisposDialog(AboutDialog);				{Dispose of the Dialog}

The sound plays only twice then stops playing.  Any ideas how I can
do this successfully?  Thanks in advance.

Danny McCampbell
Newsgroups: comp.sys.mac.programmer
Subject: Re: How to save a PICT file?
From: jmatthews@desire.wright.edu
Date: 29 Aug 92 00:32:33 EST
Followup-To: comp.sys.mac.programmer
Distribution: usa
Organization: Wright State University 

In article <zben-280892151439@zben-mac-ii.umd.edu>, zben@ni.umd.edu (Charles B. Cranston) writes:
> In article <1992Aug26.000749.3750@desire.wright.edu>,
> jmatthews@desire.wright.edu wrote:
>...
>>         count := GetHandleSize(Handle(picHdl));
>>         ErrCheck(FSWrite(fRefNum, count, Ptr(picHdl^)));
>... 
> Ahem, wouldn't it be a good idea to lock the handle while writing
> it out?  I wasn't aware _Write refrained from moving memory.  Please
> correct me if I'm wrong about this...

An excellent question. An expression such as Ptr(picHdl^) creates a
copy of a master pointer; the original will change if the block to
which it points gets moved. Fortunately, I haven't found _Write on
any list of traps that move memory (IM vol I-VI; THINK Reference).

I suppose that believing _Write will never move memory in the future
is a shade optimistic. I hope the "lock everything" partisans don't
don't wind up being too right:-)

o----------------------------------------------------------------------------o
| John B. Matthews, jmatthews@desire.wright.edu, disclaimer:= myViews <> WSU |
| "I'm a commensal .sig virus, indistinguishable from an ordinary organelle."|
o----------------------------------------------------------------------------o
Newsgroups: comp.sys.mac.programmer
From: nuk@hongkong.WPI.EDU (Jacob W Anderson)
Subject: HD formatting
Organization: Worcester Polytechnic Institute
Date: Thu, 3 Sep 1992 18:43:15 GMT

Recently a friend's CMS (seagate) hard drive had failed him (something
to do with the boot sector maybe) and he wanted to know how to do a low-level
format on the drive.  The drive can be 'seen' by various HD tool programs,
but none of them are able to mount it, nor format it.  If it could be
force-formatted, then it would be useful again maybe.

If you know how to help us, please respond via e-mail to this account:

			nuk@wpi.wpi.edu

		-Thanks
		Jake Anderson
From: Jim.Matthews@dartmouth.edu (Jim Matthews)
Newsgroups: comp.sys.mac.programmer
Subject: Re: MacTCP over LocalTalk
Date: 3 Sep 92 14:24:46 GMT
Organization: Dartmouth College, Hanover, NH

Bill Cramer writes
> Am I simply not configuring things correctly or is what
> I'm trying to do simply not possible?

What you're trying is possible, or at least once was.  I demoed Fetch at  
the 1991 Boston MacWorld expo by hooking an ImageWriter cable between two  
Macs, running TCP/Connect II on one and Fetch on the other.  I used static  
addresses (something like 10.0.0.1 and 10.0.0.2), and I don't remember  
whether I got the hosts file to map names to these addresses.

This was with MacTCP 1.0.1, and they may have removed this functionality,  
but it was there.

Hope this helps,

Jim Matthews
Dartmouth Software Development
Newsgroups: comp.sys.mac.programmer
From: fgiraffe@well.sf.ca.us (Frank Giraffe)
Subject: Re: MacApp 3.0 upgrade
Organization: Whole Earth 'Lectronic Link
Date: Wed, 26 Aug 1992 03:53:30 GMT


>In the requirement it's mentioned  that I need 16 meg of RAM
>I hope this is an error...
Nope, no error. Since MacApp 3 is written in C++, and C++ needs more memory
than Pascal, 16M is a good configuration. If you dont do -SYM builds, you
can get by on less.
-Frank
-- 
>Frank Giraffe- fgiraffe@well.sf.ca.us - {apple,pacbell,ucbvax}!well!fgiraffe
>As the noose of narco-militarism tightens 'round our necks, we worry about
>  burning flags and pee in jars at work to keep our jobs.  -- Jello Biafra
Newsgroups: comp.sys.mac.programmer
From: Jim_Holt@aprdlgtr.sps.mot.com (Jim Holt)
Subject: Re: GWorlds with B&W Macs
Followup-To: comp.sys.mac.programmer
Organization: Motorola
Date: Wed, 2 Sep 1992 12:48:52 GMT

In article <cshotton-010992130818@oac2.hsc.uth.tmc.edu>,
cshotton@oac.hsc.uth.tmc.edu (Chuck Shotton) wrote:
> 
> In article <Jim_Holt-010992093710@jolt.sps.mot.com>,
> Jim_Holt@aprdlgtr.sps.mot.com (Jim Holt) wrote:
> > 
> > 		SetGWorld (tempGWorld, nil);
> > 
> >   /********* program goes away on the following call !! ************/
> > 
> > 		DrawPicture(tempPic,&tempRect);
> 
> You didn't lock your pixMap before drawing to it. You need some code like:
>   err=LockPixels(tempGWorld->portPixMap);
> before you call DrawPicture.
> 

Thanks to all who responded to this post.  Again the net bails me out ..

Locking the pixMap was indeed the cure to my problem.  It even says ya
gotta do this in IM-VI, on the page after the one where it says you can use
GWorlds on B&W macs  :-)

-jh
From: WIS@LIVERPOOL.AC.UK
Newsgroups: comp.sys.mac.programmer
Subject: MacSmalltalk - what's it like?
Date: 28 Aug 92 15:58:16 GMT
Organization: University of Liverpool

Well, the subject says it all. Someone out there will have used
SmallTalk on the Macintosh and hopefully has an opinion on it
that they are willing to share.

Well?

Bill Sellers ;->
Newsgroups: comp.sys.mac.programmer
From: resnick@cogsci.uiuc.edu (Pete Resnick)
Subject: Re: Map (was: Australian Mac systems)
Organization: University of Illinois at Urbana
Date: Wed, 26 Aug 1992 17:43:25 GMT

bschmidt@bnr.ca writes:

>In article <sold.72.714426570@kit.uni-kl.de> sold@kit.uni-kl.de (Christoph
>Sold) writes:
>>>
>>>  This is the chicken and the egg problem. Nobody uses the map control 
>>>  panel because nobody uses the map control panel. Lame.

>Pete Resnik's Network Time cdev does. Possibly Jeddak's (sp?) or David Hornby
>(sp?)'s TimeLord AppleTalk-based time-setters do as well? Most network time
>schemes are based on GMT or UT. The Map cdev provides the logical place for the
>user to enter his offset from GMT or UT. You do it by entering your site.
>Awkward if you don't know your longitude but perhaps arguably friendlier than
>entering an offset from Greenwich?

Many e-mail and at least one network news program also use the value
set in the Map to figure out time zone as well.

Actually, Network Time 2.0 will set the PRAM for the Map control panel
so that you never have to go into it. This is so Network Time can
automatically change that value for daylight savings time. I wish
Apple would handle DLS.

pr
--
Pete Resnick             (...so what is a mojo, and why would one be rising?)
Graduate assistant - Philosophy Department, Gregory Hall, UIUC
System manager - Cognitive Science Group, Beckman Institute, UIUC
Internet: resnick@cogsci.uiuc.edu
From: ar4@sage.cc.purdue.edu (Piper Keairnes)
Newsgroups: comp.sys.mac.programmer
Subject: Saving Color Palette in PICT?
Date: 1 Sep 92 05:00:28 GMT
Distribution: na
Organization: Purdue University Computing Center

I am saving a PICT to a file and wish to view it later within another
program. My PICT is drawn with a color palette which was created
specifically for the PICT. I need to save the color information within the
PICT file so that other programs can change the color palette in order to
display the PICT.

Can this be done? If so, could someone please give me a hint?

-- 
Piper Keairnes - Computer Science   ** PUCC Consultant for money. **
INTERNET: ar4@sage.cc.purdue.edu    **   Mac programmer for fun.  **
Newsgroups: comp.sys.mac.programmer
Subject: Creating color fonts
From: news@massey.ac.nz (USENET News System)
Date: Fri, 4 Sep 92 04:28:50 GMT
Followup-To: comp.sys.mac.programmer
Organization: Massey University

I currently use a special font of black-and-white 24x24 icons to draw
pictures in the palettes and menus of an application that I've written.

I now want to create a color version. Much of the program can be colorized
fairly easily, but what should I use to create a color version of my 24x24
font of icons? ResEdit doesn't seem to deal with color fonts. What other
programs (preferably shareware or PD) can be used?

----------------------------------------------------
Doug Stirling
Department of Statistics
Massey University
Palmerston North
New Zealand                  D.Stirling@massey.ac.nz
----------------------------------------------------
Newsgroups: comp.sys.mac.programmer
From: tschneid@uwovax.uwo.ca
Subject: SUMMARY: increasing stack size
Organization: University of Western Ont, London
Date: Thu, 3 Sep 1992 13:31:27 GMT
Followup-To: comp.sys.mac.programmer

In article <ksand-010992171044@wintermute.apple.com>, ksand@apple.com (Kent Sandvik) writes:
> In article <1992Sep1.145611.1@uwovax.uwo.ca>, tschneid@uwovax.uwo.ca wrote
>> 

[ my original incorrect code (complete with stupid error!) ]
>> 
>>         newapplimit = 300*1024;    /* give app 300k */
>>         SetApplLimit(ApplLimit()+newapplimit);
>>         MaxApplLimit();
>> 
>> Unfortunately, this does not work ...
> 
> In what way, collision of stack and heap (more memory required then)?
> Other problems?

I was getting stack and heap collisions (System Error #33 ... or was it #15
... it was rather late that)

Thanks to everyone who replied (John, Larry, Grobbins, Mike [thanks for the
code!], Duane, Dave and Kent). Once my original mistake was pointed out ...
the stack grows down from high memory (not up) ... and I saw some sample
code, I arrived at the following solution:

	/* put this immediately after main() */
	#define NEW_STACK_SIZE	32768	/* 32k stack */
	#define OLD_STACK_SIZE	8192	/* I own a lowly Mac Plus */

	SetApplLimit(ApplLimit - (NEW_STACK_SIZE - OLD_STACK_SIZE));
	MaxApplZone();

	/* check */
	printf("Stack size: %ld\n",StackSize()); /* should be around 32k */
	printf("Max. Memory: %ld\n",MaxMem(0L));

This has eliminated the stack/heap collisions that were causing regular
crashes.

Thanks again,
Todd.



> 
> Kent Sandvik/DTS
From: andrewt@scrooge.cs.wisc.edu (Andrew Thomas-cramer)
Newsgroups: comp.sys.mac.programmer
Subject: Re: Event Loop
Date: 3 Sep 92 17:47:32 GMT
Organization: University of Wisconsin, Madison -- Computer Sciences Dept.

isEvent is always 0, fortunately -- but it is not FALSE. GetNextEvent
returns zero (noErr) unless an error occurs. You're confusing noErr
with FALSE, both of which are equal to zero.
Newsgroups: comp.sys.mac.programmer
From: jo2i+@andrew.cmu.edu (Jason Michael Ouellette)
Newsgroups: comp.sys.mac.programmer
Subject: MIDI Manager
Date: 2 Sep 92 12:55:13 GMT
Article-I.D.: andrew.IedGclK00YV787FF1H
Organization: Freshman, H&SS general, Carnegie Mellon, Pittsburgh, PA


   First off, I'm using MIDI Manager v1.2 and I'm not sure where an
update can be obtained.  More importantly, I'm seeking technical
information on communicating with MIDI devices through it.
   Side note:  I heard a nasty rumor that MIDI Manager will no longer be
supported by Apple at all - so I'm not even sure if I should bother with
this project.  Are MIDI applications these days primarily just dealing
with the serial port(s) directly, or using propriety systems (like
Opcode's OMS)?
   I glanced through a Technical Notes stack, along with Inside Mac V
and couldn't find any mention of MIDI Manager.  I'd be very grateful if
someone could point me in the right direction here.