home *** CD-ROM | disk | FTP | other *** search
/ ftp.mactech.com 2010 / ftp.mactech.com.tar / ftp.mactech.com / csmpdigest / csmp-digest-v3-009 < prev    next >
Text File  |  2010-09-21  |  44KB  |  1,178 lines

  1. Received-Date: Tue, 5 Apr 1994 15:00:22 +0200
  2. From: pottier@clipper.ens.fr (Francois Pottier)
  3. Subject: csmp-digest-v3-009
  4. To: csmp-digest@ens.fr
  5. Date: Tue, 5 Apr 94 15:00:15 MET DST
  6. X-Mailer: ELM [version 2.3 PL11]
  7. Errors-To: listman@ens.fr
  8. Reply-To: pottier@clipper.ens.fr
  9. X-Sequence: 11
  10.  
  11. C.S.M.P. Digest             Tue, 05 Apr 94       Volume 3 : Issue 9
  12.  
  13. Today's Topics:
  14.  
  15.         Better QuickTime play rates
  16.         Debugging: when does an app start to execute?
  17.         Full C++ Mac Framework wanted
  18.         LISP on MAC
  19.         MIDI Manager Source Example
  20.         Making a font menu
  21.         MoreFiles 1.1.1 - example file manager code
  22.         NewGWorld - please help!
  23.         Thread Manager 2.0
  24.  
  25.  
  26.  
  27. The Comp.Sys.Mac.Programmer Digest is moderated by Francois Pottier
  28. (pottier@clipper.ens.fr).
  29.  
  30. The digest is a collection of article threads from the internet newsgroup
  31. comp.sys.mac.programmer.  It is designed for people who read c.s.m.p. semi-
  32. regularly and want an archive of the discussions.  If you don't know what a
  33. newsgroup is, you probably don't have access to it.  Ask your systems
  34. administrator(s) for details.  If you don't have access to news, you may
  35. still be able to post messages to the group by using a mail server like
  36. anon.penet.fi (mail help@anon.penet.fi for more information).
  37.  
  38. Each issue of the digest contains one or more sets of articles (called
  39. threads), with each set corresponding to a 'discussion' of a particular
  40. subject.  The articles are not edited; all articles included in this digest
  41. are in their original posted form (as received by our news server at
  42. nef.ens.fr).  Article threads are not added to the digest until the last
  43. article added to the thread is at least two weeks old (this is to ensure that
  44. the thread is dead before adding it to the digest).  Article threads that
  45. consist of only one message are generally not included in the digest.
  46.  
  47. The digest is officially distributed by two means, by email and ftp.
  48.  
  49. If you want to receive the digest by mail, send email to listserv@ens.fr
  50. with no subject and one of the following commands as body:
  51.     help                        Sends you a summary of commands
  52.     subscribe csmp-digest Your Name    Adds you to the mailing list
  53.     signoff csmp-digest            Removes you from the list
  54. Once you have subscribed, you will automatically receive each new
  55. issue as it is created.
  56.  
  57. The official ftp info is //ftp.dartmouth.edu/pub/csmp-digest.
  58. Questions related to the ftp site should be directed to
  59. scott.silver@dartmouth.edu. Currently no previous volumes of the CSMP
  60. digest are available there.
  61.  
  62. Also, the digests are available to WAIS users as comp.sys.mac.programmer.src.
  63.  
  64.  
  65. -------------------------------------------------------
  66.  
  67. >From glalonde@vnet.ibm.com (Glen Lalonde)
  68. Subject: Better QuickTime play rates
  69. Date: 22 Mar 1994 14:24:34 GMT
  70. Organization: IBM Toronto Lab.
  71.  
  72.  
  73. I used a utility I wrote to see where time was being
  74. spent while playing a rather large(13MB) 60second movie.
  75. I found that about 50% of the machines time was spend in
  76. one routine, this routine was in the system heap and
  77. came from QT itself. It is 'cdec' number -16661,
  78. function 'Anon 48' The loop at 'Anon48'+BA is taking
  79. a LOT OF time. Anyone have any idea what this is doing?
  80.  
  81. Also, and possibly more important, is that 20% of the
  82. machines time durring playback was spend in a ROM routine
  83. called _SIntRemove. This routine is 0x29c4 long, ouch!
  84. I read about it in IM V, but don't really see why it is
  85. being used so much. Can some kind person tell me, or point
  86. me, to why _SIntRemove is used at all durring movie 
  87. playback?(I have inside mac(old version) 1-6).
  88.  
  89. I assume you get:
  90. QD call->8.24 card driver call->some kind of interrupt 
  91. gets generated?
  92.  
  93. I have a //si with 8.24 on the nubus card. Thanks.
  94. My software inserts a VBL routine which inspects the
  95. program counter, thus letting me profile the system.
  96.  
  97. Glen.
  98.  
  99.  
  100. +++++++++++++++++++++++++++
  101.  
  102. >From jim_reekes@quickmail.apple.com (Jim Reekes)
  103. Date: Tue, 22 Mar 1994 22:09:44 GMT
  104. Organization: Apple Computer, Inc.
  105.  
  106. In article <2mmv32$6jh@tornews.torolab.ibm.com>, glalonde@vnet.ibm.com
  107. (Glen Lalonde) wrote:
  108. > I used a utility I wrote to see where time was being
  109. > spent while playing a rather large(13MB) 60second movie.
  110. > I found that about 50% of the machines time was spend in
  111. > one routine, this routine was in the system heap and
  112. > came from QT itself. It is 'cdec' number -16661,
  113. > function 'Anon 48' The loop at 'Anon48'+BA is taking
  114. > a LOT OF time. Anyone have any idea what this is doing?
  115.  
  116. That's the image decompresser that draws the compressed video images to the
  117. screen.
  118.  
  119. > Also, and possibly more important, is that 20% of the
  120. > machines time durring playback was spend in a ROM routine
  121. > called _SIntRemove. This routine is 0x29c4 long, ouch!
  122. > I read about it in IM V, but don't really see why it is
  123. > being used so much. Can some kind person tell me, or point
  124. > me, to why _SIntRemove is used at all durring movie 
  125. > playback?(I have inside mac(old version) 1-6).
  126.  
  127. It's not really _SIntRemove. You have to know the exact address and the
  128. look them up in the ROM maps. The bugger you are using is only reporting
  129. the nearest trap in front of the address in ROM you are looking at. At that
  130. location there are some VIA interrupt handlers, and below them are the SCSI
  131. transfer routines.
  132.  
  133. > I assume you get:
  134. > QD call->8.24 card driver call->some kind of interrupt 
  135. > gets generated?
  136.  
  137. > I have a //si with 8.24 on the nubus card. Thanks.
  138. > My software inserts a VBL routine which inspects the
  139. > program counter, thus letting me profile the system.
  140.  
  141. Then you should be using the ROM maps to get more accurate readings of the
  142. ROM addresses.
  143.  
  144. - ---------------------------------------------------------------------
  145. Jim Reekes, Polterzeitgeist   |     Macintosh Toolbox Engineering
  146.                               |          Sound Manager Expert
  147. Apple Computer, Inc.          | "All opinions expressed are mine, and do
  148. 20525 Mariani Ave. MS 302-3KS |   not necessarily represent those of my
  149. Cupertino, CA 95014           |       employer, Apple Computer Inc."
  150.  
  151. +++++++++++++++++++++++++++
  152.  
  153. >From ivanski@world.std.com (Ivan M CaveroBelaunde)
  154. Date: Tue, 22 Mar 1994 23:00:57 GMT
  155. Organization: The World Public Access UNIX, Brookline, MA
  156.  
  157. glalonde@vnet.ibm.com (Glen Lalonde) writes:
  158. >I used a utility I wrote to see where time was being
  159. >spent while playing a rather large(13MB) 60second movie.
  160. >I found that about 50% of the machines time was spend in
  161. >one routine, this routine was in the system heap and
  162. >came from QT itself. It is 'cdec' number -16661,
  163. >function 'Anon 48' The loop at 'Anon48'+BA is taking
  164. >a LOT OF time. Anyone have any idea what this is doing?
  165.  
  166. The 'thng' resources specify that 'cdec' -16661 is the Cinepak
  167. decompressor. What it is doing is left as an exercise
  168. for the reader ;)
  169.  
  170. >Also, and possibly more important, is that 20% of the
  171. >machines time durring playback was spend in a ROM routine
  172. >called _SIntRemove. This routine is 0x29c4 long, ouch!
  173.  
  174. I'm not sure it's really in _SIntRemove. The symbol lists
  175. for the ROMs are nowhere near complete, and registering
  176. execution at _SIntRemove+$XXXX doesn't necessarily mean
  177. it's stuck removing a slot interrupt. For example, the
  178. *entire* memory manager is labeled as _StripAddress+$XXXX.
  179. I could see it servicing a slot VBL call. Depending on the
  180. machine you're using, I guess it could be processing async
  181. disk I/O.
  182.  
  183. Hope this helps,
  184.  
  185. -Ivan
  186. - -
  187. Ivan Cavero Belaunde (ivanski@world.std.com)
  188. Avid VideoShop Project Lead
  189. Avid Technology, Inc.
  190.  
  191. +++++++++++++++++++++++++++
  192.  
  193. >From rang@winternet.mpls.mn.us (Anton Rang)
  194. Date: 23 Mar 1994 00:32:46 GMT
  195. Organization: Minnesota Angsters
  196.  
  197. In article <2mmv32$6jh@tornews.torolab.ibm.com> glalonde@vnet.ibm.com (Glen Lalonde) writes:
  198. >I found that about 50% of the machines time was spend in
  199. >one routine, this routine was in the system heap and
  200. >came from QT itself. It is 'cdec' number -16661,
  201. >function 'Anon 48' The loop at 'Anon48'+BA is taking
  202. >a LOT OF time. Anyone have any idea what this is doing?
  203.  
  204.   The 'cdec' resource is a compressor/decompressor.  Presumably the
  205. loop you're looking at is handling picture decompression.
  206.  
  207. >Also, and possibly more important, is that 20% of the
  208. >machines time durring playback was spend in a ROM routine
  209. >called _SIntRemove. This routine is 0x29c4 long, ouch!
  210.  
  211.   Actually, no, that's not the routine.  It just looks like it because
  212. it is followed by a huge amount of undocumented ROM code (well, not
  213. undocumented exactly, just internal routines, not external traps.)
  214. I'd have to look at the IIsi ROM map to be sure, but that's probably
  215. either Sound Manager or QuickDraw code that you're seeing.
  216. --
  217. Anton Rang (rang@winternet.mpls.mn.us)
  218.  
  219.  
  220. ---------------------------
  221.  
  222. >From sgl1@kimbark.uchicago.edu (Steven Lane)
  223. Subject: Debugging: when does an app start to execute?
  224. Date: Mon, 21 Mar 1994 00:20:31 GMT
  225. Organization: University of Chicago
  226.  
  227. I figure there must be an easy answer to this, but I've had no luck
  228. figuring it out. I want to set a breakpoint condition in MacsBug such
  229. that I'll drop into the debugger sometime after _Launch, as soon as
  230. the app's main code segment is entered. I've tried various things,
  231. such as waiting until CurApName or TheZone changes, but these are
  232. shots in the dark, given that I don't know how or in what order
  233. _Launch does its business, and I don't enjoy ROM exploration in large
  234. doses.
  235.  
  236. So: are there any decent rules of thumb on what conditions will true
  237. at the point an app executes the first line of its own code? Any
  238. pointers would be a big help. I'll be glad to summarize if there's
  239. enough response or interest.
  240.  
  241.  
  242. -- 
  243. - --
  244. Steve Lane
  245. University of Chicago, Department of History
  246. sgl1@midway.uchicago.edu
  247.  
  248. +++++++++++++++++++++++++++
  249.  
  250. >From wysocki@netcom.com (Chris Wysocki)
  251. Date: Mon, 21 Mar 1994 04:08:06 GMT
  252. Organization: Global Village Communication, Mountain View, CA
  253.  
  254. In article <1994Mar21.002031.16537@midway.uchicago.edu> sgl1@midway.uchicago.edu writes:
  255.  
  256. >I figure there must be an easy answer to this, but I've had no luck
  257. >figuring it out. I want to set a breakpoint condition in MacsBug such
  258. >that I'll drop into the debugger sometime after _Launch, as soon as
  259. >the app's main code segment is entered.
  260.  
  261. For 68k applications, the easiest thing to do is set the low-memory
  262. global LoadTrap (a byte at $12D) to non-zero before launching the
  263. application.  This will cause _LoadSeg to drop you into Macsbug right
  264. before RTS-ing to your code segment.  I haven't figured out how to do
  265. the same thing for native applications, although I haven't had the
  266. need to do this just yet....
  267.  
  268. Chris.
  269.  
  270. +++++++++++++++++++++++++++
  271.  
  272. >From zellers@berksys.com (Steve Zellers)
  273. Date: 21 Mar 1994 05:01:08 GMT
  274. Organization: Berkeley Systems, Inc.
  275.  
  276. In article <wysockiCMzy5I.K8y@netcom.com>, wysocki@netcom.com (Chris
  277. Wysocki) wrote:
  278.  
  279. > In article <1994Mar21.002031.16537@midway.uchicago.edu> sgl1@midway.uchicago.edu writes:
  280. > For 68k applications, the easiest thing to do is set the low-memory
  281. > global LoadTrap (a byte at $12D) to non-zero before launching the
  282. > application.  This will cause _LoadSeg to drop you into Macsbug right
  283. > before RTS-ing to your code segment.  I haven't figured out how to do
  284. > the same thing for native applications, although I haven't had the
  285. > need to do this just yet....
  286.  
  287. Holding down the control key when you launch your all will stop you in
  288. __start, assuming you're using r2db & the debugger nub.  Not sure about
  289. using the nub that comes with metrowerks, however.  (But if its
  290. implementing the nub interface, it might just work.
  291.  
  292. --smz
  293. 
  294. -- 
  295. Sr. Software Engineer
  296. Berkeley Systems, Inc.
  297.  
  298. ---------------------------
  299.  
  300. >From krodye@sra.com (Eric Krody)
  301. Subject: Full C++ Mac Framework wanted
  302. Date: 21 Mar 1994 15:14:49 GMT
  303. Organization: Systems Research and Applications Corp., Fairfax VA
  304.  
  305.  
  306. What does one do if one wants to write an application making full use 
  307. of C++?  Apparently, neither MacApp nor Symantec's Think Class Library
  308. take full advantage of C++ (and TCL seems to be pretty far from doing
  309. so given its heritage).  I read that QuickApp offers a framework written
  310. in C++ but I don't know much about this Emergent Behavior product (nor
  311. do I know anything about Emergent Behavior).  Any comments on what 
  312. direction to take?  Anyone used QuickApp? Anyone know Emergent Behavior's
  313. phone number or have any other useful information?      
  314.   
  315.  
  316. +++++++++++++++++++++++++++
  317.  
  318. >From jwbaxter@olympus.net (John W. Baxter)
  319. Date: Mon, 21 Mar 1994 10:34:31 -0800
  320. Organization: Internet for the Olympic Peninsula
  321.  
  322. In article <2mkdl9$edd@snoopy.sra.com>, krodye@sra.com (Eric Krody) wrote:
  323.  
  324. > What does one do if one wants to write an application making full use 
  325. > of C++?  Apparently, neither MacApp nor Symantec's Think Class Library
  326. > take full advantage of C++ (and TCL seems to be pretty far from doing
  327. > so given its heritage).  I read that QuickApp offers a framework written
  328. > in C++ but I don't know much about this Emergent Behavior product (nor
  329. > do I know anything about Emergent Behavior).  Any comments on what 
  330. > direction to take?  Anyone used QuickApp? Anyone know Emergent Behavior's
  331. > phone number or have any other useful information?      
  332. >   
  333.  
  334. QuickApp is, er, quick.  [It was also recently incorporated into a new
  335. Apple Developer University course which replaces two old object oriented
  336. courses.  And it was incorporated into a course on OO for Taligent.]
  337.  
  338. A new QuickApp is coming "soon", which will be compilable using Metrowerks
  339. CodeWarrior (including for Power Macintosh), and will support Apple events.
  340.  Emergent Behavior is, among others, Dave Wilson (who has taught at Apple
  341. Dev U for a LONG time, and is darn good), and Steve Wilson. 
  342. emergent@aol.com
  343.  
  344. CodeWarrior from Metrowerks includes the "PowerPlant" framework, which
  345. looks promising.  CodeWarrior is currently out in its first developer
  346. pre-release:  #2 is about to emerge.  68K only, PPC only, or both. 
  347. Delivered on CD.  I've already switched from Symantec (I wouldn't have for
  348. an early deadline program, although some Power Macintosh code compiled by
  349. CodeWarrior is already in service (Fetch 2.1.2, as one example).
  350.  
  351. I like the feel of the PowerPlant framework (by Gregory Dow of TCL fame). 
  352. It's "TCL done right given modern tools and a second chance" (my quote).
  353.  
  354. -- 
  355. John Baxter    Port Ludlow, WA, USA  [West shore, Puget Sound]
  356.    jwbaxter@pt.olympus.net
  357.  
  358. ---------------------------
  359.  
  360. >From gt7572c@prism.gatech.EDU (Jason Strayer)
  361. Subject: LISP on MAC
  362. Date: 19 Mar 94 00:32:19 GMT
  363. Organization: Georgia Institute of Technology
  364.  
  365.  
  366. Anyone know of a good LISP compiler on Macintosh?
  367. More importantly: a LISP compiler that is going to be released for the
  368. PowerMACs?
  369.  
  370. Does such a thing exist?
  371.  
  372. thanks in advance,
  373. jason
  374.  
  375.  
  376. +++++++++++++++++++++++++++
  377.  
  378. >From Steve Bryan <sbryan@maroon.tc.umn.edu>
  379. Date: Sun, 20 Mar 1994 07:31:08 GMT
  380. Organization: Sexton Software
  381.  
  382. In article <146371@hydra.gatech.EDU> Jason Strayer,
  383. gt7572c@prism.gatech.EDU writes:
  384. >Anyone know of a good LISP compiler on Macintosh?
  385. >More importantly: a LISP compiler that is going to be released for the
  386. >PowerMACs?
  387.  
  388. There's good news and bad news to report. A few years ago someone at
  389. Apple liked a product called Coral Lisp so much that they bought the
  390. company (product, developers, everything) and renamed it Macintosh Common
  391. Lisp. This has been available for a few years as a $500 product from
  392. APDA. It appears to have been rather actively supported by Apple as new
  393. features have been added to system software with regular updates on the
  394. developers' CDs. The bad news (if the $500 price tag wasn't already) is
  395. that Apple appears to have narrowed its focus entirely to C++. The most
  396. recent CD with issue 17 of develop has removed all updates to platforms
  397. other than C++. I also read somewhere else on Usenet that Apple doesn't
  398. have any plans currently to port MCL to the PowerPC.
  399.  
  400. If you don't mind entertaining rumors there is a Lisp like language
  401. called Dylan that appears to have the strong support of Larry Tesler at
  402. Apple that may be coming out yet. The most interesting rumor I read about
  403. it is that Michael Kahl (developer of Lightspeed C, later called Think C,
  404. recently called many other names) is working on the project.
  405. Steve Bryan                  InterNet: sbryan@maroon.tc.umn.edu
  406. Sexton Software            CompuServe: 76545,527
  407. Minneapolis, MN                   Fax: (612) 929-1799
  408.  
  409. +++++++++++++++++++++++++++
  410.  
  411. >From brickle@ccr-p.ida.org (Frank Brickle)
  412. Date: 20 Mar 1994 08:50:51 -0500
  413. Organization: IDA - Center for Communications Research
  414.  
  415. >From article <CMyCtM.333@news.cis.umn.edu>, by Steve Bryan <sbryan@maroon.tc.umn.edu>:
  416. > In article <146371@hydra.gatech.EDU> Jason Strayer,
  417. > gt7572c@prism.gatech.EDU writes:
  418. >>Anyone know of a good LISP compiler on Macintosh?
  419. >>More importantly: a LISP compiler that is going to be released for the
  420. >>PowerMACs?
  421. > ...I also read somewhere else on Usenet that Apple doesn't
  422. > have any plans currently to port MCL to the PowerPC.
  423.  
  424. Not exactly. What you probably read were furious postings *concluding*
  425. (in spite of all public statements on the subject from people at
  426. Apple) that MCL wouldn't be produced in a PPC-native version.
  427.  
  428. +++++++++++++++++++++++++++
  429.  
  430. >From Steven Ritter <sr0o+@andrew.cmu.edu>
  431. Date: Sun, 20 Mar 1994 14:35:45 -0500
  432. Organization: Psychology, Carnegie Mellon, Pittsburgh, PA
  433.  
  434. Excerpts from netnews.comp.sys.mac.programmer: 20-Mar-94 Re: LISP on MAC
  435. by Frank Brickle@ccr-p.ida. 
  436. > From article <CMyCtM.333@news.cis.umn.edu>, by Steve Bryan
  437. <sbryan@maroon.tc.umn
  438. > .edu>:
  439. > > In article <146371@hydra.gatech.EDU> Jason Strayer,
  440. > > gt7572c@prism.gatech.EDU writes:
  441. > >>Anyone know of a good LISP compiler on Macintosh?
  442. > >>More importantly: a LISP compiler that is going to be released for the
  443. > >>PowerMACs?
  444. > > 
  445. > > ...I also read somewhere else on Usenet that Apple doesn't
  446. > > have any plans currently to port MCL to the PowerPC.
  447. > > 
  448. > Not exactly. What you probably read were furious postings *concluding*
  449. > (in spite of all public statements on the subject from people at
  450. > Apple) that MCL wouldn't be produced in a PPC-native version.
  451.  
  452. No, what he read was that Apple will not be producing a PPC-native
  453. version of MCL. Apple is hoping to convince someone else to do the work
  454. for them. This is basically what Rick Fleischman, the MCL product
  455. manager, posted to comp.lang.lisp.mcl.
  456.  
  457. The general feeling is that the potential market for LISP is so small
  458. that no third part could make a profit from MCL, and the fact that the
  459. PowerPC is now out and Apple still hasn't found anyone to commit to
  460. doing the port doesn't inspire much confidence that it'll get done at
  461. all.
  462.  
  463. A surprisingly large percentage of AI researchers use Macintoshes
  464. entirely because of MCL. These are not people who have any loyalty to
  465. the hardware and if MCL doesn't keep up, they'll leave.
  466.  
  467. Steve
  468.  
  469.  
  470. +++++++++++++++++++++++++++
  471.  
  472. >From howard@netcom.com (Howard Berkey)
  473. Date: Sun, 20 Mar 1994 21:51:09 GMT
  474. Organization: Netcom Online Communications Services (408-241-9760 login: guest)
  475.  
  476. In article <4hX_KFG00iV7A2rKhE@andrew.cmu.edu> Steven Ritter <sr0o+@andrew.cmu.edu> writes:
  477. >Excerpts from netnews.comp.sys.mac.programmer: 20-Mar-94 Re: LISP on MAC
  478. >by Frank Brickle@ccr-p.ida. 
  479. >> From article <CMyCtM.333@news.cis.umn.edu>, by Steve Bryan
  480. ><sbryan@maroon.tc.umn
  481. >> .edu>:
  482. >> > In article <146371@hydra.gatech.EDU> Jason Strayer,
  483. >> > gt7572c@prism.gatech.EDU writes:
  484. >> >>Anyone know of a good LISP compiler on Macintosh?
  485. >> >>More importantly: a LISP compiler that is going to be released for the
  486. >> >>PowerMACs?
  487. >> > 
  488. >> > ...I also read somewhere else on Usenet that Apple doesn't
  489. >> > have any plans currently to port MCL to the PowerPC.
  490. >> > 
  491. >> 
  492. >> Not exactly. What you probably read were furious postings *concluding*
  493. >> (in spite of all public statements on the subject from people at
  494. >> Apple) that MCL wouldn't be produced in a PPC-native version.
  495. >
  496. >No, what he read was that Apple will not be producing a PPC-native
  497. >version of MCL. Apple is hoping to convince someone else to do the work
  498. >for them. This is basically what Rick Fleischman, the MCL product
  499. >manager, posted to comp.lang.lisp.mcl.
  500. >
  501. >The general feeling is that the potential market for LISP is so small
  502. >that no third part could make a profit from MCL, and the fact that the
  503. >PowerPC is now out and Apple still hasn't found anyone to commit to
  504. >doing the port doesn't inspire much confidence that it'll get done at
  505. >all.
  506. >[...]
  507.  
  508.  
  509. That will be a true bummer, then.  I know people who swear by MCL,
  510. including one who feels it is the definative PC LISP implementation.
  511. Plus it has (based on my limited experimentation) a very nice editor,
  512. considering how long it's been around.
  513.  
  514. If I had need of a LISP environment, there would be no question of the
  515. one I would buy.  From an aesthetic standpoint, this is nearly as bad as
  516. Symantec not continuing THINK Pascal.  (Though I'm sure others will disagree
  517. :-) 
  518.  
  519. -H-
  520.  
  521.  
  522. -- 
  523. :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  524. Howard Berkey                                             howard@netcom.com   
  525.                             Kill the Wabbit!
  526.  
  527. +++++++++++++++++++++++++++
  528.  
  529. >From brickle@ccr-p.ida.org (Frank Brickle)
  530. Date: 20 Mar 1994 18:24:37 -0500
  531. Organization: IDA - Center for Communications Research
  532.  
  533. >From article <4hX_KFG00iV7A2rKhE@andrew.cmu.edu>, by Steven Ritter <sr0o+@andrew.cmu.edu>:
  534. > No, what he read was that Apple will not be producing a PPC-native
  535. > version of MCL. Apple is hoping to convince someone else to do the work
  536. > for them. This is basically what Rick Fleischman, the MCL product
  537. > manager, posted to comp.lang.lisp.mcl.
  538.  
  539. I believe this is a pessimistic over-reading of Rick Fleischman's
  540. postings.
  541.  
  542. +++++++++++++++++++++++++++
  543.  
  544. >From Malcolm Pradhan <pradhan@camis.stanford.edu>
  545. Date: 21 Mar 1994 18:56:56 GMT
  546. Organization: Section on Medical Informatics, Stanford University
  547.  
  548. In article <2milvl$9a2@snook.ccr-p.ida.org> Frank Brickle,
  549. brickle@ccr-p.ida.org writes:
  550. > From article <4hX_KFG00iV7A2rKhE@andrew.cmu.edu>, by Steven Ritter
  551. > <sr0o+@andrew.cmu.edu>:
  552. > > No, what he read was that Apple will not be producing a PPC-native
  553. > > version of MCL. Apple is hoping to convince someone else to do the
  554. work
  555. > > for them. This is basically what Rick Fleischman, the MCL product
  556. > > manager, posted to comp.lang.lisp.mcl. 
  557. >  I believe this is a pessimistic over-reading of Rick Fleischman's
  558. > postings.
  559.  
  560.  Not really. Fleischman said that further development on MCL would not
  561. happen, implying that no new features would be added to the CommonLisp,
  562. CLOS or interface framework.
  563.  
  564. What he did say was that bug fixes would continue, and they were looking
  565. for a 3rd party to help them port the compiler to PowerPC. The reason
  566. for the pessimistic tone is that Apple have been planning PowerPC for
  567. years, but they have only just started to look at porting MCL. It's
  568. good that they are trying to port at all it but the main reason for
  569. doing so is that some of their internal projects (and one in
  570. particular) use MCL as their compiler. My own hypothesis about the late
  571. decision to port MCL is that it was deemed easier to find a 3rd party
  572. to help with the port than it was to move the ATG project to Dylan.
  573.  
  574.  While MCL shouldn't be Apple's highest priority, I think their attitude
  575. is symptomatic of their general disregard for Macintosh development, as
  576. discussed by John Nagle in another thread.
  577.  
  578.  I like MCL a lot, and if you have a Mac and need a lisp I would
  579. recommend it. But if you are looking for a lisp system with a future
  580. then I could not recommend Mac Common Lisp, despite it being a great
  581. lisp.
  582.  
  583. Interestingly enough, our lab would have purchased a number of 8100's
  584. for Lisp development, and I would have upgraded my Mac straight away if
  585. MCL were available. I'm sure Apple would have sold quite a few high-end
  586. PowerPCs on the basis of the killer combination of the 601 + MCL.
  587.  
  588.  Regards,
  589.  Malcolm
  590.  
  591. ---------------------------
  592.  
  593. >From etxlepi@garbo.ericsson.se (Matti Lepist|)
  594. Subject: MIDI Manager Source Example
  595. Date: Mon, 21 Mar 1994 09:35:15 GMT
  596. Organization: Ericsson Telecom
  597.  
  598. Hello!    :^)
  599.  
  600. Does anyone have a code example of how to use the MIDI manager 
  601. lib functions for mac.
  602.  
  603. I have tried to figure out how to do it by looking att the include file
  604. MIDI.h and got som things working. But when I tried to write a 
  605. readHook and set it to a input port it crashes the MIDI manager when
  606. I connect some output to it that generates MIDI events...
  607.  
  608. /Matti
  609. _________________________________________________________________________
  610.  
  611. Matti Lepisto:                          Phone:             +46 8 719 5160
  612. Design Support                          Fax:               +46 8 719 8531
  613. TN/ETX/TX/DV                MiniCall:          +46 74 44 2403
  614. Ericsson Telecom AB                     E-Mail: etxlepi@garbo.ericsson.se
  615. 126 25 Stockholm, SWEDEN                Memo:             ERI.ETX.ETXLEPI
  616. _________________________________________________________________________
  617.  
  618.  
  619.  
  620.  
  621. +++++++++++++++++++++++++++
  622.  
  623. >From Paul Ferguson <pferguson@aol.com>
  624. Date: 21 Mar 1994 16:40:08 GMT
  625. Organization: Kaleida Labs, Inc.
  626.  
  627. In article <1994Mar21.093515.25570@ericsson.se> Matti Lepist|,
  628. etxlepi@garbo.ericsson.se writes:
  629. > Does anyone have a code example of how to use the MIDI manager 
  630. > lib functions for mac.
  631. >...
  632. > But when I tried to write a readHook and set it to a input
  633. > port it crashes the MIDI manager when I connect some output
  634. > to it that generates MIDI events...
  635.  
  636.  
  637. Take a look at CMIDI, my MIDI Manager class library for THINK's TCL.
  638. It includes a complete example program, Lefty, that you can
  639. examine.  It's available by ftp from daemon.ncsa.uiuc.edu.
  640.  
  641. As for your readHook crashing, here are two possible causes:  not
  642. declaring the readHook as a pascal function (if you are programming
  643. in C), or violating restrictions on interrupt handlers if your
  644. input port is set to process packets during interrupt time.
  645.  
  646. Also, if you are using THINK C, the MIDI.h file shipped with it is
  647. WAY out of date, and is incompatible with CMIDI.
  648.  
  649. If you continue to have difficulties, I suggest getting the MIDI
  650. Manager programmers kit from Apple ($35US).  It contains the latest
  651. headers, detailed documentation, and several example applications
  652. with full source code.
  653.  
  654. --fergy
  655.  
  656. - ------------------------------------------------------------------
  657.   Paul Ferguson         | "It's a sick world, I'm a happy guy..."
  658.   pferguson@kaleida.com |  
  659. - ------------------------------------------------------------------
  660.  
  661. +++++++++++++++++++++++++++
  662.  
  663. >From mwalker@netcom.com (Mel Walker)
  664. Date: Mon, 21 Mar 1994 18:44:01 GMT
  665. Organization: Committee to Elect Dan Quayle Lord of the Cosmos
  666.  
  667. Paul Ferguson (pferguson@aol.com) wrote:
  668. : If you continue to have difficulties, I suggest getting the MIDI
  669. : Manager programmers kit from Apple ($35US).  It contains the latest
  670. : headers, detailed documentation, and several example applications
  671. : with full source code.
  672.  
  673. Is buying the kit the only way to get the MIDI manager? Is it the 
  674. cheapest way?
  675.  
  676. -- 
  677. Mel Walker                                         mwalker@netcom.com
  678. "Natural exuberance is one of those qualities that makes us tigers so 
  679. darn endearing!" -- Hobbes
  680.  
  681. +++++++++++++++++++++++++++
  682.  
  683. >From howard@netcom.com (Howard Berkey)
  684. Date: Mon, 21 Mar 1994 18:58:42 GMT
  685. Organization: Netcom Online Communications Services (408-241-9760 login: guest)
  686.  
  687. In article <mwalkerCn12pE.HvA@netcom.com> mwalker@netcom.com (Mel Walker) writes:
  688. >Paul Ferguson (pferguson@aol.com) wrote:
  689. >: If you continue to have difficulties, I suggest getting the MIDI
  690. >: Manager programmers kit from Apple ($35US).  It contains the latest
  691. >: headers, detailed documentation, and several example applications
  692. >: with full source code.
  693. >
  694. >Is buying the kit the only way to get the MIDI manager? Is it the 
  695. >cheapest way?
  696. >
  697.  
  698. I imagine you can get the Mgr. itself free with various software (I
  699. think Master Tracks Pro 5 came with it), but then you don't get any
  700. docs.
  701.  
  702. Does APDA sell anything CHEAPER than $35?  I seem to remember some
  703. t-shirts and pens in the back of the catalog :-)
  704.  
  705. Seriously, the Midi Mgr. is one of the least-overpriced offerings from
  706. APDA.  You get a pretty bad (IMHO) reference manual, some OK example hacks,
  707. the MIDI mgr, and Patchbay (neat idea).  I haven't looked at in in a
  708. year or so but I remember being more or less immediately able to write a
  709. MIDI-driven graphics applet which would display variously sized and
  710. located rectangles based on incoming MIDI information, so it was at
  711. least SOME help :-)
  712.  
  713.  
  714. -H-
  715.  
  716.  
  717.  
  718.  
  719. -- 
  720. :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  721. Howard Berkey                                             howard@netcom.com   
  722.                             Kill the Wabbit!
  723.  
  724. +++++++++++++++++++++++++++
  725.  
  726. >From Paul Ferguson <pferguson@aol.com>
  727. Date: 21 Mar 1994 19:34:44 GMT
  728. Organization: Kaleida Labs, Inc.
  729.  
  730. In article <mwalkerCn12pE.HvA@netcom.com> Mel Walker,
  731. mwalker@netcom.com writes:
  732. > Is buying the kit the only way to get the MIDI manager? Is it the 
  733. > cheapest way?
  734.  
  735. For whatever reason, Apple has never freely distributed the
  736. MIDI Manager as they do other System software extensions.  
  737. Some MIDI software manufacturers bundle the MIDI Manager
  738. driver and PatchBay software.  
  739.  
  740. For programming, the MIDI Manager developer kit includes the
  741. drivers, PatchBay, programmer's documentation, source code
  742. examples, etc.
  743.  
  744. BTW, the MIDI Manager will probably disappear soon, with its
  745. functionality rolled into QuickTime 2.0.  Apple never really
  746. supported the MIDI Manager very well; I hope that MIDI will
  747. get more "respect" as part of QT.
  748.  
  749. --fergy
  750.  
  751. - ------------------------------------------------------------------
  752.   Paul Ferguson         | "It's a sick world, I'm a happy guy..."
  753.   pferguson@kaleida.com |  
  754. - ------------------------------------------------------------------
  755.  
  756. ---------------------------
  757.  
  758. >From blume@twg.com (David Blume)
  759. Subject: Making a font menu
  760. Date: Sat, 19 Mar 1994 02:26:04 GMT
  761. Organization: Gokuraku Videos - Wollongong Dept.
  762.  
  763. How do you determine which fonts are available in the system software to
  764. add them to a menu?  (Ie., how do you get a valid list of font names or
  765. font numbers for use with GetFontName() or GetFNum()?)
  766.  
  767. Thanks,
  768. --David
  769. +---------------------------------------------------------------+
  770. |  David Blume    |  "I get tired thinking of all the things I  |
  771. |  blume@twg.com  |   don't want to do."  --Bukowski, _Barfly_  |
  772. +---------------------------------------------------------------+
  773.  
  774. +++++++++++++++++++++++++++
  775.  
  776. >From markhanrek@aol.com (MarkHanrek)
  777. Date: 19 Mar 1994 06:17:02 -0500
  778. Organization: America Online, Inc. (1-800-827-6364)
  779.  
  780. I don't remember where I saw the example source code. Probably on the Developer
  781. CD. 
  782.  
  783. But look through the technotes, because I remember reading that we need to be
  784. careful how we do this, because if we do it the obvious way, :), then we will
  785. end up loading all the fonts we have into the system heap and the size of the
  786. system partition will mushroom like you wouldn't believe.
  787.  
  788. The appropriate method was given for doing this, so the technotes may be a
  789. place to look next.  Also, I may have seen something in  d e v e l o p.
  790.  
  791. Hope this helps.
  792.  
  793. Mark Hanrek
  794.  
  795.  
  796. +++++++++++++++++++++++++++
  797.  
  798. >From petm@soda.berkeley.edu (Peter Mattis)
  799. Date: 20 Mar 1994 22:02:47 GMT
  800. Organization: Computer Science Undergrad Assoc., UCBerkeley
  801.  
  802. The way I remember doing this was a simple call like this:
  803.  
  804. AddResMenu(myMenu, 'FONT');
  805.  
  806. (I think 'FONT' is right, but don't quote me on it).
  807.  
  808. This should append all the fonts available in the system to myMenu.
  809. Then when a user selects a font you can find its fontID based on its
  810. location in the menu (since the fonts will be in alphabetical order in
  811. the menu).
  812.  
  813. If this isn't enough, e-mail me and I'll send some C source I have
  814. for making a font menu and selecting a font from it.
  815.  
  816. -Peter Mattis
  817.  
  818. +++++++++++++++++++++++++++
  819.  
  820. >From Doug Eernisse <Doug_Ee@um.cc.umich.edu>
  821. Date: 21 Mar 1994 02:42:13 GMT
  822. Organization: University of Michigan - College of Literature, Science, and TheArts
  823.  
  824. In article <2mih67$qjo@agate.berkeley.edu> 
  825. Peter Mattis, petm@soda.berkeley.edu writes:
  826.  
  827. >AddResMenu(myMenu, 'FONT');
  828. >
  829. >(I think 'FONT' is right, but don't quote me on it).
  830. >
  831. >This should append all the fonts available in the system to myMenu.
  832. >Then when a user selects a font you can find its fontID based on its
  833. >location in the menu (since the fonts will be in alphabetical order in
  834. >the menu).
  835.  
  836. Does anyone have advice on a fairly direct way to only list fonts
  837. that are nonproportional fonts? This is for a special purpose
  838. application where the columns have to line up, so a proportional
  839. font doesn't work properly.
  840.  
  841.  
  842. Doug
  843.  
  844. +++++++++++++++++++++++++++
  845.  
  846. >From kenlong@netcom.com (Ken Long)
  847. Date: Mon, 21 Mar 1994 17:23:49 GMT
  848. Organization: NETCOM On-line Communication Services (408 241-9760 guest)
  849.  
  850. On ftp ftp.cso.uiuc.edu, there ar 24 C "disks" (files) and one of them 
  851. has the source for an Ascii program.  There are actually two ascii 
  852. sources on that ftp - one is for a DA, which I've updated, and added an 
  853. application version and posted on a.s.m.  It merely has the "charts" in 
  854. the source, all laid out in a table, and "DrawStrings" them to the window.
  855.  
  856. But the OTHER one in a regular ascii chart application, and it gets the 
  857. characters from the keymap and puts them in a grid - just like the modern 
  858. ascii chart programs (DA's) do (not as well done, thought).  It's got one 
  859. font menu, and a size menu.  You select a font in the font menu and that 
  860. fontName is now the title of the size menu.
  861.  
  862. This old source does NOT compile and run as-is.  I've got my copy to do 
  863. so and will post it as soon as it runs *right*, but in the mean time you 
  864. could get that source and look at those menu routines and it may help, in 
  865. addition to the fine advice earlier in this thread.
  866.  
  867. Connect to the ftp, then it's "cd mac/MUG", then "get C2.cpt.Hqx".
  868.  
  869. The file is in the SuMac folder.
  870.  
  871. -Ken-
  872.  
  873. +++++++++++++++++++++++++++
  874.  
  875. >From kenlong@netcom.com (Ken Long)
  876. Date: Mon, 21 Mar 1994 17:26:00 GMT
  877. Organization: NETCOM On-line Communication Services (408 241-9760 guest)
  878.  
  879. By the way, there's another old source i've updated to run on Think C 
  880. called "Font Show" which is on a.s.m, and their ftp, which may help.
  881.  
  882. -Ken-
  883.  
  884. +++++++++++++++++++++++++++
  885.  
  886. >From Reid Ellis <rae@alias.com>
  887. Date: Tue, 22 Mar 1994 22:08:31 GMT
  888. Organization: Alias Research, Inc., Toronto ON Canada
  889.  
  890. Peter Mattis <petm@soda.berkeley.edu> writes:
  891. |AddResMenu(myMenu, 'FONT');
  892. |
  893. |This should append all the fonts available in the system to myMenu.
  894. |Then when a user selects a font you can find its fontID based on its
  895. |location in the menu (since the fonts will be in alphabetical order in
  896. |the menu).
  897.  
  898. Well, close.  You find its font id by calling GetFNum() on the string
  899. in the menu item selected by the user, not by its position in the
  900. menu.
  901.  
  902. If you want a subset, like proportional fonts or PostScript fonts, you
  903. have to walk the menu, deleting any items that don't match your
  904. requirements.
  905.  
  906. Reid
  907.  
  908. P.S.  How about AddResMenu(menu, 'FOND')?
  909. --
  910. - -
  911. Reid Ellis, Alias Research Inc.
  912. +1 416 362 9181 <rae@Alias.com>
  913.  
  914. ---------------------------
  915.  
  916. >From blob@apple.com (Brian Bechtel)
  917. Subject: MoreFiles 1.1.1 - example file manager code
  918. Date: 22 Mar 1994 07:37:32 -0800
  919. Organization: Apple Computer, Inc., Cupertino, California
  920.  
  921. MoreFiles 1.1.1 is available for anonymous ftp from the site
  922. ftp.apple.com (130.43.2.3) in the path:
  923.   /dts/mac/sc/morefiles1.1.1.hqx
  924. I take it this would be a URL of
  925.   ftp://ftp.apple.com/dts/mac/sc/morefiles1.1.1.hqx
  926.  
  927. MoreFiles, by Jim Luther of DTS, is sample code showing how to do most
  928. of the things people ask about doing with the Macintosh file manager.
  929. In my opinion, it's very well written and valuable code.
  930.  
  931. --Brian Bechtel     blob@apple.com     "My opinion, not Apple's"
  932.  
  933. ---------------------------
  934.  
  935. >From vcan@cs.uml.edu (Volkan Can)
  936. Subject: NewGWorld - please help!
  937. Date: 20 Mar 1994 15:10:25 GMT
  938. Organization: UMass-Lowell Computer Science
  939.  
  940. Hello, I'm trying to make a program I'm writing, draw to an offscreen gworld..
  941. for the life of me, I can't figure out what I am doing wrong..
  942.  
  943. when I use copybits to copy the data from the from the offscreen gworld to my
  944. window, I get garbage in my window...
  945.  
  946. I drew a line offscreen and it was there but I also got a lot of other garbage.
  947. (After te copybits that is)
  948. Is some other application writing to this offscreen memory?
  949.  
  950. Can someone explain to me when and where I should use the keeplocal and/or no
  951. new device or even the purge? flag with NewGWorld?
  952.  
  953. please help..
  954.  
  955. also, I am setting the size of the gworld to the size of my window
  956. and the orig and dest rect's in copy bits are the same (same size as window)
  957.  
  958. please leave email to me..
  959. vc
  960.  
  961.  
  962.  
  963. +++++++++++++++++++++++++++
  964.  
  965. >From alex@metcalf.demon.co.uk (Alex Metcalf)
  966. Date: Sun, 20 Mar 1994 17:06:09 GMT
  967. Organization: Demon Internet
  968.  
  969. In article <2mhp11$626@ulowell.uml.edu>, vcan@cs.uml.edu (Volkan Can)
  970. wrote:
  971.  
  972. > Hello, I'm trying to make a program I'm writing, draw to an offscreen gworld..
  973. > for the life of me, I can't figure out what I am doing wrong..
  974. >  
  975. > when I use copybits to copy the data from the from the offscreen gworld to my
  976. > window, I get garbage in my window...
  977.  
  978.      Usually the problem is that people don't send dereference the GWorld
  979. correctly. Here's an example of the sort of call you want to use:
  980.  
  981. CopyBits ((BitMap *) *myGWorld, (BitMap *) &gGameWindow->portPixMap,
  982.      &myRect, &myRect, srcCopy, nil);
  983.  
  984.      Notice the dereference of the world, and sending the pointer of the
  985. window's pixmap.
  986.  
  987. > Can someone explain to me when and where I should use the keeplocal and/or no
  988. > new device or even the purge? flag with NewGWorld?
  989.  
  990.      Don't bother using the keeplocal thing, and setting it to purge just
  991. causes extra work for you. The "no new device" option removes the problems
  992. with matching colour tables. Best thing to do is read Inside Mac 6: it's
  993. called something like the "Graphics Devices" chapter. At least, it's the
  994. one before the Sound Chapter.
  995.  
  996.      Hope this helps,
  997.  
  998.  
  999.      Alex
  1000.  
  1001. +++++++++++++++++++++++++++
  1002.  
  1003. >From scottsquir@aol.com (ScottSquir)
  1004. Date: 21 Mar 1994 01:42:04 -0500
  1005. Organization: America Online, Inc. (1-800-827-6364)
  1006.  
  1007. (Volkan Can) writes:
  1008. >when I use copybits to copy the data from the from the offscreen gworld to >my
  1009. window, I get garbage in my window...
  1010.  
  1011. >I drew a line offscreen and it was there but I also got a lot of other
  1012. >garbage.
  1013. >(After te copybits that is)
  1014. >Is some other application writing to this offscreen memory?
  1015.  
  1016. Make sure you erase your GWorld first.  Just use EraseRect(&theRect) before
  1017. actually drawing to the GWorld.   The GWorld is just memory and NewGWorld
  1018. doesn't do anything except allocate it and setup the structures.
  1019. -scott
  1020.  
  1021.  
  1022. +++++++++++++++++++++++++++
  1023.  
  1024. >From markhanrek@aol.com (MarkHanrek)
  1025. Date: 21 Mar 1994 12:36:03 -0500
  1026. Organization: America Online, Inc. (1-800-827-6364)
  1027.  
  1028. Because todays information management is still primitive, we are lead to
  1029. believe that all we need to do is use the NewGWorld call and we're ready to go.
  1030. I did.
  1031.  
  1032. But here is the basic NewGWorld routine I have come to use, which does all the
  1033. required things that we learn about as we go along. Hopefully this will save
  1034. you and others from a lot of wasted time.
  1035.  
  1036. Hope this helps.
  1037.  
  1038. Mark Hanrek
  1039.  
  1040. - ----------------------------------------------------------------
  1041.  
  1042. Notes:
  1043.  
  1044. The statements marked with //** are the important ones that we
  1045. find out the hard way are the additional things we must do 
  1046. before we consider a GWorld fully prepared.
  1047.  
  1048. The "tryTempMem" parameter allows you to easily specify if its
  1049. okay for the routine to try to allocate the GWorld in MultiFinder
  1050. temporary memory.  This is handy, for example, when allocating an
  1051. intermediate GWorld for dithering from 32-bit to 8-bit color, which
  1052. is only needed momentarily and will be gone before the user gets
  1053. back control.  Once allocated, work with it and dispose of it 
  1054. normally.  
  1055.  
  1056. You could change the behavior of this parameter to force using 
  1057. temporary memory in the first place, and backing off to application 
  1058. memory, an improvement I just realized would be nice as I sit here 
  1059. typing this. :)
  1060.  
  1061. When you read in pictures destined for a GWorld, get the picture's
  1062. colors first, and then feed the color table to this routine when
  1063. creating its GWorld, then draw the picture into the GWorld.
  1064.  
  1065. Feel free to redesign the parameters and convenience features of
  1066. this routine to suit your taste. The important thing is that our
  1067. GWorlds must be clipped, erased, and have their coloring set
  1068. straight before we continue on our way.
  1069.  
  1070.  
  1071. //****************************************************************
  1072.  
  1073. OSErr CreateNewGWorld( Rect *theRect, short theDepth, 
  1074.              CTabHandle theColors, GWorldPtr *theGWorld, Boolean tryTempMem )
  1075. {
  1076.   CGrafPtr    previousGW;
  1077.   GDHandle    previousGD;
  1078.   QDErr       err;
  1079.   GWorldFlags theFlags;
  1080.   RGBColor    rgbOpColor = { 0x8000, 0x8000, 0x8000 };
  1081.   RGBColor    rgbBlack   = { 0x0000, 0x0000, 0x0000 };
  1082.   RGBColor    rgbWhite   = { 0xFFFF, 0xFFFF, 0xFFFF };
  1083.  
  1084.   GetGWorld( &previousGW, &previousGD );
  1085.  
  1086.   if (( err = NewGWorld( theGWorld, theDepth, theRect, theColors, nil, 0L )) !=
  1087. noErr)
  1088.     if ( tryTempMem == true ) {
  1089.       if (( err = NewGWorld( theGWorld, theDepth, theRect, theColors, nil,
  1090. useTempMem)) != noErr)
  1091.         return( err );
  1092.     } else
  1093.         return( err );
  1094.    
  1095.   SetGWorld( *theGWorld, nil );
  1096.  
  1097.   ClipRect( &(**theGWorld).portRect ); //**
  1098.  
  1099.   if ( LockPixels( GetGWorldPixMap( *theGWorld )))
  1100.   {
  1101.     RGBForeColor( &rgbBlack );    //**
  1102.     RGBBackColor( &rgbWhite );    //**
  1103.     OpColor( &rgbOpColor );       //**
  1104.   
  1105.     EraseRect( &(**theGWorld).portRect );
  1106.   
  1107.     UnlockPixels( GetGWorldPixMap( *theGWorld ));
  1108.   }
  1109.  
  1110.   SetGWorld( previousGW, previousGD );
  1111.   return( err );
  1112. }
  1113.  
  1114.  
  1115. ---------------------------
  1116.  
  1117. >From lipa@camis.Stanford.EDU (Bill Lipa)
  1118. Subject: Thread Manager 2.0
  1119. Date: 21 Mar 1994 06:29:24 GMT
  1120. Organization: Center for Advanced Medical Informatics at Stanford
  1121.  
  1122.  
  1123. The PowerMac compatible version of the Thread Manager is included in the
  1124. April developer mailing. Upon reading the documentation, I was surprised
  1125. to find out that preemptive threads are not supported on PowerMacs. Does
  1126. this really mean that any program that uses preemptive threads is not
  1127. portable to the new machines?
  1128.  
  1129. I wonder why they had to make this change.
  1130.  
  1131. Bill Lipa
  1132. lipa@camis.stanford.edu
  1133.  
  1134.  
  1135. +++++++++++++++++++++++++++
  1136.  
  1137. >From leonardr@netcom.com (Leonard Rosenthol)
  1138. Date: Mon, 21 Mar 1994 21:03:15 GMT
  1139. Organization: Aladdin Systems, Inc.
  1140.  
  1141. In article <2mjes4$md4@morrow.stanford.edu>, lipa@camis.Stanford.EDU (Bill
  1142. Lipa) wrote:
  1143.  
  1144. > The PowerMac compatible version of the Thread Manager is included in the
  1145. > April developer mailing. Upon reading the documentation, I was surprised
  1146. > to find out that preemptive threads are not supported on PowerMacs. Does
  1147. > this really mean that any program that uses preemptive threads is not
  1148. > portable to the new machines?
  1149. > I wonder why they had to make this change.
  1150.    It has to do with the way the 68000 interrupt system works on the
  1151. PowerMac.  There is not a multi-level interrupt scheme, as I understand
  1152. it, so they can't easily schedule the interrupts they way they do on the
  1153. 68K.
  1154.  
  1155. Leonard
  1156. - ------------------------------------------------------------------------
  1157. Leonard Rosenthol                      Internet:       leonardr@netcom.com
  1158. Director of Advanced Technology        AppleLink:      MACgician
  1159. Aladdin Systems, Inc.                  GEnie:          MACgician
  1160.  
  1161. ---------------------------
  1162.  
  1163. End of C.S.M.P. Digest
  1164. **********************
  1165.  
  1166.  
  1167.