home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Mac Game Programming Gurus / TricksOfTheMacGameProgrammingGurus.iso / Information / CSMP Digest / volume 1 / csmp-v1-141.txt < prev    next >
Encoding:
Text File  |  1994-12-08  |  35.7 KB  |  935 lines  |  [TEXT/R*ch]

  1. C.S.M.P. Digest             Mon, 13 Jul 92       Volume 1 : Issue 141
  2.  
  3. Today's Topics:
  4.  
  5.     Dynamic Runtime Method Dispatch
  6.     Function or Procedure Type
  7.     Audio CD File Format
  8.  
  9.  
  10.  
  11. The Comp.Sys.Mac.Programmer Digest is moderated by Michael A. Kelly.
  12.  
  13. The digest is a collection of article threads from the internet newsgroup
  14. comp.sys.mac.programmer.  It is designed for people who read c.s.m.p. semi-
  15. regularly and want an archive of the discussions.  If you don't know what a
  16. newsgroup is, you probably don't have access to it.  Ask your systems
  17. administrator(s) for details.  (This means you can't post questions to the
  18. digest.)
  19.  
  20. Each issue of the digest contains one or more sets of articles (called
  21. threads), with each set corresponding to a 'discussion' of a particular
  22. subject.  The articles are not edited; all articles included in this digest
  23. are in their original posted form (as received by our news server at
  24. cs.uoregon.edu).  Article threads are not added to the digest until the last
  25. article added to the thread is at least one month old (this is to ensure that
  26. the thread is dead before adding it to the digest).  Article threads that
  27. consist of only one message are generally not included in the digest.
  28.  
  29. The entire digest is available for anonymous ftp from ftp.cs.uoregon.edu
  30. [128.223.8.8] in the directory /pub/mac/csmp-digest.  The most recent issues
  31. are available from sumex-aim.stanford.edu [36.44.0.6] in the directory
  32. /info-mac/digest/csmp.  If you don't have ftp capability, the sumex archive
  33. has a mail server; send a message with the text '$MACarch help' (no quotes)
  34. to LISTSERV@ricevm1.rice.edu for more information.
  35.  
  36. These digest is also available via email.  Just send a note saying that you
  37. want to be on the digest mailing list to mkelly@cs.uoregon.edu, and you will
  38. automatically receive each new issue as it is created.  Sorry, back issues
  39. are not available through the mailing list.
  40.  
  41. Send administrative mail to mkelly@cs.uoregon.edu.
  42.  
  43.  
  44. -------------------------------------------------------
  45.  
  46. From: orpheus@reed.edu (P. Hawthorne)
  47. Subject: Dynamic Runtime Method Dispatch
  48. Date: 11 Jun 92 05:53:37 GMT
  49. Organization: Reed College, Portland, Oregon
  50.  
  51.  
  52.   P. Hawthorne wonders:
  53. : What good is inheritance without dynamic runtime method dispatch?
  54.  
  55.   Larry Rosenstein answers:
  56. : What Kent is referring to is the ability to send any message to any object.
  57. : The price for this flexibility is that the message might not be
  58. : understood by the object, and that the dispatching is a bit slower.
  59.  
  60.   Objective C has apparently adequately addressed both concerns. From
  61. playing fly on the wall in NeXT groups, it sounds to me like there is a
  62. means of determining whether or not a given object understands a given
  63. message, a default method is called when an object is sent a message that
  64. it does not understand, and there are only eight instructions for a method
  65. call. However, I am guessing that the size of their dispatch table can get
  66. pretty big fast.
  67.  
  68.   Perhaps my intent was not expressed clearly enough. My point was that
  69. inheritance is not nearly as useful without runtime dispatch. A case could
  70. be made that without runtime dispatch, classes become mere placeholders for
  71. code, rather than a functional model of an adaptive system.
  72.  
  73.   While inheritance permits one to specialize a class in a descendant
  74. class, runtime dispatch permits that class to subsume roles nominally
  75. assigned to the superclass, whenever and wherever circumstances dictate.
  76.  
  77.   For instance, suppose you have a class for a graph, a subclass for an
  78. adjacency matrix representation and another subclass for an adjacency list
  79. representation. Suppose further that the graph tends to become sparse or
  80. dense as the application runs, making one representation more suited than
  81. the other. Without runtime dispatch, the object could not adapt, and the
  82. resource bounds for methods could be exponential rather than linear.
  83.  
  84.   Theus (orpheus@reed.edu)
  85.  
  86. +++++++++++++++++++++++++++
  87.  
  88. From: lsr@taligent.com (Larry Rosenstein)
  89. Date: 11 Jun 92 17:50:05 GMT
  90. Organization: Taligent, Inc.
  91.  
  92. In article <1992Jun11.055337.11996@reed.edu>, orpheus@reed.edu (P. Hawthorne)
  93. writes:
  94. >   Objective C has apparently adequately addressed both concerns. From
  95. > playing fly on the wall in NeXT groups, it sounds to me like there is a
  96. > means of determining whether or not a given object understands a given
  97. > message, a default method is called when an object is sent a message that
  98. > it does not understand, and there are only eight instructions for a method
  99.  
  100. I don't know about the number of instructions, but the other stuff is true. 
  101. (I'm skeptical that it's as low as 8 in the general case, and I'd be interested
  102. to hear an outline of the exact algorithm.)  In addition, you have the option in
  103. Objective C of using typed objects, which improves dispatching performance at
  104. the cost of less flexibility (I think).
  105.  
  106. >   For instance, suppose you have a class for a graph, a subclass for an
  107. > adjacency matrix representation and another subclass for an adjacency list
  108. > representation. Suppose further that the graph tends to become sparse or
  109. > dense as the application runs, making one representation more suited than
  110. > the other. Without runtime dispatch, the object could not adapt, and the
  111.  
  112. There's no reason why you can't do this in C++.  The graph object can delegate
  113. to the appropriate implementation object and change its implementation
  114. dynamically.  I don't see how the dispatching features of Objective C or
  115. Smalltalk would make this any easier.
  116. - --
  117. Larry Rosenstein
  118. Taligent, Inc.
  119. lsr@taligent.com
  120.  
  121.  
  122. ---------------------------
  123.  
  124. From: dubreuil@cert.fr (Christophe Dubreuil)
  125. Subject: Function or Procedure Type
  126. Date: 11 Jun 92 09:18:47 GMT
  127. Organization: CERT, CS Dpt. Toulouse, France
  128.  
  129.  
  130. A novice question about Macintosh Pascals (Think and MPW) :
  131.  
  132.  "Is it possible to pass function, procedure, or methods)
  133.   as a parameter in a procedure, function, or method
  134.   call. And moreover to memoruize it inside a variable
  135.   to recall it later.
  136.  
  137.   example: 
  138.  
  139.     TSequenceableCollection : Object(Collection)
  140.         data : ....
  141.         order : function (a,b):Boolean
  142.     end;
  143.     
  144.     I want to be able to initialize order with any 
  145.     function, or methods returning a boolean. And
  146.     to be able to call it when I want to insert
  147.     elements in data.
  148.  "
  149.  
  150. Any Hints ???
  151.  
  152. Christophe Dubreuil
  153.  
  154. dubreuil@tls-cs.cert.fr
  155.  
  156. +++++++++++++++++++++++++++
  157.  
  158. From: ldo@waikato.ac.nz (Lawrence D'Oliveiro, Waikato University)
  159. Date: 12 Jun 92 18:08:44 +1200
  160. Organization: University of Waikato, Hamilton, New Zealand
  161.  
  162. In article <267@tls-cs.cert.fr>, dubreuil@cert.fr (Christophe Dubreuil) writes:
  163.  
  164. > A novice question about Macintosh Pascals (Think and MPW) :
  165. And a minute's silence for TML, everybody. :-)
  166.  
  167. >  "Is it possible to pass function, procedure, or methods)
  168. >   as a parameter in a procedure, function, or method
  169. >   call. And moreover to memoruize it inside a variable
  170. >   to recall it later.
  171.  
  172. Standard Pascal includes the ability to pass a routine (procedure or function)
  173. as an argument to a routine. However, there are no procedure or function
  174. types in Pascal as such, so you can't save such routines in a variable.
  175. You'll find the details about passing routines as arguments somewhere in
  176. your language manual; I can't remember them offhand, and frankly I can't
  177. be bothered with them, as I prefer the following--admittedly more dangerous--
  178. but much more flexible, technique: namely, get the address of the routine
  179. with the "@" prefix operator, pass it around as a value of type ProcPtr
  180. (which you can save in a variable if you want), and invoke it via an inline.
  181.  
  182. Example: a generic sort procedure which will operate on any kind of data
  183. (whether in memory or on disk), and sort it according to any ordering
  184. you specify. When you call it, you pass it a function for comparing two
  185. records, and a procedure that does the actual record swapping. The sort
  186. procedure itself refers to the records only by their index number; it leaves
  187. all the actual data accesses to your action routines.
  188.  
  189. The interface to the sort procedure looks like this:
  190.  
  191.     Type
  192.     ComesBeforeProc = { does First come before Second in the sorted list }
  193.       { Function
  194.           (
  195.         First : Longint;
  196.         Second : Longint;
  197.         Arg : Ptr
  198.           ) : Boolean }
  199.         ProcPtr;
  200.     SwapProc = { swaps the elements identified by First and Second }
  201.       { Procedure
  202.           (
  203.         First : Longint;
  204.         Second : Longint;
  205.         Arg : Ptr
  206.           ) }
  207.         ProcPtr;
  208.  
  209.     Procedure Sort
  210.       (
  211.     NrElements : Longint;
  212.     ComesBefore : ComesBeforeProc;
  213.     ComesBeforeArg : Ptr;
  214.     Swap : SwapProc;
  215.     SwapArg : Ptr
  216.       );
  217.  
  218. ComesBeforeArg is an extra argument passed on every call to the
  219. ComesBeforeProc, and similarly SwapArg with the SwapProc; the meanings
  220. of these additional arguments is up to the caller.
  221.  
  222. Within the Sort routine, you would invoke these action routines with the
  223. help of the following inlines:
  224.  
  225.     Function CallComesBefore
  226.       (
  227.         First : Longint;
  228.         Second : Longint;
  229.         Arg : Ptr;
  230.         ComesBefore : ComesBeforeProc
  231.       ) : Boolean;
  232.  
  233.         Inline
  234.         $205F,    { move.l (sp)+, a0 }
  235.         $4E90;    { jsr (a0) }
  236.  
  237.     Procedure CallSwap
  238.       (
  239.         First : Longint;
  240.         Second : Longint;
  241.         Arg : Ptr;
  242.         Swap : SwapProc
  243.       );
  244.  
  245.         Inline
  246.         $205F,    { move.l (sp)+, a0 }
  247.         $4E90;    { jsr (a0) }
  248.  
  249. Note that in every case, the argument list is identical to that you want
  250. to pass to the routine, with the routine address added as an extra argument
  251. at the end. The actual inline code itself is always the same (after many
  252. years of programming in Pascal on the Mac, it's been burned into my brain!).
  253.  
  254. Here's the body of the Sort routine (it's a Shellsort algorithm, by the way):
  255.  
  256.      Begin {Sort}
  257.     i := 1;
  258.     While i < NrElements do
  259.         i := i + i;
  260.     m := bsr(i - 1, 1);
  261.     While m > 0 do
  262.       Begin
  263.         k := NrElements - m;
  264.         For j := 1 to k do
  265.           Begin
  266.         i := j;
  267.         Repeat {until left}
  268.             l := i + m;
  269.             If CallComesBefore(i, l, ComesBeforeArg, ComesBefore) then
  270.             Leave;
  271.             CallSwap(i, l, SwapArg, Swap);
  272.             If i <= m then
  273.             Leave;
  274.             i := i - m
  275.         Until
  276.             false
  277.           End {For};
  278.         m := bsr(m, 1)
  279.       End {While}
  280.       End {Sort};
  281.  
  282. And finally, here's a very quick example of how to use it:
  283.  
  284.     Const
  285.     MyNrElements = 100;
  286.     Var
  287.     MyArray : array [1 .. MyNrElements] of integer;
  288.  
  289.     Function MyCompare
  290.       (
  291.            First, Second : Longint;
  292.     Unused : Ptr
  293.       ) : Boolean;
  294.  
  295.       Begin
  296.     MyArray[First] < MyArray[Second] { change "<" to ">" to sort in reverse order }
  297.       End {MyCompare};
  298.  
  299.     Procedure MySwap
  300.       (
  301.            First, Second : Longint;
  302.     Unused : Ptr
  303.       );
  304.  
  305.     Var
  306.         Temp : integer;
  307.  
  308.       Begin
  309.     Temp := MyArray[First];
  310.     MyArray[First] := MyArray[Second];
  311.     MyArray[Second] := Temp
  312.       End {MySwap};
  313.  
  314. ...
  315.  
  316.   { the actual call: }
  317.     Sort
  318.       (
  319.     {NrElements :=} MyNrElements,
  320.     {ComesBefore :=} @MyCompare,
  321.     {ComesBeforeArg :=} Nil,
  322.     {Swap :=} @MySwap,
  323.     {SwapArg :=} Nil
  324.       )
  325.  
  326. The biggest problem with this technique is that it's not typesafe; there's
  327. nothing to prevent you from calling a routine that requires one sort of
  328. argument list with an argument list of completely the wrong type.
  329.  
  330. Another thing you can do, of course, if you don't want to give up the
  331. typesafeness of Pascal, is switch to Modula-2. :-)
  332.  
  333. Lawrence D'Oliveiro                       fone: +64-7-856-2889
  334. Computer Services Dept                     fax: +64-7-838-4066
  335. University of Waikato            electric mail: ldo@waikato.ac.nz
  336. Hamilton, New Zealand    37^ 47' 26" S, 175^ 19' 7" E, GMT+12:00
  337.  
  338. ---------------------------
  339.  
  340. From: aep@world.std.com (Andrew E Page)
  341. Subject: Audio CD File Format
  342. Date: 13 May 92 14:36:43 GMT
  343. Organization: The World Public Access UNIX, Brookline, MA
  344.  
  345.  
  346.     With a CD-ROM drive it is possible to insert an Audio CD and
  347. have the 'tracks' come up as files.  I'm looking at doing some signal
  348. processing experiments with audio and would like to make use of some
  349. of these files as sample data.  Can anyone point me to a document that
  350. will specify what kind of format the audio data in these files is in?
  351.  
  352. - -- 
  353. Andrew E. Page CTO(Warrior Poet)|   Decision and Effort The Archer and Arrow
  354. DSP Ironworks                   |     The difference between what we are
  355. Macintosh and DSP Technology    |           and what we want to be.
  356.  
  357. +++++++++++++++++++++++++++
  358.  
  359. From: rowlands@ra.ti.com (Jon Rowlands)
  360. Organization: Texas Instruments, SPDC, DSP Technology Branch, Dallas
  361. Date: Wed, 13 May 1992 17:46:41 GMT
  362.  
  363. In article <Bo71x8.FB6@world.std.com>, aep@world.std.com (Andrew E Page)
  364. writes:
  365. |>     With a CD-ROM drive it is possible to insert an Audio CD and
  366. |> have the 'tracks' come up as files.  I'm looking at doing some signal
  367. |> processing experiments with audio and would like to make use of some
  368. |> of these files as sample data.  Can anyone point me to a document that
  369. |> will specify what kind of format the audio data in these files is in?
  370.  
  371. I asked a similar question a while back in the cdrom newsgroup. The
  372. short answer is that nearly all CD-ROM drives specifically prevent
  373. reading the audio samples on a normal CD in digital format, for
  374. copyright reasons. You can only access the catalog information.
  375.  
  376. The only known exception to this is the CD-ROM drive in the Silicon
  377. Graphics 'Indigo' machine, which does allow access to the sample
  378. data.
  379.  
  380. Jon
  381. - -- 
  382. Jon Rowlands            email: rowlands@csc.ti.com
  383. Texas Instruments        phone: 1-214-995-3436
  384. SPDC, DSP Technology Branch      fax: 1-214-995-0304
  385.  
  386. +++++++++++++++++++++++++++
  387.  
  388. From: ldo@waikato.ac.nz (Lawrence D'Oliveiro, Waikato University)
  389. Date: 14 May 92 14:54:22 +1200
  390. Organization: University of Waikato, Hamilton, New Zealand
  391.  
  392. In article <Bo71x8.FB6@world.std.com>, aep@world.std.com (Andrew E Page) writes:
  393. >
  394. >     With a CD-ROM drive it is possible to insert an Audio CD and
  395. > have the 'tracks' come up as files.  I'm looking at doing some signal
  396. > processing experiments with audio and would like to make use of some
  397. > of these files as sample data.  Can anyone point me to a document that
  398. > will specify what kind of format the audio data in these files is in?
  399.  
  400. Unfortunately, those files are nothing more than "dummies"--they don't
  401. contain any data at all! I recall seeing a utility from Apple that,
  402. when you asked it to open one of those files, would send the appropriate
  403. control commands to the CD drive to play the corresponding audio track.
  404. That's all those files are for.
  405.  
  406. Lawrence D'Oliveiro                       fone: +64-7-856-2889
  407. Computer Services Dept                     fax: +64-7-838-4066
  408. University of Waikato            electric mail: ldo@waikato.ac.nz
  409. Hamilton, New Zealand    37^ 47' 26" S, 175^ 19' 7" E, GMT+13:00
  410.  
  411. +++++++++++++++++++++++++++
  412.  
  413. From: weymouth@spline.engin.umich.edu (Terry Weymouth)
  414. Date: 20 May 92 14:16:46 GMT
  415. Organization: University of Michigan Engineering, Ann Arbor
  416.  
  417.  
  418. >aep@world.std.com (Andrew E Page) writes:
  419. >|> I'm looking at doing some signal processing experiments...
  420. >rowlands@ra (Jon Rowlands) replies:
  421. >...You can only access the catalog information.
  422.  
  423. How about playing the CD into a digitizer (as in MacRecorder). Has anyone
  424. tried this (and lived to tell)?
  425.  
  426. +++++++++++++++++++++++++++
  427.  
  428. From: REEKES@applelink.apple.com (Jim Reekes)
  429. Date: 22 May 92 02:57:28 GMT
  430. Organization: Apple Computer, Inc.
  431.  
  432. In article <0f5+d##@engin.umich.edu>, weymouth@spline.engin.umich.edu (Terry Weymouth) writes:
  433. > >aep@world.std.com (Andrew E Page) writes:
  434. > >|> I'm looking at doing some signal processing experiments...
  435. > >rowlands@ra (Jon Rowlands) replies:
  436. > >...You can only access the catalog information.
  437. > How about playing the CD into a digitizer (as in MacRecorder). Has anyone
  438. > tried this (and lived to tell)?
  439.  
  440. All the time.  In fact every Mac that has built-in sound input hardware
  441. comes with a cable attachment to do exactly what you're asking about.  Theres
  442. a mini phono plug that goes to a pair of RCA female jacks.  This is also
  443. an impedence matcher for the signals that come out of the CD ROM player.
  444.  
  445. Just use the adapter to plug into the input jack of the back of the Mac,
  446. and then use a pair of stereo cables to go from the back of the CD player
  447. into the adapter.  Also, if you're using a 3rd party digitizer such as the
  448. MacRecorder it has a line input.  Use a RCA to mini phono cable which will
  449. also combined the stereo signals into mono.
  450.  
  451. - -----------------------------------------------------------------------
  452. Jim Reekes, Polterzeitgeist  |     Macintosh Toolbox Engineering
  453.                              |          Sound Manager Expert
  454. Apple Computer, Inc.         | "All opinions expressed are mine, and do
  455. 20525 Mariani Ave. MS: 81-KS |   not necessarily represent those of my
  456. Cupertino, CA 95014          |       employer, Apple Computer Inc."
  457.  
  458. +++++++++++++++++++++++++++
  459.  
  460. From: mxmora@unix.SRI.COM (Matt Mora)
  461. Date: 27 May 92 15:24:11 GMT
  462. Organization: SRI International, Menlo Park, California
  463.  
  464. In article <25509@goofy.Apple.COM> REEKES@applelink.apple.com (Jim Reekes) writes:
  465.  
  466. >Just use the adapter to plug into the input jack of the back of the Mac,
  467. >and then use a pair of stereo cables to go from the back of the CD player
  468. >into the adapter.  Also, if you're using a 3rd party digitizer such as the
  469. >MacRecorder it has a line input.  Use a RCA to mini phono cable which will
  470. >also combined the stereo signals into mono.
  471.  
  472. Whenever the new sound manager is finished, will we then be able to read in
  473. the audio cd data directly since the new sound manager will support 16 bit
  474. audio? "Damn it, Jim!" (using my best Dr. McCoy voice) I'm sure its a simple
  475. hack you can throw in over a weekend. :-) Actually you probably already did
  476. it. 
  477.  
  478.  I want my "MacCD!"
  479.  
  480. Matt
  481.  
  482.  
  483.  
  484. - -- 
  485. ___________________________________________________________
  486. Matthew Mora                |   my Mac  Matt_Mora@sri.com
  487. SRI International           |  my unix  mxmora@unix.sri.com
  488. ___________________________________________________________
  489.  
  490. +++++++++++++++++++++++++++
  491.  
  492. From: amanda@visix.com (Amanda Walker)
  493. Date: 2 Jun 92 18:18:44 GMT
  494. Organization: Visix Software Inc., Reston, VA
  495.  
  496. mxmora@unix.SRI.COM (Matt Mora) writes:
  497. > Whenever the new sound manager is finished, will we then be able to read in
  498. > the audio cd data directly since the new sound manager will support 16 bit
  499. > audio?
  500.  
  501. No.  The problem is not the sound manager.
  502.  
  503. THE PROBLEM IS THE CD DRIVE.  The *only* CD-ROM drive I know of which will
  504. deliver raw digital audio data over the SCSI bus is the one shipped by Silicon
  505. Graphics.  It is a Toshiba drive with custom ROM code which was developed by
  506. Toshiba for SGI.  I understand that Toshiba is allowed to sell the audio data
  507. support to third parties, but I do not think that they have done so yet.
  508.  
  509. If someone is keep a FAQ list, this should go into it.
  510.  
  511. Amanda Walker                        amanda@visix.com
  512. Visix Software Inc.                     +1 800 832 8668
  513. - -- 
  514. "It is impossible for human nature to believe that money is not there. It seems
  515.  so much more likely that the money is there and only needs bawling for."
  516.         --Dorothy L. Sayers, _Busman's Honeymoon_
  517.  
  518. +++++++++++++++++++++++++++
  519.  
  520. From: ivanski@world.std.com (Ivan M CaveroBelaunde)
  521. Organization: The World Public Access UNIX, Brookline, MA
  522. Date: Wed, 3 Jun 1992 15:24:00 GMT
  523.  
  524. amanda@visix.com (Amanda Walker) writes:
  525.  
  526. >mxmora@unix.SRI.COM (Matt Mora) writes:
  527. >> Whenever the new sound manager is finished, will we then be able to read in
  528. >> the audio cd data directly since the new sound manager will support 16 bit
  529. >> audio?
  530. >THE PROBLEM IS THE CD DRIVE.  The *only* CD-ROM drive I know of which will
  531. >deliver raw digital audio data over the SCSI bus is the one shipped by Silicon
  532. >Graphics.  It is a Toshiba drive with custom ROM code which was developed by
  533. >Toshiba for SGI.  I understand that Toshiba is allowed to sell the audio data
  534. >support to third parties, but I do not think that they have done so yet.
  535.  
  536. What should be possible (now) is to take the optical digital out available
  537. on many consumer-level CD players and read the raw digital data. The bandwidth
  538. required (~170k/sec) is such that it'd probably have to be a Nubus or SCSI
  539. device that does the "digitizing" (I know LocalTalk does 230k/sec out of the
  540. serial port, but it hogs the machine to a large extent, and we'd like to be
  541. able to write the data to disk as we go, too). Has anyone heard of someone
  542. working on a device like this?
  543.  
  544. +++++++++++++++++++++++++++
  545.  
  546. From: mxmora@unix.SRI.COM (Matt Mora)
  547. Date: 3 Jun 92 15:36:48 GMT
  548. Organization: SRI International, Menlo Park, California
  549.  
  550. In article <1992Jun2.181844.3325@visix.com> amanda@visix.com (Amanda Walker) writes:
  551. >mxmora@unix.SRI.COM (Matt Mora) writes:
  552. >> Whenever the new sound manager is finished, will we then be able to read in
  553. >> the audio cd data directly since the new sound manager will support 16 bit
  554. >> audio?
  555.  
  556. >No.  The problem is not the sound manager.
  557.  
  558. >THE PROBLEM IS THE CD DRIVE.  The *only* CD-ROM drive I know of which will
  559. >deliver raw digital audio data over the SCSI bus is the one shipped by Silicon
  560.  
  561. THAT SUCKS! Did Apple drop the ball again? Is this the fault of the hardware
  562. and not the driver? You would think that Apple would have had the fore sight
  563. to create a drive that can read audio data. Or is this some evil plot by
  564. the recording industry from preventing me from making perfect CD copies
  565. using my mac. :-)
  566.  
  567.  
  568.  
  569.  
  570.  
  571. - -- 
  572. ___________________________________________________________
  573. Matthew Mora                |   my Mac  Matt_Mora@sri.com
  574. SRI International           |  my unix  mxmora@unix.sri.com
  575. ___________________________________________________________
  576.  
  577. +++++++++++++++++++++++++++
  578.  
  579. From: des7f@fulton.seas.Virginia.EDU (David E. Sappington)
  580. Date: 3 Jun 92 20:00:54 GMT
  581. Organization: University of Virginia
  582.  
  583. amanda@visix.com (Amanda Walker) writes:
  584. >No.  The problem is not the sound manager.
  585. >
  586. >THE PROBLEM IS THE CD DRIVE.  The *only* CD-ROM drive I know of which will
  587. >deliver raw digital audio data over the SCSI bus is the one shipped by Silicon
  588.  
  589. mxmora@unix.SRI.COM (Matt Mora) writes:
  590. >
  591. >THAT SUCKS! Did Apple drop the ball again? Is this the fault of the hardware
  592. >and not the driver? You would think that Apple would have had the fore sight
  593. >to create a drive that can read audio data. Or is this some evil plot by
  594. >the recording industry from preventing me from making perfect CD copies
  595. >using my mac. :-)
  596. >
  597.  
  598. Don't laugh.  For some time Apple, Inc. (the mac people) was restricted by
  599. Apple Corp. (the old Beatles record company) from making computers that
  600. were too musically inclined.  With the MIDI Manager and talk of 16-bit audio
  601. Apple Corp was beginning to feel a bit litigous.  I believe that some sort
  602. of settlement was reached last year (vague recollection of a MacWeek
  603. article).
  604.  
  605. For those in the know, pardon my possible butchering of the facts.  Of
  606. course this might not have anything to do with Apple's CD-DRIVE (at least now)
  607. but you never know..... [hmmmm]
  608.  
  609. Dave Sappington                     des7f@virginia.edu
  610. Institute for Parallel Computation  des7f@virginia.bitnet
  611. University of Virginia
  612.  
  613. +++++++++++++++++++++++++++
  614.  
  615. From: peirce@outpost.SF-Bay.org (Michael Peirce)
  616. Date: 4 Jun 92 05:18:27 GMT
  617. Organization: Peirce Software
  618.  
  619.  
  620. In article <35631@unix.SRI.COM> (comp.sys.mac.programmer), mxmora@unix.SRI.COM (Matt Mora) writes:
  621. > In article <1992Jun2.181844.3325@visix.com> amanda@visix.com (Amanda Walker) writes:
  622. > >mxmora@unix.SRI.COM (Matt Mora) writes:
  623. > >> Whenever the new sound manager is finished, will we then be able to read in
  624. > >> the audio cd data directly since the new sound manager will support 16 bit
  625. > >> audio?
  626. > >No.  The problem is not the sound manager.
  627. > >THE PROBLEM IS THE CD DRIVE.  The *only* CD-ROM drive I know of which will
  628. > >deliver raw digital audio data over the SCSI bus is the one shipped by Silicon
  629. > THAT SUCKS! Did Apple drop the ball again? Is this the fault of the hardware
  630. > and not the driver? You would think that Apple would have had the fore sight
  631. > to create a drive that can read audio data. Or is this some evil plot by
  632. > the recording industry from preventing me from making perfect CD copies
  633. > using my mac. :-)
  634.  
  635. Actually I think it is an evil plot.  Those people are *very* sensitive
  636. to copyright issues.
  637.  
  638. - --  Michael Peirce      --   peirce@outpost.SF-Bay.org
  639. - --  Peirce Software     --   Suite 301, 719 Hibiscus Place
  640. - --  Makers of...        --   San Jose, California USA 95117
  641. - --                      --   voice: (408) 244-6554 fax: (408) 244-6882
  642. - --     SMOOTHIE         --   AppleLink: peirce & America Online: AFC Peirce
  643.  
  644. +++++++++++++++++++++++++++
  645.  
  646. From: orpheus@reed.edu (P. Hawthorne)
  647. Date: 4 Jun 92 07:58:52 GMT
  648. Organization: Reed College, Portland, Oregon
  649.  
  650.  
  651.   Amanda Walker, amanda@visix.com, reveals:
  652. . The *only* CD-ROM drive I know of which will deliver raw digital audio
  653. . data over the SCSI bus is the one shipped by Silicon Graphics. It is a
  654. . Toshiba drive with custom ROM code which was developed by Toshiba for
  655. . SGI. I understand that Toshiba is allowed to sell the audio data support
  656. . to third parties, but I do not think that they have done so yet.
  657.  
  658.   That's hot.
  659.  
  660.   I wonder if Toshiba has any English docs for the ROMs yet. I also wonder
  661. if there are any of those drives already manufactured, in stock and ready
  662. to ship that are not on their way to SGI.
  663.   Anyone have a phone number?
  664.  
  665.   Toshiba sold submarine silencing tech to the Soviets in the Eighties,
  666. I'll bet they'd be willing to sell SGI audio tech to Mac nerds now...
  667.  
  668.  (Guess I'm not earning any brownie points here, am I? ;^)
  669.  
  670.                             Theus
  671.                         orpheus@reed.edu
  672.  
  673. +++++++++++++++++++++++++++
  674.  
  675. From: andyp@treehouse.UUCP (Andy Peterman)
  676. Date: 4 Jun 92 18:17:36 GMT
  677. Organization: The Treehouse
  678.  
  679. In article <1992Jun3.200054.243@murdoch.acc.Virginia.EDU-> des7f@fulton.seas.Virginia.EDU (David E. Sappington) writes:
  680. - ->amanda@visix.com (Amanda Walker) writes:
  681. - ->>No.  The problem is not the sound manager.
  682. - ->>
  683. - ->>THE PROBLEM IS THE CD DRIVE.  The *only* CD-ROM drive I know of which will
  684. - ->>deliver raw digital audio data over the SCSI bus is the one shipped by Silicon
  685. - ->
  686. - ->mxmora@unix.SRI.COM (Matt Mora) writes:
  687. - ->>
  688. - ->>THAT SUCKS! Did Apple drop the ball again? Is this the fault of the hardware
  689. - ->>and not the driver? You would think that Apple would have had the fore sight
  690. - ->>to create a drive that can read audio data. Or is this some evil plot by
  691. - ->>the recording industry from preventing me from making perfect CD copies
  692. - ->>using my mac. :-)
  693. - ->>
  694. - ->
  695. - ->Don't laugh.  For some time Apple, Inc. (the mac people) was restricted by
  696. - ->Apple Corp. (the old Beatles record company) from making computers that
  697. - ->were too musically inclined.  With the MIDI Manager and talk of 16-bit audio
  698. - ->Apple Corp was beginning to feel a bit litigous.  I believe that some sort
  699. - ->of settlement was reached last year (vague recollection of a MacWeek
  700. - ->article).
  701.  
  702. I think it goes beyond that!  About a year ago I was talking to one of
  703. the CD ROM manufacturers (Toshiba, I think) and they said that we'd
  704. never see the ability to read the raw audio data.  With all the fear the
  705. record companies have created concerning direct digital copying, the
  706. manufacturers don't want to even approach the issue and allow access to
  707. the digital data.  I guess they fear that computer access to that data could
  708. be a sticky copyright issue.  I suppose it would make it easy to steal
  709. digital samples of sounds.
  710.  
  711. - -- 
  712. Andy Peterman                       
  713. treehouse!andyp@gvgpsa.gvg.tek.com  
  714. (916) 273-4569                      
  715.  
  716. +++++++++++++++++++++++++++
  717.  
  718. From: potts@itl.itd.umich.edu (Paul Potts)
  719. Organization: Instructional Technology Laboratory, University of Michigan
  720. Date: Fri, 5 Jun 92 13:09:41 GMT
  721.  
  722. In article <35631@unix.SRI.COM> mxmora@unix.SRI.COM (Matt Mora) writes:
  723.  
  724. >You would think that Apple would have had the fore sight
  725. >to create a drive that can read audio data. Or is this some evil plot by
  726. >the recording industry from preventing me from making perfect CD copies
  727. >using my mac. :-)
  728.  
  729. Yes.
  730.  
  731. (Heck, even if it isn't true, the recording industry probably deserves
  732. the blame somehow).
  733. >
  734. >-- 
  735. >___________________________________________________________
  736. >Matthew Mora                |   my Mac  Matt_Mora@sri.com
  737. >SRI International           |  my unix  mxmora@unix.sri.com
  738. >___________________________________________________________
  739.  
  740.  
  741. - -- 
  742. The essence of OOP: "With all this horse manure, I know there's got to be
  743.                      a pony in here somewhere!"
  744. Paul R. Potts, Software Designer --- potts@itl.itd.umich.edu <--- me!
  745.  
  746. +++++++++++++++++++++++++++
  747.  
  748. From: potts@itl.itd.umich.edu (Paul Potts)
  749. Organization: Instructional Technology Laboratory, University of Michigan
  750. Date: Fri, 5 Jun 92 13:27:32 GMT
  751.  
  752. In article <1992Jun4.075852.17666@reed.edu> orpheus@reed.edu (P. Hawthorne) writes:
  753.  
  754. >
  755. >  Toshiba sold submarine silencing tech to the Soviets in the Eighties,
  756. >I'll bet they'd be willing to sell SGI audio tech to Mac nerds now...
  757.  
  758. Umm, I have no great love for Toshiba, but I wouldn't put the two
  759. activities in the same class. I have nothing but hatred for copy-protection
  760. schemes of any type (and yes, I do purchase the software I use). It seems
  761. to me that making a drive which is incapable of reading the (digital) audio
  762. information while perfectly capable of reading the digital info marked as
  763. data is somehow ... intellectually dishonest? Leave the copyright issues to
  764. the lawyers - data is data. 
  765.  
  766. - -- 
  767. The essence of OOP: "With all this horse manure, I know there's got to be
  768.                      a pony in here somewhere!"
  769. Paul R. Potts, Software Designer --- potts@itl.itd.umich.edu <--- me!
  770.  
  771. +++++++++++++++++++++++++++
  772.  
  773. From: cshotton@oac.hsc.uth.tmc.edu (Chuck Shotton)
  774. Date: 5 Jun 1992 15:09:07 GMT
  775. Organization: U. of Texas Health Science Center at Houston
  776.  
  777. In article <1992Jun5.132732.16525@terminator.cc.umich.edu>, potts@itl.itd.umich.edu (Paul Potts) writes:
  778. [extra stuff munged]
  779.  
  780. > schemes of any type (and yes, I do purchase the software I use). It seems
  781. > to me that making a drive which is incapable of reading the (digital) audio
  782. > information while perfectly capable of reading the digital info marked as
  783. > data is somehow ... intellectually dishonest? Leave the copyright issues to
  784. > the lawyers - data is data. 
  785.  
  786. Someone in net land correct me if I'm wrong, but it seems to me that it's 
  787. simply a software problem. The drive itself can play music AND read computer
  788. data off the same disk. It's very obvious that the data portion (vs. the 
  789. music portion) just appears as one or more audio tracks to regular audio CD players.
  790. Therefore, you'd hope that the music portion would just appear as "strange"
  791. computer data to the CD-ROM side of things.
  792.  
  793. So, why can't a driver (besides the Apple CD one) be written to access the 
  794. CD drive as a "raw" SCSI device and read the music tracks as some foreign
  795. file system?
  796.  
  797. Is there some mutant chunk of hardware (firmware) that actually recognizes
  798. when the head is over music data vs. computer data?
  799.  
  800. Chuck
  801.  
  802. +++++++++++++++++++++++++++
  803.  
  804. From: amanda@visix.com (Amanda Walker)
  805. Organization: Visix Software Inc., Reston, VA
  806. Date: Fri, 5 Jun 92 17:21:23 GMT
  807.  
  808. peirce@outpost.SF-Bay.org (Michael Peirce) writes:
  809. > Actually I think it is an evil plot.  Those people are *very* sensitive
  810. > to copyright issues.
  811.  
  812. Indeed.  SGI manages to get around the current music industry thought police
  813. because their machines do not count as "consumer products," but "professional
  814. engineering workstations."  So, both their CD-ROM and their DAT drive have
  815. audio mode (including recording for the DAT), which is way cool.  I can run
  816. csound on my Indigo, generate a sound file in 2-channel 44.1KHz, and dump
  817. it directly to DAT without any analog stage at all.
  818.  
  819. The fact that I can also use it to make perfect digital copies of CDs and DATs
  820. is balanced by the fact that it costs much more than a pro DAT deck which will
  821. do the same thing.  I don't know if Apple could get away with the same
  822. capabilities in a more consumer-oriented product line.
  823.  
  824.  
  825. Amanda Walker                        amanda@visix.com
  826. Visix Software Inc.                     +1 800 832 8668
  827. - -- 
  828. "Do not meddle in the affairs of wizards, for it makes them soggy and hard
  829.  to light."    --Robert Anton Wilson
  830.  
  831. +++++++++++++++++++++++++++
  832.  
  833. From: ldo@waikato.ac.nz (Lawrence D'Oliveiro, Waikato University)
  834. Date: 9 Jun 92 11:01:39 +1200
  835. Organization: University of Waikato, Hamilton, New Zealand
  836.  
  837. In article <6688@lib.tmc.edu>, cshotton@oac.hsc.uth.tmc.edu (Chuck Shotton) writes:
  838. >
  839. > Someone in net land correct me if I'm wrong, but it seems to me that it's
  840. > simply a software problem. The drive itself can play music AND read computer
  841. > data off the same disk. It's very obvious that the data portion (vs. the
  842. > music portion) just appears as one or more audio tracks to regular audio CD players.
  843. > Therefore, you'd hope that the music portion would just appear as "strange"
  844. > computer data to the CD-ROM side of things.
  845.  
  846. In my limited experiments, this doesn't seem to be the case. CD-ROM data
  847. does indeed look like an audio track--it always seems to be the first track.
  848. If you have any actual audio tracks, they come after the CD-ROM data track.
  849. My CD player is indeed fooled, and will play the CD-ROM data as an audio
  850. track (it sounds *awful*). I gather there is actually some flag bit that
  851. identifies that first track as CD-ROM data, so smarter CD players won't
  852. try to play it.
  853.  
  854. But it doesn't work the other way round. CD-ROM data involves an extra
  855. level of encoding on top of the regular CD audio encoding. This cuts the
  856. error rate from something like 1 in 10**6 (that's an S/N ratio of 120dB,
  857. which is terrific for audio, lousy for data reliability) down to 1 in 10**12.
  858. I think. Anyway, the CD-ROM drive circuitry does the data decoding; in
  859. order to get raw digital CD audio data out of the drive, you'd need some
  860. kind of bypass of that second decoding stage. It doesn't sound like much
  861. to ask, but it's a bit hard to patch into an IC after the fact...
  862.  
  863. Lawrence D'Oliveiro                       fone: +64-7-856-2889
  864. Computer Services Dept                     fax: +64-7-838-4066
  865. University of Waikato            electric mail: ldo@waikato.ac.nz
  866. Hamilton, New Zealand    37^ 47' 26" S, 175^ 19' 7" E, GMT+12:00
  867.  
  868. +++++++++++++++++++++++++++
  869.  
  870. From: jeg@netcom.com (Julian E. Gomez)
  871. Date: Thu, 11 Jun 92 23:55:23 GMT
  872. Organization: Netcom - Online Communication Services  (408 241-9760 guest) 
  873.  
  874. In article <1992Jun2.181844.3325@visix.com> amanda@visix.com (Amanda Walker) writes:
  875. " No.  The problem is not the sound manager.
  876. " THE PROBLEM IS THE CD DRIVE.  The *only* CD-ROM drive I know of which will
  877. " deliver raw digital audio data over the SCSI bus is the one shipped by Silicon
  878. " Graphics.  It is a Toshiba drive with custom ROM code which was developed by
  879. " Toshiba for SGI.  I understand that Toshiba is allowed to sell the audio data
  880. " support to third parties, but I do not think that they have done so yet.
  881.  
  882. As an extension to this post:
  883.  
  884. There are CDROM drives that will deliver the digital audio, such as the
  885. Phillips CM2xx series.  There are two formats for this data: S/PDIF and
  886. AES/xxx (sorry, forgot what the xxx is). These are Sony/Phillips
  887. Digital Interface Format and Audio Engineering Society ...  You
  888. strongly prefer a drive that uses one of these two. Surprisingly, the
  889. CM2xx series are some weird, unique format, rather than S/PDIF.
  890.  
  891. On the Mac, you can interface with the old DigiDesign Sound Tools board
  892. or one of their high end professional products.
  893. - -- 
  894. "We must grasp the bull by the tail, and look the matter squarely in the face!"
  895.  
  896.     Julian "a tribble took it" Gomez
  897.     jeg@netcom.com
  898.  
  899. +++++++++++++++++++++++++++
  900.  
  901. From: jeg@netcom.com (Julian E. Gomez)
  902. Date: Thu, 11 Jun 92 23:57:43 GMT
  903. Organization: Netcom - Online Communication Services  (408 241-9760 guest) 
  904.  
  905. In article <35631@unix.SRI.COM> mxmora@unix.SRI.COM (Matt Mora) writes:
  906. " THAT SUCKS! Did Apple drop the ball again? Is this the fault of the hardware
  907. " and not the driver? You would think that Apple would have had the fore sight
  908. " to create a drive that can read audio data. Or is this some evil plot by
  909. " the recording industry from preventing me from making perfect CD copies
  910. " using my mac. :-)
  911.  
  912. Actually, yes, it is. They fought hard and they fought long and now
  913. there is a bit in the digital audio stream that says "don't copy this
  914. data" and all consumer decks have to obey.
  915. - -- 
  916. "We must grasp the bull by the tail, and look the matter squarely in the face!"
  917.  
  918.     Julian "a tribble took it" Gomez
  919.     jeg@netcom.com
  920.  
  921. ---------------------------
  922.  
  923. End of C.S.M.P. Digest
  924. **********************
  925.